在ALV点击Key值调用TCode,跳过初始屏幕
2024-09-08 07:08:48
在开发ALV报表时,通常业务部门会要求在ALV中点击单据号,屏幕跳转到具体业务凭证中查看业务明细,效果如下图:
点击销售销售订单号或者交货单号可传入单据号直接打开销售订单或交货单,实现方式如下:
一、查看初始屏幕参数名:
如查看销售订单初始屏幕,它的参数名为:AUN
二、在ABAP代码中调用:
form frm_alv_output .
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = g_repid
is_layout = wa_layout
it_fieldcat = it_fieldcat
i_save = 'X'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
tables
t_outtab = it_tab
exceptions
program_error = 1
others = 2. 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. FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield. CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-value IS INITIAL.
r_ucomm = '&ETA'.
ENDIF. CHECK rs_selfield-value IS NOT INITIAL.
READ TABLE it_tab INTO wa_tab INDEX rs_selfield-tabindex. CASE rs_selfield-fieldname.
WHEN 'VBELN'. "预制发票号
SET PARAMETER ID 'VF' FIELD rs_selfield-value.
CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.
WHEN 'VGBEL'. "交货单号
SET PARAMETER ID 'VL' FIELD rs_selfield-value.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
WHEN OTHERS.
r_ucomm = '&ETA'.
ENDCASE. ENDCASE. ENDFORM.
最新文章
- Tomcat回收连接
- 影响Java EE性能的十大问题(转)
- 在VS 2012 配置SDL
- Can&#39;t load AMD 64-bit .dll on a IA 32-bit platform
- Qt msgBox 快捷版
- 修改CSV中的某些值 -- 1
- 【你吐吧c#每日学习】11.10 C# Data Type conversion
- wxPython_Phoenix在线安装
- 慕课网-安卓工程师初养成-2-1 Java中的关键字
- Visual Studio 2015安装过程卡住,解决办法
- 11g v$session定位客户端IP
- SpringCloud笔记七:Zuul
- LINUX | 谷歌云开启SSH及设置root密码
- Gradle安装使用以及基本操作
- JSP中properties文件的路径问题
- 选择、操作web元素
- iOS 编译部署路径
- elasticsearch安装servicewrapper插件
- 简单示例:Spring4 整合 单个Redis服务
- htaccess正则规则学习笔记整理