Control in ABAP-Liste
Ich habe vor kurzem ein altes Programm von mir wiedergefunden und gemerkt, dass ich noch gar nichts darüber geschrieben habe…
Am besten zeige ich, worum es geht:
Zu sehen ist eine mit WRITE erzeugte Liste in der zwei Controls (Picture-Control und SALV-Table) eingebunden sind.
Wie ist sowas möglich? Keine Ahnung, aber es geht. Was nicht geht: Bei AT LINE-SELECTION kann man zwar die Controls unsichtbar schalten, aber danach gibt es keine Möglichkeit mehr, sie beim Zurückspringen in die Grundliste wieder sichtbar zu machen.
Code
REPORT NO STANDARD PAGE HEADING.
DATA:
go_cont_pic TYPE REF TO cl_gui_custom_container,
go_cont_alv TYPE REF TO cl_gui_custom_container,
go_pic TYPE REF TO cl_gui_picture,
gt_data TYPE spfli_tab,
go_alv TYPE REF TO cl_salv_table.
AT LINE-SELECTION.
go_cont_pic->set_visible( space ).
go_cont_alv->set_visible( space ).
WRITE: / 'Double click on a list line'.
START-OF-SELECTION.
WRITE: /5 'WARNING', at 20 'Check your flights'.
PERFORM pic.
PERFORM grid.
skip to line 9.
WRITE 'additional text'.
FORM pic.
CHECK go_cont_pic IS NOT BOUND.
CREATE OBJECT go_cont_pic
EXPORTING
container_name = ''
repid = 'SAPMSSY0'
dynnr = '0120'.
go_cont_pic->set_top( 10 ).
go_cont_pic->set_left( 10 ).
go_cont_pic->set_width( 100 ).
go_cont_pic->set_height( 52 ).
go_pic = new #( parent = go_cont_pic ).
go_pic->load_picture_from_sap_icons( icon_warning ).
go_pic->set_display_mode( go_pic->display_mode_stretch ).
ENDFORM.
FORM grid.
CHECK go_cont_alv IS NOT BOUND.
CREATE OBJECT go_cont_alv
EXPORTING
container_name = ''
repid = 'SAPMSSY0'
dynnr = '0120'.
go_cont_alv->set_top( 10 ).
go_cont_alv->set_left( 150 ).
go_cont_alv->set_width( 800 ).
go_cont_alv->set_height( 50 ).
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_data UP TO 2 ROWS.
TRY.
cl_salv_table=>factory(
EXPORTING
r_container = go_cont_alv
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = gt_data
).
go_alv->display( ).
CATCH cx_salv_msg. "
ENDTRY.
ENDFORM.
Letzte Artikel von Enno Wulff (Alle anzeigen)
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024