undNr.1 wird immer das selbe Layout benötigt, bei Nr. 2 ist es von Anwender zu Anwender unterschiedlich.
sind nicht das selbe.da es nur 2 Layouts gibt
muss das über popups gelöst werden? Das Vorgehen hat so seine Nachteile, zum Beispiel in der Batch-Verarbeitung. Du könntest das auch komplett über das Selektionsbild steuern, zum Beispiel so:Vittel hat geschrieben: Am Anfang wählt man direkt, in einem POPUP_TO_CONFIRM, aus welche Art man von Testdaten haben will, ABC oder DEF, entscheidet man sich für DEF soll diese Layout abfrage kommen.
Code: Alles auswählen.
REPORT ztest.
PARAMETERS: r_abc RADIOBUTTON GROUP 1 DEFAULT 'X' USER-COMMAND xnli,
r_def RADIOBUTTON GROUP 1.
PARAMETERS: p_vari LIKE disvariant-variant DEFAULT 'Anzvar1'.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_VARI'.
IF r_abc = 'X'.
screen-input = '0'.
p_vari = 'Anzvar1'.
ELSE.
screen-input = '1'.
p_vari = 'Anzvar2'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
TYPES: BEGIN OF t_vari,
anzvar LIKE disvariant-variant,
END OF t_vari.
DATA: it_vari TYPE STANDARD TABLE OF t_vari,
wa_vari LIKE LINE OF it_vari.
wa_vari-anzvar = 'Anzvar1'. APPEND wa_vari to it_vari.
wa_vari-anzvar = 'Anzvar2'. APPEND wa_vari to it_vari.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ANZVAR'
value_org = 'S'
TABLES
value_tab = it_vari
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
welchen Baustein verwendest du in dem Report mit dem der ALV erzeugt wird? Die Anzeigevariante wird an den Baustein übergeben,Vittel hat geschrieben: Wie kann ich denn dann mit dem Rückgabewert das richtige Layout im ALV setzen?
Code: Alles auswählen.
data: variante LIKE disvariant.
variante-variant = p_vari. "<---------- hier das Feld aus dem Selektionsbild
variante-report = sy-repid.
* ALV Listausgabe mit erzeugtem Feldkatalog
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat_lvc = gt_fieldcat
is_layout_lvc = gd_layout
i_save = 'A'
i_grid_title = g_alvtitle
is_variant = variante "<----------- Übergabe der Anzeigevariante
TABLES
t_outtab = gt_itab.
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Vittel
Nichts zwingend wäre aber warscheinlich nicht passend jetzt das alles wieder zuändern...Alexander D. hat geschrieben: muss das über popups gelöst werden?
Der Report wurde aufgrund des Reports: BCALV_TEST_GRID_EDITABLE, erstellt nur etwas erweitert. Falls das weiterhilft.Alexander D. hat geschrieben: welchen Baustein verwendest du in dem Report mit dem der ALV erzeugt wird?
Code: Alles auswählen.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = 'Layout?'
text_button_1 = 'Layout 1'(001)
text_button_2 = 'Layout 2'(002)
default_button = '1'
start_column = 25
start_row = 6
IMPORTING
answer = gf_layout_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.