Code: Alles auswählen.
CLASS zcl_salv_model_base DEFINITION
PUBLIC
INHERITING FROM cl_salv_model_base
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS get_control
IMPORTING
!ir_model TYPE REF TO cl_salv_model_base
RETURNING
VALUE(rr_control) TYPE REF TO cl_gui_control .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_salv_model_base IMPLEMENTATION.
METHOD get_control.
CLEAR rr_control.
IF ir_model IS NOT BOUND
OR ir_model->r_controller IS NOT BOUND
OR ir_model->r_controller->r_adapter IS NOT BOUND.
RETURN.
ENDIF.
CASE TYPE OF ir_model->r_controller->r_adapter.
WHEN TYPE cl_salv_fullscreen_adapter INTO DATA(lr_fullscreen).
rr_control = lr_fullscreen->get_grid( ).
WHEN TYPE cl_salv_grid_adapter INTO DATA(lr_grid).
rr_control = lr_grid->get_grid( ).
WHEN TYPE cl_salv_tree_adapter_base INTO DATA(lr_tree).
rr_control = lr_tree->r_tree.
WHEN TYPE cl_salv_hierseq_adapter INTO DATA(lr_hierseq).
* Kein Control vorhanden
WHEN TYPE cl_salv_list_adapter INTO DATA(lr_list).
* Kein Control vorhanden
ENDCASE.
ENDMETHOD.
ENDCLASS.
Code: Alles auswählen.
DATA: lr_salv_table TYPE REF TO cl_salv_table.
*... Instanzieren etc.
CASE TYPE OF zcl_salv_model_base=>get_control( ir_model = lr_salv_table).
THEN TYPE cl_gui_alv_grid INTO DATA(lr_alv_grid).
* ... Voller Zugriff auf das Grid-Control
ENDCASE.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ewx
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
a-dead-trousers
Und noch ein Nachtrag: In ebendiesen recht neuen Releases hat SAP tatsächlich weitere fehlende Features nachgeliefert. Dazu gibt es eine neue Methode "EXTENDED_GRID_API" welche eine Klasse zurückliefert, die diverse Zusatzfunktionen anbietet wie editierbare Felder und Kontextmenüanbindung. Das mit den editierbaren Feldern ist in diesem Blog beschrieben ( falls die Seite - im Gegensatz zu jetzt - erreichbar ist ): https://blogs.sap.com/2022/08/01/editab ... lease-756/a-dead-trousers hat geschrieben: ↑24.01.2024 11:46Die meisten Funktionen, welche die alten ALV Controls zur Verfügung gestellt haben, haben es Gott sei Dank auch in das SALV Model geschafft (wenn auch teilweise etwas kreativer im Framework verteilt als man das erwarten würde) aber leider eben nicht alle.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
a-dead-trousers • ewx