Code: Alles auswählen.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) text-t09.
SELECT-OPTIONS: gr_abc1 FOR tab-abc1.
SELECTION-SCREEN COMMENT 57(6) text-t10.
SELECT-OPTIONS: gr_abc2 FOR tab-abc2.
Code: Alles auswählen.
REPORT.
DATA h_bukrs TYPE bukrs.
DATA h_land1 TYPE land1.
selection-screen pushbutton /1(20) text-010 user-command PUSH.
SELECTION-SCREEN BEGIN OF SCREEN 1.
SELECT-OPTIONS s_bukrs FOR h_bukrs.
SELECT-OPTIONS s_land1 FOR h_land1.
SELECTION-SCREEN END OF SCREEN 1.
AT SELECTION-SCREEN.
IF sy-ucomm = 'PUSH'.
CALL SELECTION-SCREEN 1 STARTING AT 1 1 ENDING AT 150 30.
ENDIF.
Habe ich auch nur irgendwoher kopiert. Ohne Sinn und Verstand. Sorry!hausi hat geschrieben:Lösung 5: hab ich leider nicht ganz verstanden sry
Code: Alles auswählen.
REPORT.
CLASS lcl_main DEFINITION DEFERRED.
DATA gs_t005t TYPE t005t.
SELECT-OPTIONS s_land1 FOR gs_t005t-land1.
CLASS lcl_main DEFINITION.
PUBLIC SECTION.
CLASS-METHODS go.
PROTECTED SECTION.
CLASS-DATA mt_data TYPE STANDARD TABLE OF t005t.
CLASS-DATA ms_data LIKE LINE OF mt_data.
CLASS-DATA mr_box TYPE REF TO cl_gui_dialogbox_container.
CLASS-DATA mr_salv_table TYPE REF TO cl_salv_table.
CLASS-METHODS box.
CLASS-METHODS select.
CLASS-METHODS display.
CLASS-METHODS box_close FOR EVENT close OF cl_gui_dialogbox_container.
ENDCLASS.
CLASS lcl_main IMPLEMENTATION.
METHOD go.
select( ).
display( ).
ENDMETHOD.
METHOD select.
SELECT * FROM t005t INTO TABLE mt_data
WHERE land1 IN s_land1
AND spras = sy-langu.
ENDMETHOD.
METHOD display.
box( ).
IF mr_salv_table IS INITIAL.
TRY.
cl_salv_table=>factory(
EXPORTING
r_container = mr_box
IMPORTING
r_salv_table = mr_salv_table
CHANGING
t_table = mt_data
).
mr_salv_table->display( ).
CATCH cx_salv_msg .
ENDTRY.
ELSE.
mr_salv_table->refresh( ).
ENDIF.
ENDMETHOD.
METHOD box.
IF mr_box IS INITIAL.
CREATE OBJECT mr_box
EXPORTING
width = 1800
height = 800
top = 10
left = 100.
SET HANDLER box_close FOR mr_box.
ELSE.
mr_box->set_visible( abap_true ).
ENDIF.
ENDMETHOD.
METHOD box_close.
mr_box->set_visible( abap_false ).
ENDMETHOD.
ENDCLASS.
AT SELECTION-SCREEN.
lcl_main=>go( ).
Ja, das ist ein lustiger Geselle...a-dead-trousers hat geschrieben:Es gäbe auch die Möglichkeit einen Dynpro-Splitter zu verwenden.
Damit ließe sich der Bereich mit den SELECT-OPTIONS variabel verkleinern.
Einfach im oberen Subscreen den Selection-Screen einblenden und im unteren ein Dynpro mit dem ALV Grid.
(Siehe CL_DYNPRO_SPLITTER und ABAP Hilfe)
Das wird zum Beispiel im neuen Debugger verwendet.
lg ADT
Code: Alles auswählen.
Element SPLITTER in DEMO_DYNPRO_SPLITTER_CONTROL 0100 ist ein Splitter
Control; Bearbeitung nicht möglich
Meldungsnr. 37052
Diagnose
Zurzeit kann der Grafische Layout Editor Splitter Controls noch nicht
bearbeiten.
Systemaktivitäten
Sie gelangen automatisch in den Alphanumerischen Layout Editor.
Vorgehen
Bearbeiten Sie die Elemente des Dynpros im Alphanumerischen Layout
Editor oder in der Elementliste.
Okay, das mit dem "unhandlichen" anlegen des Splitters ist ein Problem, das geb ich zu, aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?ewx hat geschrieben:Aber da ein Grid zur Darstellung verwendet wird, ist dieser Splitter eh nicht praktikabel.
Weil du in "deinem" Splitter einen Subscreen anlegen müsstest, der ein Custom-Control enthält, in dem du einen Custom-Container verwenden musst in den dann der ALV kann.a-dead-trousers hat geschrieben:[...] aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?
Klar, das ist aufwändig, aber meines Erachtens nicht unbedingt unpraktikabel.ewx hat geschrieben:Weil du in "deinem" Splitter einen Subscreen anlegen müsstest, der ein Custom-Control enthält, in dem du einen Custom-Container verwenden musst in den dann der ALV kann.a-dead-trousers hat geschrieben:[...] aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?
Wenn du einfach einen Docker verwendest, kann der ALV direkt in diesen Container.
Du hast Recht. Ich hatte das bisher gar nicht erkannt, dass er es IN dem Tabstrip haben möchte. Das käme für mich aber auch nicht in Frage, wenn es Platzprobleme gibt.a-dead-trousers hat geschrieben:[...] möchte er ja beides (Selektion und Ergebnis) in einem Tabstrip gelöst bekommen was mit dem Docker meines Wissens nicht geht.
Code: Alles auswählen.
SELECTION-SCREEN COMMENT 1(7) text-t01.
"Select-Option
SELECTION-SCREEN COMMENT 58(7) text-t02.
"Select-Option