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)


 
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  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.


 
=========================================================
FORM set_pf_status USING rt_extab TYPE slis_t_extab.

  " 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)


 
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  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.



=========================================================
FORM set_pf_status USING rt_extab TYPE slis_t_extab.

  " Die Funktionscodes Layout auswählen
  SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.

ENDFORM.
======================================================


        search this website

Regotz Michel