SALV获取OO ALV GRID对象
前言
从SALV实例中获取grid对象,弥补SALV自身方法的不足;参考来源 power-of-abap-objects-overcome-the-restrictions-of-salv-model
虽然原博客评论区好多人阴阳怪气,但我还是要说那句,不管白猫黑猫,抓到老鼠的就是好猫。
需要注意的是,该代码在S4 HANA 1809中尚可运行,但是S4 HANA 2021中已失效,SAP修改SALV类的继承关系, 目前没找到方法。
代码参考
点击查看旧版本代码
CLASS lcl_salv_model DEFINITION INHERITING FROM cl_salv_model_list.
PUBLIC SECTION.
METHODS:get_grid
IMPORTING io_model TYPE REF TO cl_salv_model
RETURNING VALUE(r_grid) TYPE REF TO cl_gui_alv_grid.
ENDCLASS.
CLASS lcl_salv_model IMPLEMENTATION.
METHOD get_grid.
DATA:grid_adapter TYPE REF TO cl_salv_grid_adapter.
grid_adapter ?= io_model->r_controller->r_adapter.
r_grid = grid_adapter->get_grid( ).
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
SELECT *
FROM tj02t
UP TO 10 ROWS
INTO TABLE @DATA(lt_data).
cl_salv_table=>factory(
IMPORTING
r_salv_table = DATA(lo_salv)
CHANGING
t_table = lt_data
).
lo_salv->display( ).
DATA:lo_alv_model TYPE REF TO cl_salv_model.
lo_alv_model = lo_salv.
DATA(lo_local_salv_model) = NEW lcl_salv_model( ).
DATA(lo_grid) = lo_local_salv_model->get_grid( lo_alv_model ).
本文来自博客园,作者:长沙铁道学院-康帅傅,转载请注明原文链接:https://www.cnblogs.com/break-point/p/17846134.html

浙公网安备 33010602011771号