ALV GRID Button einblenden
Schritt 1:
Beim Aufruf des ALV musst du ein Programm+FORM-Routine angeben,
die das Steuern des GUI-Status übernimmt, Name sei z.B. SET_PF_STATUS (in deinem aktuellen Programm = sy-repid)
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
Schritt 2:
Die FORM-Routine SET_PF_STATUS implementieren, s.u.
Die ersten beiden Anweisungen dienen dazu, das Ausblenden der beiden Funktionscodes zu verhindern.
Wenn du das im Debugger verfolgst, wirst du bemerken, dass dort über 50 Funktionscodes im Standard ausgeblendet werden.
Dass diese beiden Funktionscodes („Layout auswählen“ und „Layout sichern“ &OAD bzw. &AVE heissen, das habe ich beim Debuggen herausgefunden ;-)
Dazu habe ich die Tabelle rt_extab genau an dieser Stelle gelöscht, dann sind alle Ikonen im ALV-Grid aufgetaucht und ich konnte z.B.
Die Ikone Layout sichern drücken und im Debugger herausfinden, dass ok_code = &AVE gesetzt wurde
Die dritte Anweisung „SET PF-STATUS“ ist ganz wichtig, ohne diese hat der ALV-GRID keine Funktionstasten.
In diesem Falle habe ich den „Standard“-GUI-Status gesetzt, wie er auftaucht, wenn ich diese FORM-Routine n i c h t anspringe,
das ist der GUI-Status STANDARD_FULLSCREEN der Funktionsgruppe KKBL, auch das kann man via Debugger herausfinden.
" Die Funktionscodes Layout auswählen und Layout sichern n i c h t ausblenden
DELETE rt_extab WHERE fcode = '&OAD'.
DELETE rt_extab WHERE fcode = '&AVE'.
SET PF-STATUS 'STANDARD_FULLSCREEN' EXCLUDING rt_extab OF PROGRAM 'SAPLKKBL'.
ENDFORM.
Eigener Button hinzufügen
Schritt 1:
Beim Aufruf des ALV musst du ein Programm+FORM-Routine angeben,
die das Steuern des GUI-Status übernimmt, Name sei z.B. SET_PF_STATUS (in deinem aktuellen Programm = sy-repid)
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
Schritt 2:
Die FORM-Routine SET_PF_STATUS implementieren, s.u.
Kopieres aus dem Programm SAPLSLVC_FULLSCREEN den GUI Status (STANDARD_FULL_SCREEN) in dein Programm (ZSTANDARD_FULL_SCREEN). Nun kannst du in deinem Eigenen Gui Status den Button Hinzufügen.
" Die Funktionscodes Layout auswählen
SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.
ENDFORM.