将报告显示从 ALV 网格更改为 ALV 列表查看器
Change report display from ALV Grid to ALV List Viewer
我被要求将 ALV 网格报告更改为 ALV 列表查看器。到目前为止我发现的是,我唯一需要做的就是将 REUSE_ALV_GRID_DISPLAY
函数替换为 REUSE_ALV_LIST_DISPLAY
(如果我错了请纠正我)。
但是,我需要更改的报表使用的是cl_gui_alv_grid
class,它没有使用上述功能。
如何使用 cl_gui_alv_grid
更改报告?或者没有办法,只好重写代码,用REUSE_ALV_LIST_DISPLAY
?
cl_gui_alv_grid
是不可能的。您应该使用 cl_salv_table
和 list-display
参数来完成此操作:
cl_salv_table=>factory(
EXPORTING
list_display = abap_true
IMPORTING
r_salv_table = o_alv
CHANGING
t_table = lt_table ).
您可以通过调用 set_function_code
调用 cl_gui_alv_grid
工具栏中的 'list output' 功能,如下所示。
DATA ucomm_list_output TYPE syucomm VALUE '&RNT_PREV'.
DATA alv TYPE REF TO cl_gui_alv_grid.
...
alv->set_function_code(
CHANGING
c_ucomm = ucomm_list_output
).
我被要求将 ALV 网格报告更改为 ALV 列表查看器。到目前为止我发现的是,我唯一需要做的就是将 REUSE_ALV_GRID_DISPLAY
函数替换为 REUSE_ALV_LIST_DISPLAY
(如果我错了请纠正我)。
但是,我需要更改的报表使用的是cl_gui_alv_grid
class,它没有使用上述功能。
如何使用 cl_gui_alv_grid
更改报告?或者没有办法,只好重写代码,用REUSE_ALV_LIST_DISPLAY
?
cl_gui_alv_grid
是不可能的。您应该使用 cl_salv_table
和 list-display
参数来完成此操作:
cl_salv_table=>factory(
EXPORTING
list_display = abap_true
IMPORTING
r_salv_table = o_alv
CHANGING
t_table = lt_table ).
您可以通过调用 set_function_code
调用 cl_gui_alv_grid
工具栏中的 'list output' 功能,如下所示。
DATA ucomm_list_output TYPE syucomm VALUE '&RNT_PREV'.
DATA alv TYPE REF TO cl_gui_alv_grid.
...
alv->set_function_code(
CHANGING
c_ucomm = ucomm_list_output
).