Hallo, würd mich freuen wenn ihr mir helfen könnt. Vielen Dank schonmal vorab.
type: cl_salv_table
Code: Alles auswählen.
lo_layout = me->lo_alv->get_layout( ).
key-report = sy-repid.
lo_layout->set_key( key ).
lo_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
Problematik: Ich wähle eine Variante aus. Nach einem refresh ( alv->refresh() ), unabhängig davon ob refresh_mode = soft oder full refresh, werden wieder alle Spalten angezeigt. Wenn ich durch die Methode Set_initial_Layout eine Variante konkret angebe, so wird beim Start und dem besagten Refresh immer die Variante angezeigt, welche ich bei set_initial_layout angegeben habe.
Was mir bisher aufgefallen ist:
In Anlehnung an den Beispielreport "SALV_DEMO_TABLE_LAYOUT" und hier in der Form HANDLE_USER_COMMAND
habe ich mir die Struktur vom Typ SALV_S_LAYOUT im Debugger besorgt, in welcher in der Komponente Layout die aktuelle Variante gespeichert ist. Diese wird komischerweise bei meinem Alv nicht befüllt.
Vielleicht hat jemand eine Idee.