‎2008 Mar 05 8:30 AM
hi experts
i want to add a button in the default selection screen e.g. 1000 that triggers an event in my program
how do i do this.
thanks
amit
‎2008 Mar 05 8:36 AM
see code below this will add two buttons on application bar of your selection screen.these two buttons have ok_code FC01 & FC02 by default.
TYPE-POOLS: icon.
TABLES : sscrfields , stpox .
DATA : functxt TYPE smp_dyntxt.
----
S E L E C T I O N - S C R E E N *
----
SELECTION-SCREEN BEGIN OF BLOCK v1 WITH FRAME TITLE text-001.
PARAMETERS : p_matnr TYPE mast-matnr,
p_werks TYPE mast-werks,
p_stlan TYPE mast-stlan,
p_stlal TYPE mast-stlal.
SELECTION-SCREEN END OF BLOCK v1.
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.
----
I N I T I A L I Z A T I O N *
----
INITIALIZATION.
functxt-icon_id = icon_overview.
functxt-quickinfo = 'Item Overview'.
functxt-icon_text = 'Item'.
sscrfields-functxt_01 = functxt.
functxt-icon_id = icon_header.
functxt-icon_text = ''.
functxt-quickinfo = 'BOM Header'.
sscrfields-functxt_02 = functxt.
----
A T S E L E C T I O N S C R E E N *
----
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'FC01'.
table_control-top_line = 1.
table_control1-top_line = 1.
table_control2-top_line = 1.
CALL SCREEN 1001.
WHEN 'FC02'.
CALL SCREEN 1005.
ENDCASE.
plz reward if useful
vivek
‎2008 Mar 05 8:36 AM
see code below this will add two buttons on application bar of your selection screen.these two buttons have ok_code FC01 & FC02 by default.
TYPE-POOLS: icon.
TABLES : sscrfields , stpox .
DATA : functxt TYPE smp_dyntxt.
----
S E L E C T I O N - S C R E E N *
----
SELECTION-SCREEN BEGIN OF BLOCK v1 WITH FRAME TITLE text-001.
PARAMETERS : p_matnr TYPE mast-matnr,
p_werks TYPE mast-werks,
p_stlan TYPE mast-stlan,
p_stlal TYPE mast-stlal.
SELECTION-SCREEN END OF BLOCK v1.
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.
----
I N I T I A L I Z A T I O N *
----
INITIALIZATION.
functxt-icon_id = icon_overview.
functxt-quickinfo = 'Item Overview'.
functxt-icon_text = 'Item'.
sscrfields-functxt_01 = functxt.
functxt-icon_id = icon_header.
functxt-icon_text = ''.
functxt-quickinfo = 'BOM Header'.
sscrfields-functxt_02 = functxt.
----
A T S E L E C T I O N S C R E E N *
----
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'FC01'.
table_control-top_line = 1.
table_control1-top_line = 1.
table_control2-top_line = 1.
CALL SCREEN 1001.
WHEN 'FC02'.
CALL SCREEN 1005.
ENDCASE.
plz reward if useful
vivek
‎2008 Mar 05 8:36 AM
Hi,
Chk this code..This code creates 5 buttons, u can chage it according to ur need..
TABLES SSCRFIELDS.
PARAMETERS : A(10), B(10).
SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN FUNCTION KEY 2.
SELECTION-SCREEN FUNCTION KEY 3.
SELECTION-SCREEN FUNCTION KEY 4.
SELECTION-SCREEN FUNCTION KEY 5.
INITIALIZATION.
SSCRFIELDS-FUNCTXT_01 = 'DATA Dictionary'.
SSCRFIELDS-FUNCTXT_02 = 'Object Navigator'.
SSCRFIELDS-FUNCTXT_03 = 'Function Module'.
SSCRFIELDS-FUNCTXT_04 = 'ABAP Editor'.
SSCRFIELDS-FUNCTXT_05 = 'Exit'.
AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'FC02'.
CALL TRANSACTION 'SE80'.
WHEN 'FC01'.
CALL TRANSACTION 'SE11'.
WHEN 'FC03'.
CALL TRANSACTION 'SE37'.
WHEN 'FC04'.
CALL TRANSACTION 'SE38'.
WHEN 'FC05'.
LEAVE PROGRAM.
ENDCASE.
Hope this helps u,
Regards,
Arunsri
‎2008 Mar 05 8:43 AM
There are 2 buttons : Push button and Radio button.
For push button, try the following code.
DATA FLAG TYPE I VALUE '0'.
PARAMETER A(10).
SKIP 4.
SELECTION-SCREEN PUSHBUTTON 10(20) PB1 USER-COMMAND P1.
SELECTION-SCREEN PUSHBUTTON 40(20) PB2 USER-COMMAND P2.
INITIALIZATION.
PB1 = 'BUT1'.
PB2 = 'BUT2'.
AT SELECTION-SCREEN.
AT USER-COMMAND.
IF SY-UCOMM = 'P1'.
*LEAVE TO LIST-PROCESSING.
*WRITE : / 'BUTTON 1 IS CLICKED'.
*MESSAGE 'BUT 1 PRESSED' TYPE 'I'.
FLAG = 1.
ELSEIF SY-UCOMM = 'P2'.
*LEAVE TO LIST-PROCESSING.
*WRITE : / 'BUTTON 2 IS CLICKED'.
*MESSAGE 'BUT 2 PRESSED' TYPE 'I'.
FLAG = 2.
ENDIF.
*WHEN 'OTHERS'.
*MESSAGE 'NO BUTTON PRESSED' TYPE 'I'.
*FLAG = 0.
*ENDCASE.
START-OF-SELECTION.
IF FLAG = 1.
WRITE : / SY-UCOMM.
WRITE : / 'BUTTON 1 IS CLICKED'.
ELSEIF FLAG = 2.
WRITE : / SY-UCOMM.
WRITE : / 'BUTTON 2 IS CLICKED'.
ELSE.
WRITE : / SY-UCOMM.
WRITE : / 'NO BUTTON PRESSED'.
ENDIF.
In the same place of push buttons, you can declare radio buttons:
PARAMETERS : rb1 RADIOBUTTON GROUP X, rb2 RADIOBUTTON GROUP X.
IF rb1 = 'x'.
message Success' type 's'.