ALV-Grid点击字段值跳转至PA20事务码是否可行?
需求实现方案:ALV Grid跳转至PA20事务码
这个需求完全可以实现,以下是具体的落地步骤:
配置ALV事件与字段目录
使用CL_GUI_ALV_GRID构建ALV时,先通过SET_REGISTERED_EVENTS方法注册双击事件(事件ID为CL_GUI_ALV_GRID=>MC_EV_DOUBLE_CLICK),同时确保字段目录包含人员编号、信息类型、开始日期、结束日期这些关键字段,且数据类型与PA20要求匹配(比如日期用标准DATS类型)。编写双击事件的处理逻辑
在事件处理方法里,先获取用户双击的行数据:DATA: lt_selected_rows TYPE lvc_t_row, ls_selected_row TYPE lvc_s_row, ls_current_data TYPE <你的内表结构类型>. CALL METHOD go_alv_grid->get_selected_rows IMPORTING et_index_rows = lt_selected_rows. READ TABLE lt_selected_rows INTO ls_selected_row INDEX 1. READ TABLE gt_alv_data INTO ls_current_data INDEX ls_selected_row-index.接着用SAP标准参数ID传递PA20所需字段值,直接跳转目标事务码:
" 给PA20预设参数 SET PARAMETER ID 'PER' FIELD ls_current_data-pernr. " 人员编号 SET PARAMETER ID 'INF' FIELD ls_current_data-infty. " 信息类型 SET PARAMETER ID 'BEG' FIELD ls_current_data-begda. " 开始日期 SET PARAMETER ID 'END' FIELD ls_current_data-endda. " 结束日期 " 跳转并跳过PA20初始屏幕 CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.效果说明
配置完成后,用户双击ALV列表任意行,系统会直接跳转到PA20的对应界面,自动带入人员编号、信息类型及日期区间,无需手动输入,完全满足提升处理效率的需求。
内容的提问来源于stack exchange,提问作者Poseidon
相关产品推荐
相关产品推荐

