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 ).
本文來自博客園,作者:長沙鐵道學院-康帥傅,轉載請注明原文鏈接:http://www.rzrgm.cn/break-point/p/17846134.html

浙公網安備 33010602011771號