Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

adding button

Former Member
0 Likes
1,472

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
971

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

3 REPLIES 3
Read only

Former Member
0 Likes
972

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

Read only

Former Member
0 Likes
971

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

Read only

Former Member
0 Likes
971

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'.