项目场景:
调用FUNCTION ALV时,发生DUMP,提示:调用例程FRM_STATUS_SET时参数存在异常
问题描述
使用函数REUSE_ALV_GRID_DISPLAY_LVC进行ALV展示时,发生DUMP:
在函数中直接指定入参i_callback_pf_status_set:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'FRM_STATUS_SET'
i_callback_user_command = 'FRM_USER_COMMAND'
is_layout_lvc = gs_layout
it_fieldcat_lvc = gt_fcat
i_save = 'A' " Anzeigevarianten
TABLES
t_outtab = gt_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
- 发生dump后,查看错误信息,详情如下:
原因分析:
执行事务码ST22,查看dump详细信息:
查看具体错误信息,发现在调用程序内部例程FRM_STATUS_SET,传参存在问题,需要对例程FRM_STATUS_SET进行参数设定
解决方案:
对例程FRM_STATUS_SET进行创建时,指定参数it_extab,类型为slis_t_extab:
FORM frm_status_set USING it_extab TYPE slis_t_extab.
SET PF-STATUS 'STATUS_1000'.
IF gr_grid IS INITIAL .
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = gr_grid.
ENDIF.
ENDFORM.