*---------------------------------------------------------------
* REPORT NAME : 宣告程序名称及报表格式
*------------------------------------------------------------------
REPORT Z_BB_010 NO STANDARD PAGE HEADING.
*声明数据库表
TABLES:UST04,AGR_PROF,USER_ADDR,ADCP.
*for alv
TYPE-POOLS: slis.
DATA:
i_fieldcat_alv TYPE slis_t_fieldcat_alv, "定义列标题(属性/信息)
i_layout TYPE slis_layout_alv, "alv格式
i_fieldcat TYPE slis_fieldcat_alv, "
i_events TYPE slis_t_event, "alv事件
w_events LIKE LINE OF i_events,
i_list_comments TYPE slis_t_listheader, "alv表单标题区域设置
w_list_comments LIKE LINE OF i_list_comments,
w_repid LIKE sy-repid. "当前程序
*定义内表
*1.选择屏幕
DATA:
BEGIN OF hd_itab OCCURS 0,
BNAME LIKE USER_ADDR-BNAME,
NAME_TEXTC LIKE USER_ADDR-NAME_TEXTC,
DEPARTMENT LIKE USER_ADDR-DEPARTMENT,
PROFILE LIKE UST04-PROFILE,
AGR_NAME LIKE AGR_PROF-AGR_NAME,
PTEXT LIKE AGR_PROF-PTEXT,
TEXT LIKE AGR_TEXTS-TEXT,
END OF hd_itab.
*定义选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.
SELECT-OPTIONS:S_BNAME FOR USER_ADDR-BNAME.
SELECT-OPTIONS:s_DEPART FOR ADCP-DEPARTMENT.
SELECTION-SCREEN END OF BLOCK b1.
*程序初始化
INITIALIZATION.
t1 = '查询条件'.
*数据选择
START-OF-SELECTION.
PERFORM getdata. "读取数据
PERFORM events_build. "alv事件
PERFORM layout_build. "定义alv格式属性
PERFORM fields_build. "定义列标题信息
PERFORM display_data. "显示数据
END-OF-SELECTION.
DATA:
pagenum TYPE i VALUE 1. "报表页码
END-OF-PAGE.
pagenum = pagenum + 1.
*at user-command.
* case sy-ucomm.
* when 'REFR'.
* CLEAR hd_itab.
* CLEAR hd_itab[].
* perform getdata.
** PERFORM DATA_OUTPUT.
* ENDCASE.
*&--------------------------------------------------------------------*
*& Form getdata
*&--------------------------------------------------------------------*
* 获取数据
*---------------------------------------------------------------------*
FORM getdata.
CLEAR hd_itab.
CLEAR hd_itab[]. "init_data
SELECT USER_ADDR~BNAME USER_ADDR~NAME_TEXTC USER_ADDR~DEPARTMENT UST04~PROFILE
INTO (HD_ITAB-BNAME, HD_ITAB-NAME_TEXTC,HD_ITAB-DEPARTMENT, HD_ITAB-PROFILE)
FROM USER_ADDR
JOIN UST04 ON USER_ADDR~BNAME = UST04~BNAME
WHERE USER_ADDR~BNAME IN S_BNAME
AND USER_ADDR~DEPARTMENT IN s_DEPART.
SELECT SINGLE AGR_NAME PTEXT FROM AGR_PROF
INTO (HD_ITAB-AGR_NAME,HD_ITAB-PTEXT)
WHERE PROFILE = HD_ITAB-PROFILE+(10).
SELECT SINGLE TEXT FROM AGR_TEXTS
INTO HD_ITAB-TEXT
WHERE AGR_NAME = HD_ITAB-AGR_NAME
AND SPRAS = 1.
APPEND HD_ITAB.
CLEAR HD_ITAB.
ENDSELECT.
SORT HD_ITAB BY BNAME AGR_NAME.
ENDFORM. "getdata
*&--------------------------------------------------------------------*
*& Form layout_build
*&--------------------------------------------------------------------*
* 定义ALV格式属性
*---------------------------------------------------------------------*
FORM layout_build .
i_layout-zebra = 'X'.
i_layout-detail_popup = 'X'.
* i_layout-no_vline = ' '.
* i_layout-colwidth_optimize = 'X'.
* i_layout-detail_initial_lines = 'X'.
i_layout-detail_titlebar = '详细内容'.
i_layout-f2code = '&ETA'.
* i_layout-info_fieldname = 'COLOR'. "颜色值
i_layout-detail_popup = 'X'.
i_layout-detail_titlebar = 'X'.
i_layout-no_colhead = ''.
w_repid = sy-repid.
ENDFORM. " layout_build
*&--------------------------------------------------------------------*
*& Form fields_build
*&--------------------------------------------------------------------*
* 设置报表显示列属性信息
*---------------------------------------------------------------------*
FORM fields_build .
REFRESH i_fieldcat_alv.
CLEAR i_fieldcat.
DATA colnum TYPE i VALUE 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'BNAME'.
i_fieldcat-seltext_s = '用户'.
i_fieldcat-seltext_m = '用户'.
i_fieldcat-seltext_l = '用户'.
i_fieldcat-reptext_ddic = '用户'.
i_fieldcat-lzero = 'X'.
i_fieldcat-key = 'X'.
* i_fieldcat-hotspot = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'NAME_TEXTC'.
i_fieldcat-seltext_s = '姓名'.
i_fieldcat-seltext_m = '姓名'.
i_fieldcat-seltext_l = '姓名'.
i_fieldcat-reptext_ddic = '姓名'.
i_fieldcat-lzero = 'X'.
i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'DEPARTMENT'.
i_fieldcat-seltext_s = '部门'.
i_fieldcat-seltext_m = '部门'.
i_fieldcat-seltext_l = '部门'.
i_fieldcat-reptext_ddic = '部门'.
i_fieldcat-lzero = 'X'.
* i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen = '20'.
i_fieldcat-fieldname = 'AGR_NAME'.
i_fieldcat-seltext_s = '角色'.
i_fieldcat-seltext_m = '角色'.
i_fieldcat-seltext_l = '角色'.
i_fieldcat-reptext_ddic = '角色'.
i_fieldcat-lzero = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen ='30'.
i_fieldcat-fieldname = 'TEXT'.
i_fieldcat-seltext_s = '角色描述'.
i_fieldcat-seltext_m = '角色描述'.
i_fieldcat-seltext_l = '角色描述'.
i_fieldcat-reptext_ddic = '角色描述'.
i_fieldcat-lzero = 'X'.
* i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen ='60'.
i_fieldcat-fieldname = 'PROFILE'.
i_fieldcat-seltext_s = '参数文件'.
i_fieldcat-seltext_m = '参数文件'.
i_fieldcat-seltext_l = '参数文件'.
i_fieldcat-reptext_ddic = '参数文件'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
ENDFORM. " fields_build
*&--------------------------------------------------------------------*
*& Form display_data
*&--------------------------------------------------------------------*
* 显示报表内容
*---------------------------------------------------------------------*
FORM display_data .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
is_layout = i_layout
it_fieldcat = i_fieldcat_alv[]
it_events = i_events[]
* i_grid_title = ' '
i_callback_user_command = 'USER_COMMAND'
i_save = 'A'
TABLES
t_outtab = hd_itab.
* IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
ENDFORM. " display_data
*---------------------------------------------------------------------*
* FORM USER_COMMAND *
*---------------------------------------------------------------------*
FORM user_command USING i_ucomm LIKE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
CASE i_ucomm.
WHEN '&IC1'. " Pick
READ TABLE hd_itab INDEX is_selfield-tabindex.
ENDCASE.
ENDFORM. " USER_COMMAND
*&--------------------------------------------------------------------*
*& Form whole_toolbar
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->EXTAB text
*---------------------------------------------------------------------*
FORM whole_toolbar USING extab TYPE slis_t_extab. "#EC CALLED
SET PF-STATUS 'WHOLE_TOOLBAR' EXCLUDING extab.
ENDFORM. "whole_toolbar
*&--------------------------------------------------------------------*
*& Form alv_top_of_page
*&--------------------------------------------------------------------*
* 页头格式设置
*---------------------------------------------------------------------*
FORM alv_top_of_page.
CLEAR: i_list_comments.
w_list_comments-typ = 'H'.
w_list_comments-key = ''.
w_list_comments-info = '用户授权清单'.
APPEND w_list_comments TO i_list_comments.
CLEAR w_list_comments.
DATA: data_temp(16).
WRITE sy-datum TO: data_temp MM/DD/YYYY.
CONCATENATE '日期: ' data_temp INTO data_temp.
CONCATENATE data_temp ' SAP部' INTO data_temp.
w_list_comments-typ = 'S'.
w_list_comments-key = ''.
w_list_comments-info = data_temp.
APPEND w_list_comments TO i_list_comments.
CLEAR w_list_comments.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_list_comments
i_logo = 'ENJOYSAP_LOGO' "标题图标.
i_end_of_list_grid = 'X'.
* i_logo = 'ENJOYSAP_LOGO'. "标题图标
ENDFORM. "alv_top_of_page
*&--------------------------------------------------------------------*
*& Form alv_end_of_list
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM alv_end_of_list.
* CLEAR: i_list_comments.
* w_list_comments-typ = 'S'.
* w_list_comments-info = 'SAP部'.
* APPEND w_list_comments TO i_list_comments.
* CLEAR w_list_comments.
*
* CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
* EXPORTING
* it_list_commentary = i_list_comments
* i_logo = 'ENJOYSAP_LOGO' "标题图标
* i_end_of_list_grid = 'X'.
ENDFORM. "alv_end_of_list
*
*&--------------------------------------------------------------------*
*& Form events_build
*&--------------------------------------------------------------------*
* 定义ALV事件
*---------------------------------------------------------------------*
FORM events_build .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_events.
READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
INTO w_events.
IF sy-subrc = 0.
MOVE 'ALV_TOP_OF_PAGE' TO w_events-form.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
READ TABLE i_events INTO w_events WITH KEY name = 'USER_COMMAND'.
IF sy-subrc EQ 0.
w_events-name = 'USER_COMMAND'.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
READ TABLE i_events WITH KEY name = 'END_OF_LIST'"slis_ev_end_of_page
INTO w_events.
IF sy-subrc = 0.
MOVE 'ALV_END_OF_LIST' TO w_events-form.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
ENDFORM. " events_build
* REPORT NAME : 宣告程序名称及报表格式
*------------------------------------------------------------------
REPORT Z_BB_010 NO STANDARD PAGE HEADING.
*声明数据库表
TABLES:UST04,AGR_PROF,USER_ADDR,ADCP.
*for alv
TYPE-POOLS: slis.
DATA:
i_fieldcat_alv TYPE slis_t_fieldcat_alv, "定义列标题(属性/信息)
i_layout TYPE slis_layout_alv, "alv格式
i_fieldcat TYPE slis_fieldcat_alv, "
i_events TYPE slis_t_event, "alv事件
w_events LIKE LINE OF i_events,
i_list_comments TYPE slis_t_listheader, "alv表单标题区域设置
w_list_comments LIKE LINE OF i_list_comments,
w_repid LIKE sy-repid. "当前程序
*定义内表
*1.选择屏幕
DATA:
BEGIN OF hd_itab OCCURS 0,
BNAME LIKE USER_ADDR-BNAME,
NAME_TEXTC LIKE USER_ADDR-NAME_TEXTC,
DEPARTMENT LIKE USER_ADDR-DEPARTMENT,
PROFILE LIKE UST04-PROFILE,
AGR_NAME LIKE AGR_PROF-AGR_NAME,
PTEXT LIKE AGR_PROF-PTEXT,
TEXT LIKE AGR_TEXTS-TEXT,
END OF hd_itab.
*定义选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.
SELECT-OPTIONS:S_BNAME FOR USER_ADDR-BNAME.
SELECT-OPTIONS:s_DEPART FOR ADCP-DEPARTMENT.
SELECTION-SCREEN END OF BLOCK b1.
*程序初始化
INITIALIZATION.
t1 = '查询条件'.
*数据选择
START-OF-SELECTION.
PERFORM getdata. "读取数据
PERFORM events_build. "alv事件
PERFORM layout_build. "定义alv格式属性
PERFORM fields_build. "定义列标题信息
PERFORM display_data. "显示数据
END-OF-SELECTION.
DATA:
pagenum TYPE i VALUE 1. "报表页码
END-OF-PAGE.
pagenum = pagenum + 1.
*at user-command.
* case sy-ucomm.
* when 'REFR'.
* CLEAR hd_itab.
* CLEAR hd_itab[].
* perform getdata.
** PERFORM DATA_OUTPUT.
* ENDCASE.
*&--------------------------------------------------------------------*
*& Form getdata
*&--------------------------------------------------------------------*
* 获取数据
*---------------------------------------------------------------------*
FORM getdata.
CLEAR hd_itab.
CLEAR hd_itab[]. "init_data
SELECT USER_ADDR~BNAME USER_ADDR~NAME_TEXTC USER_ADDR~DEPARTMENT UST04~PROFILE
INTO (HD_ITAB-BNAME, HD_ITAB-NAME_TEXTC,HD_ITAB-DEPARTMENT, HD_ITAB-PROFILE)
FROM USER_ADDR
JOIN UST04 ON USER_ADDR~BNAME = UST04~BNAME
WHERE USER_ADDR~BNAME IN S_BNAME
AND USER_ADDR~DEPARTMENT IN s_DEPART.
SELECT SINGLE AGR_NAME PTEXT FROM AGR_PROF
INTO (HD_ITAB-AGR_NAME,HD_ITAB-PTEXT)
WHERE PROFILE = HD_ITAB-PROFILE+(10).
SELECT SINGLE TEXT FROM AGR_TEXTS
INTO HD_ITAB-TEXT
WHERE AGR_NAME = HD_ITAB-AGR_NAME
AND SPRAS = 1.
APPEND HD_ITAB.
CLEAR HD_ITAB.
ENDSELECT.
SORT HD_ITAB BY BNAME AGR_NAME.
ENDFORM. "getdata
*&--------------------------------------------------------------------*
*& Form layout_build
*&--------------------------------------------------------------------*
* 定义ALV格式属性
*---------------------------------------------------------------------*
FORM layout_build .
i_layout-zebra = 'X'.
i_layout-detail_popup = 'X'.
* i_layout-no_vline = ' '.
* i_layout-colwidth_optimize = 'X'.
* i_layout-detail_initial_lines = 'X'.
i_layout-detail_titlebar = '详细内容'.
i_layout-f2code = '&ETA'.
* i_layout-info_fieldname = 'COLOR'. "颜色值
i_layout-detail_popup = 'X'.
i_layout-detail_titlebar = 'X'.
i_layout-no_colhead = ''.
w_repid = sy-repid.
ENDFORM. " layout_build
*&--------------------------------------------------------------------*
*& Form fields_build
*&--------------------------------------------------------------------*
* 设置报表显示列属性信息
*---------------------------------------------------------------------*
FORM fields_build .
REFRESH i_fieldcat_alv.
CLEAR i_fieldcat.
DATA colnum TYPE i VALUE 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'BNAME'.
i_fieldcat-seltext_s = '用户'.
i_fieldcat-seltext_m = '用户'.
i_fieldcat-seltext_l = '用户'.
i_fieldcat-reptext_ddic = '用户'.
i_fieldcat-lzero = 'X'.
i_fieldcat-key = 'X'.
* i_fieldcat-hotspot = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'NAME_TEXTC'.
i_fieldcat-seltext_s = '姓名'.
i_fieldcat-seltext_m = '姓名'.
i_fieldcat-seltext_l = '姓名'.
i_fieldcat-reptext_ddic = '姓名'.
i_fieldcat-lzero = 'X'.
i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-fieldname = 'DEPARTMENT'.
i_fieldcat-seltext_s = '部门'.
i_fieldcat-seltext_m = '部门'.
i_fieldcat-seltext_l = '部门'.
i_fieldcat-reptext_ddic = '部门'.
i_fieldcat-lzero = 'X'.
* i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen = '20'.
i_fieldcat-fieldname = 'AGR_NAME'.
i_fieldcat-seltext_s = '角色'.
i_fieldcat-seltext_m = '角色'.
i_fieldcat-seltext_l = '角色'.
i_fieldcat-reptext_ddic = '角色'.
i_fieldcat-lzero = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen ='30'.
i_fieldcat-fieldname = 'TEXT'.
i_fieldcat-seltext_s = '角色描述'.
i_fieldcat-seltext_m = '角色描述'.
i_fieldcat-seltext_l = '角色描述'.
i_fieldcat-reptext_ddic = '角色描述'.
i_fieldcat-lzero = 'X'.
* i_fieldcat-key = 'X'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
colnum = colnum + 1.
i_fieldcat-col_pos = colnum.
i_fieldcat-outputlen ='60'.
i_fieldcat-fieldname = 'PROFILE'.
i_fieldcat-seltext_s = '参数文件'.
i_fieldcat-seltext_m = '参数文件'.
i_fieldcat-seltext_l = '参数文件'.
i_fieldcat-reptext_ddic = '参数文件'.
APPEND i_fieldcat TO i_fieldcat_alv.
CLEAR i_fieldcat.
ENDFORM. " fields_build
*&--------------------------------------------------------------------*
*& Form display_data
*&--------------------------------------------------------------------*
* 显示报表内容
*---------------------------------------------------------------------*
FORM display_data .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
is_layout = i_layout
it_fieldcat = i_fieldcat_alv[]
it_events = i_events[]
* i_grid_title = ' '
i_callback_user_command = 'USER_COMMAND'
i_save = 'A'
TABLES
t_outtab = hd_itab.
* IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
ENDFORM. " display_data
*---------------------------------------------------------------------*
* FORM USER_COMMAND *
*---------------------------------------------------------------------*
FORM user_command USING i_ucomm LIKE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
CASE i_ucomm.
WHEN '&IC1'. " Pick
READ TABLE hd_itab INDEX is_selfield-tabindex.
ENDCASE.
ENDFORM. " USER_COMMAND
*&--------------------------------------------------------------------*
*& Form whole_toolbar
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->EXTAB text
*---------------------------------------------------------------------*
FORM whole_toolbar USING extab TYPE slis_t_extab. "#EC CALLED
SET PF-STATUS 'WHOLE_TOOLBAR' EXCLUDING extab.
ENDFORM. "whole_toolbar
*&--------------------------------------------------------------------*
*& Form alv_top_of_page
*&--------------------------------------------------------------------*
* 页头格式设置
*---------------------------------------------------------------------*
FORM alv_top_of_page.
CLEAR: i_list_comments.
w_list_comments-typ = 'H'.
w_list_comments-key = ''.
w_list_comments-info = '用户授权清单'.
APPEND w_list_comments TO i_list_comments.
CLEAR w_list_comments.
DATA: data_temp(16).
WRITE sy-datum TO: data_temp MM/DD/YYYY.
CONCATENATE '日期: ' data_temp INTO data_temp.
CONCATENATE data_temp ' SAP部' INTO data_temp.
w_list_comments-typ = 'S'.
w_list_comments-key = ''.
w_list_comments-info = data_temp.
APPEND w_list_comments TO i_list_comments.
CLEAR w_list_comments.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_list_comments
i_logo = 'ENJOYSAP_LOGO' "标题图标.
i_end_of_list_grid = 'X'.
* i_logo = 'ENJOYSAP_LOGO'. "标题图标
ENDFORM. "alv_top_of_page
*&--------------------------------------------------------------------*
*& Form alv_end_of_list
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM alv_end_of_list.
* CLEAR: i_list_comments.
* w_list_comments-typ = 'S'.
* w_list_comments-info = 'SAP部'.
* APPEND w_list_comments TO i_list_comments.
* CLEAR w_list_comments.
*
* CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
* EXPORTING
* it_list_commentary = i_list_comments
* i_logo = 'ENJOYSAP_LOGO' "标题图标
* i_end_of_list_grid = 'X'.
ENDFORM. "alv_end_of_list
*
*&--------------------------------------------------------------------*
*& Form events_build
*&--------------------------------------------------------------------*
* 定义ALV事件
*---------------------------------------------------------------------*
FORM events_build .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_events.
READ TABLE i_events WITH KEY name = 'TOP_OF_PAGE'
INTO w_events.
IF sy-subrc = 0.
MOVE 'ALV_TOP_OF_PAGE' TO w_events-form.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
READ TABLE i_events INTO w_events WITH KEY name = 'USER_COMMAND'.
IF sy-subrc EQ 0.
w_events-name = 'USER_COMMAND'.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
READ TABLE i_events WITH KEY name = 'END_OF_LIST'"slis_ev_end_of_page
INTO w_events.
IF sy-subrc = 0.
MOVE 'ALV_END_OF_LIST' TO w_events-form.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.
ENDFORM. " events_build