ABAP ALV数据穿透
ALV数据穿透-双击跳转到下一界面
ALV展示数据列以后,双击某一行数据,跳转到下一界面
双击其中一行后的效果
代码实现部分:
1. 写在ALV展示的FUNCTION的FRM_USER_COMMAND中
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = pr_repid
i_default = 'X'
i_save = 'A'
is_layout = lwa_layout
it_fieldcat = lit_fieldcat[]
i_callback_top_of_page = c_formname_top_of_page
i_callback_user_command = 'FRM_USER_COMMAND'
i_callback_pf_status_set = 'FRM_PF_STATUS'
TABLES
t_outtab = pit_i_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
2. FRM_USER_COMMAND中的具体代码实现
FORM frm_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: lwa_output LIKE gwa_output.
DATA: wa_output LIKE gwa_output.
READ TABLE git_output INTO lwa_output INDEX rs_selfield-tabindex.
CASE r_ucomm.
WHEN 'JCH'.
CALL FUNCTION 'Z_CONTRPRO_063'
EXPORTING
i_tkonn = lwa_output-tkonn.
WHEN OTHERS. "双击穿透触发 替换为WHEN '&IC1'更为准确
SET PARAMETER ID 'ZSIDE' FIELD 'B'.
SET PARAMETER ID 'ZFTY' FIELD 'S000'.
SET PARAMETER ID 'ZUSTY' FIELD '0003'.
SET PARAMETER ID 'ZDOCU' FIELD lwa_output-tkonn.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'ZB010'.
IF sy-subrc NE 0.
MESSAGE e172(00) WITH 'ZB010'.
ENDIF.
CALL TRANSACTION 'ZB010' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM.
调用另一程序时,另一个程序必须提前设定了对应的接收MEMORY ID 举例如下
post SAP-Garson
原文链接:https://blog.csdn.net/fangyiping123/article/details/107458838文章来自于网络,如果侵犯了您的权益,请联系站长删除!