DATA: o_cnt_bottom TYPE REF TO cl_gui_docking_container. DATA: o_cnt_right TYPE REF TO cl_gui_docking_container. DATA: o_alv_bottom TYPE REF TO if_salv_gui_table_ida. DATA: o_alv_right TYPE REF TO if_salv_gui_table_ida. DATA: o_collector_bottom TYPE REF TO cl_salv_range_tab_collector. DATA: o_collector_right TYPE REF TO cl_salv_range_tab_collector. DATA: lv_arbgb TYPE t100-arbgb. DATA: lv_msg TYPE t100-msgnr. DATA: lv_text TYPE t100-text. DATA: lv_mtart TYPE mara-mtart. * Selektionskriterien für T100 SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE title1. SELECT-OPTIONS: s_langu FOR sy-langu. SELECT-OPTIONS: s_arbgb FOR lv_arbgb. SELECT-OPTIONS: s_msg FOR lv_msg. SELECT-OPTIONS: s_text FOR lv_text. SELECTION-SCREEN END OF BLOCK b1. * Selektionskriterien für MARA SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE title2. SELECT-OPTIONS: s_mtart FOR lv_mtart. SELECTION-SCREEN END OF BLOCK b2. AT SELECTION-SCREEN OUTPUT. * Verhindern, dass der Container mehrfach erzeugt wird, wenn der Focus aus * best. Oberflächenelementen zurück kommt. IF NOT o_cnt_bottom IS BOUND. * Container unten erzeugen o_cnt_bottom = NEW #( repid = sy-repid dynnr = sy-dynnr side = cl_gui_docking_container=>dock_at_bottom " unterer Bildschirmrand extension = 300 ). " 300 hoch, damit die Selektionskriterien nicht überdeckt werden * Container rechts erzeugen o_cnt_right = NEW #( repid = sy-repid dynnr = sy-dynnr side = cl_gui_docking_container=>dock_at_right " rechter Bildschirmrand extension = 800 ). " 800 breit, damit die Selektionskriterien nicht überdeckt werden * IDA-Grid unten erzeugen o_alv_bottom = cl_salv_gui_table_ida=>create( iv_table_name = 'MARA' io_gui_container = o_cnt_bottom ). o_alv_bottom->display_options( )->set_title( 'MARA' ). * IDA-Grid rechts erzeugen o_alv_right = cl_salv_gui_table_ida=>create( iv_table_name = 'T100' io_gui_container = o_cnt_right ). o_alv_right->display_options( )->set_title( 'T100' ). * Suchkriterien unten setzen o_collector_bottom = NEW #( ). o_collector_bottom->add_ranges_for_name( iv_name = 'MTART' it_ranges = s_mtart[] ). o_collector_bottom->get_collected_ranges( IMPORTING et_named_ranges = DATA(it_name_range_pairs_bottom) ). o_alv_bottom->set_select_options( it_ranges = it_name_range_pairs_bottom ). * Suchkriterien rechts setzen o_collector_right = NEW #( ). o_collector_right->add_ranges_for_name( iv_name = 'SPRSL' it_ranges = s_langu[] ). o_collector_right->add_ranges_for_name( iv_name = 'ARBGB' it_ranges = s_arbgb[] ). o_collector_right->add_ranges_for_name( iv_name = 'MSGNR' it_ranges = s_msg[] ). o_collector_right->add_ranges_for_name( iv_name = 'TEXT' it_ranges = s_text[] ). o_collector_right->get_collected_ranges( IMPORTING et_named_ranges = DATA(it_name_range_pairs_right) ). o_alv_right->set_select_options( it_ranges = it_name_range_pairs_right ). ENDIF.
Kategorien
-
Neueste Beiträge
- [ABAP] Prüfen, ob ein bestimmer Festwert in einer Domäne vorhanden ist
- [SAP] Drucker für Benutzer festlegen
- [SAP Fiori] Fiori Launchpad erweitern, Systeminformationen im Launchpad anzeigen
- [SAP Gateway] ODATA V4 Service für anonymen Zugriff einrichten
- [ABAP] Varianten eines Reports lesen
- Warum Krebspatienten so viel Gewicht verlieren
- [SAP Fiori] ABAP RESTful Application Programming Model (RAP)
- [SAP] Events und Typkoppelungen
- [SAP Gateway] Daten versenden über einen eventbasierten Aufruf einer OData-Funktion
- [ABAP] SE80: Tricks für den ABAP-Editor