Code: Alles auswählen.
" Als Mockup für die Datenbank
types:
begin of data_to_show,
id type int8,
text type string,
end of data_to_show.
data:
alv_fieldcat type slis_t_fieldcat_alv,
alv_fieldcat_row type slis_fieldcat_alv,
alv_layout type slis_layout_alv,
alv_repid like sy-repid.
data:
data_to_show_db type table of data_to_show,
data_to_show_row like line of data_to_show_db.
perform build_fieldcatalog.
perform get_data.
perform show_alv.
form build_fieldcatalog.
clear alv_fieldcat.
alv_fieldcat = value #(
( fieldname = 'ID' seltext_m = 'ID' col_pos = 0 edit = abap_true outputlen = 10 )
( fieldname = 'TEXT' seltext_m = 'Text' col_pos = 0 edit = abap_true outputlen = 10 )
).
endform.
form get_data.
" SELECT * FROM db into table @data_to_show
perform append_empty_rows using 1.
endform.
form append_empty_rows
using row_count type int8.
do row_count times.
clear data_to_show_row.
append data_to_show_row to data_to_show_db.
enddo.
endform.
form show_alv.
alv_repid = sy-repid.
alv_layout-zebra = abap_true.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = alv_repid "Name des aufrufenden Programms
i_callback_user_command = 'USER_COMMAND_0100' "EXIT-Routine zur Befehlsbehandlung
is_layout = alv_layout
it_fieldcat = alv_fieldcat
tables
t_outtab = data_to_show_db
exceptions
program_error = 1
others = 2.
endform.
form user_command_0100
using p_ucommand type sy-ucomm
p_selfield type slis_selfield.
case p_ucommand.
when '&DATA_SAVE'.
perform save_alv_data_to_db.
perform append_empty_rows using 1.
perform show_alv.
when others.
leave to screen 0.
endcase.
endform.
form save_alv_data_to_db.
" Daten persistieren
endform.
Du legst ja auch ALV über ALV über ALV ,-)Radinator hat geschrieben: ↑12.02.2025 15:05Wenn ich das jedoch mache, dann muss ich mit F12 und/oder F3 (wenn man mehrmals Strg+S drückt) zurück springen um das Programm zu beenden. Ich hab schon mit einem Breakpoint geschaut ob das Command bzw der Handler reagiert wenn ich F12/F3 drücke - tut er nicht.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Radinator