This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
Self-defined function codes are all those that include character combinations, except for the following:
The function codes "PICK" and "PFnn" ("nn"stands for 01 to 24) do not cause the event AT
USER-COMMAND, but the events
All function codes that start with the character "%" are interpreted as system functions and do not
cause the event
AT USER-COMMAND. The system functions for lists are listed in the following table 1.
The function codes in the following table 2, likewise, do not cause the event
AT USER-COMMAND, but are handled by the list processor.
|%CTX||Call a context menu|
|%PC||Save to file|
|%SC||Search for ...|
|%SL||Search in office|
|%ST||Save to report tree|
|P-||Scroll to previous page|
|P--||Scroll to first page|
|P+||Scroll to next page|
|P++||Scroll to last page|
|PFILE name||Store list lines in a text file named "abap.lst" in standard character representation in the standard directory of theapplication server.If a name is entered using name, this is converted to lowercase letters and used as the file name.|
|PL-||Scroll to first line of the page|
|PL-n||Scroll n lines back|
|PL+||Scroll to last line of the page|
|PL+n||Scroll n lines up|
|PP-||Scroll back one page|
|PP-n||Scroll n pages back|
|PP+||Scroll one page forward|
|PP+n||Scroll n pages forwad|
|PPn||Scroll to beginning of page n|
|PS--||Scroll to first column|
|PS++||Scroll to last column|
|PS-||Scroll one column to the left|
|PS-n||Scroll n columns to the left|
|PS+||Scroll one column to the right|
|PS+n||Scroll n columns to the right|
|PSn||Scroll to column n|
|PZn||Scroll to line n|
This 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.
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.