2006 Sep 29 9:57 AM
Hi, I'm not able to get any output for the below code.
SELECTION-SCREEN BEGIN OF BLOCK TT WITH FRAME TITLE TEXT-004.
PARAMETERS : X(15) TYPE C DEFAULT 'HI SAPERS'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-000.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON 1(10) TEXT-001 USER-COMMAND pb01.
SELECTION-SCREEN PUSHBUTTON 20(10) TEXT-002 USER-COMMAND pb02.
SELECTION-SCREEN END OF BLOCK TT.
*DATA: OK_CODE LIKE SY-UCOMM.
AT SELECTION-SCREEN.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'PB01'.
write:/ 'hello'.
WRITE : / 'STRING ENTERED IS :', X.
WHEN 'PB02'.
LEAVE PROGRAM.
ENDCASE.
WRITE : / '!! AFTER EVENT !!'.
ty
Hi, I'm not able to get any output for the below code.
SELECTION-SCREEN BEGIN OF BLOCK TT WITH FRAME TITLE TEXT-004.
PARAMETERS : X(15) TYPE C DEFAULT 'HI SAPERS'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-000.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON 1(10) TEXT-001 USER-COMMAND pb01.
SELECTION-SCREEN PUSHBUTTON 20(10) TEXT-002 USER-COMMAND pb02.
SELECTION-SCREEN END OF BLOCK TT.
*DATA: OK_CODE LIKE SY-UCOMM.
AT SELECTION-SCREEN.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'PB01'.
write:/ 'hello'.
WRITE : / 'STRING ENTERED IS :', X.
WHEN 'PB02'.
LEAVE PROGRAM.
ENDCASE.
WRITE : / '!! AFTER EVENT !!'.
ty
2006 Sep 29 10:02 AM
Ater AT SELECTION SCREEN insert this code
START-OF-SELECTION.
END-OF-SELECTION.
WRITE 😕 'report output'.
Now you should see the output.
Regards,
Ravi
2006 Sep 29 10:02 AM
hi,
AT user-command event doesnt get triggered when you click buttons on selection screen.
Regards,
Sailaja.
2006 Sep 29 10:19 AM
If AT user-command event doesnt get triggered when you click buttons on selection screen. then how to trigger them...
the other options are not working
thx for ur suggestions guys.
2006 Sep 29 10:51 AM
Hi
Check below sample code.
TABLES sscrfields.
DATA flag(1) TYPE c.
SELECTION-SCREEN:
BEGIN OF LINE,
PUSHBUTTON 2(10) but1 USER-COMMAND cli1,
PUSHBUTTON 12(10) but2 USER-COMMAND cli2,
END OF LINE,
BEGIN OF LINE,
PUSHBUTTON 2(10) but3 USER-COMMAND cli3,
PUSHBUTTON 12(10) but4 USER-COMMAND cli4,
END OF LINE.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'CLI1'.
flag = '1'.
WHEN 'CLI2'.
flag = '2'.
WHEN 'CLI3'.
flag = '3'.
WHEN 'CLI4'.
flag = '4'.
ENDCASE.
INITIALIZATION.
MOVE: 'Button1' to but1,
'Button2' to but2,
'Button3' to but3,
'Button4' to but4.
START-OF-SELECTION.
CASE flag.
WHEN '1'.
WRITE / 'Button 1 was clicked'.
WHEN '2'.
WRITE / 'Button 2 was clicked'.
WHEN '3'.
WRITE / 'Button 3 was clicked'.
WHEN '4'.
WRITE / 'Button 4 was clicked'.
WHEN OTHERS.
WRITE / 'No Button was clicked'.
ENDCASE.Note that WRITE statements will not work in AT SELECTION-SCREEN events, alternativey you can use some popup to display the same.
You can also check demo program: DEMO_SEL_SCREEN_PUSHBUTTON
Hope this clarifies you.
Kind Regards
Eswar
2006 Sep 29 10:05 AM
HI,
SELECTION-SCREEN BEGIN OF BLOCK TT WITH FRAME TITLE TEXT-004.
PARAMETERS : X(15) TYPE C DEFAULT 'HI SAPERS'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-000.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON 1(10) TEXT-001 USER-COMMAND pb01.
SELECTION-SCREEN PUSHBUTTON 20(10) TEXT-002 USER-COMMAND pb02.
SELECTION-SCREEN END OF BLOCK TT.
*DATA: OK_CODE LIKE SY-UCOMM.
AT SELECTION-SCREEN.
<b>start-of-selection.</b>
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'PB01'.
write:/ 'hello'.
WRITE : / 'STRING ENTERED IS :', X.
WHEN 'PB02'.
LEAVE PROGRAM.
ENDCASE.
WRITE : / '!! AFTER EVENT !!'.
Regards
amole
2006 Sep 29 10:08 AM
hi, U have to defind function code for that push button by the statement SET PF-STATUS .That function code u can trap in At USER-COMMAND. watch bellow example for help
REPORT demo_at_user_command.
START-OF-SELECTION.
SET PF-STATUS 'MYLIST'.
WRITE 'List line'.
AT USER-COMMAND.
IF sy-lsind = 20.
SET PF-STATUS 'MYLIST' EXCLUDING 'MY_SELECTION'.
ENDIF.
CASE sy-ucomm.
WHEN 'MY_SELECTION'.
WRITE: / 'You worked on list', sy-listi,
/ 'You are on list', sy-lsind.
...
ENDCASE.
program works with a self-defined GUI status MYLIST. The function that is linked there with the function code MY_SELECTION causes the event AT USER-COMMAND during list display and also creates details lists.
2006 Sep 29 10:11 AM
The best way of reacting to the pushbutton is in the AT SELECTION-SCREEN event. The field SSCRFIELDS-UCOMM contains the user command ucom. You need to declare the SSCRFIELDS table using the TABLES statement.
Use this piece of code in you program and check.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'PB01'.
ENDCASE.
2006 Sep 29 10:16 AM
Hi,
use bwlow logic
<b>TABLES SSCRFIELDS.</b>
SELECTION-SCREEN BEGIN OF BLOCK TT WITH FRAME TITLE TEXT-004.
PARAMETERS : X(15) TYPE C DEFAULT 'HI SAPERS'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-000.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON 1(10) TEXT-001 USER-COMMAND PB01.
SELECTION-SCREEN PUSHBUTTON 20(10) TEXT-002 USER-COMMAND PB02.
SELECTION-SCREEN END OF BLOCK TT.
*DATA: OK_CODE LIKE SY-UCOMM.
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'PB01'.
<b>LEAVE TO LIST-PROCESSING.</b>
WRITE:/ 'hello'.
WRITE : / 'STRING ENTERED IS :', X.
WHEN 'PB02'.
LEAVE PROGRAM.
ENDCASE.
regards
amole
2006 Sep 29 10:28 AM
PL check this <a href="http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/dba81635c111d1829f0000e829fbfe/frameset.htm">SAP Help</a>.. there is also demo code in it..
~Suresh
2006 Sep 29 10:30 AM
HI,
Start-of-selection gets triggered only when you click button with Fcode ONLI. so, i have set the same fcode to my button on selection screen.
Change your code like this.
SELECTION-SCREEN BEGIN OF BLOCK TT WITH FRAME TITLE TEXT-004.
PARAMETERS : X(15) TYPE C DEFAULT 'HI SAPERS'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-000.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON 1(10) TEXT-001 USER-COMMAND <b>onli</b>.
SELECTION-SCREEN PUSHBUTTON 20(10) TEXT-002 USER-COMMAND pb02.
SELECTION-SCREEN END OF BLOCK TT.
at selection-screen.
CASE SY-ucomm.
<b>WHEN 'ONLI'.
*write:/ 'hello'.
*WRITE : / 'STRING ENTERED IS :', X.</b>
WHEN 'PB02'.
LEAVE PROGRAM.
ENDCASE.
<b>start-of-selection.
write:/ 'hello'.
WRITE : / 'STRING ENTERED IS :', X.</b>
WRITE : / '!! AFTER EVENT !!'.
Regards,
Sailaja.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |