Welcher ALV (OO, REUSE; LVC; OM)?phil1982 hat geschrieben:Hallo zusammen ich habe eine Listausgabe durch ein ALV Grid dargestellt.
Wenn REUSE oder LVC muss zum einen der Parameter I_CALLBACK_PROGRAM mit dem Programmnamen belegt werden.phil1982 hat geschrieben: Meine Frage ist, wie bekomme ich durch Doppelklick auf das Ikon die Verzweigung hin?
Code: Alles auswählen.
form anzeige_alv_grid.
data:
it_excluding type standard table of slis_extab,
*** neue Variable für den Programmnamen mit dem Programmnamen
l_progid TYPE sy-progid VALUS sy-progid.
***
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
*** neue Parameter
I_CALLBACK_PROGRAM = grepid
I_CALLBACK_USER_COMMAND = 'CALLBACK_USER_COMMAND''
***
is_layout = gs_layout
it_fieldcat = it_fieldcat
it_excluding = it_excluding
tables
t_outtab = it_erg_alv
exceptions
program_error = 1
others = 2
.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " anzeige_alv_grid
***neue form
FORM CALLBACK_USER_COMMAND USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
IF r_ucomm = '&IC1'. "gab es einen Doppelklick?
IF rs_selfield-fieldname = 'ICON'. "Wo war der Doppelklick
MESSEAG 'Doppelklick auf Icon' TYPE 'I'.
* Um an die Daten der Zeile zu kommen
READ TABLE it_erg_alv INDEX rs_selfield-tabindex.
ENDIF.
ENDIF.
ENDFORM.
***
Bei semantischen Fehlern hilft der Syntaxcheck auch nicht weiter.phil1982 hat geschrieben:.Syntaxcheck bring keine Fehler, aber der Doppelklick funktioniert nicht.
Code: Alles auswählen.
***Entweder:
l_progid TYPE sy-repid.
l_progid = sy-repid.
*** Oder
l_progid TYPE sy-repid VALUE sy-repid.