以下针对于FM:REUSE_ALV_GRID_DISPLAY的ALV,以添加一个按钮为例,修改OO ALV工具条的方式大致相同。
第一步:创建我们的测试report : ztest09并实现的显示。代码如下所示:
REPORT ZTEST09.
TYPE-POOLS: slis.
"(1)定义内表及工作区
DATA: gt_alv_data TYPE STANDARD TABLE OF sflight,
lt_alv_data TYPE sflight.
DATA: lt_fieldcat TYPE slis_t_fieldcat_alv.
"(2)初始化内表中的数据
SELECT * INTO TABLE gt_alv_data FROM sflight .
"(3)获得sflight中的字段结构 ,保存到内表lt_fieldcat中
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
ct_fieldcat = lt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
"(4)使用第(3)步得到的 fieldcat第二步得到的内表数据,展示这个ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = lt_fieldcat
TABLES
t_outtab