本文主要是介绍Functional ALV系列 (03) -双击ALV事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇通过两个例子讲解双击 ALV 的单元格事件用法。第一个例子是双击跳转到 SAP 标准事务码,第二个例子是双击单元格显示明细界面。
双击单元格执行事务码操作
假设 ALV 显示的是物料清单,双击物料编码字段,执行 MM03 操作,跳转到物料主数据的界面。首先编写如下代码:
为了能处理双击事件,我们需要定义用于该报表的 GUI status,一般从其它程序中拷贝。常用的是从 SAPLKKBL
程序中拷贝。操作方法如下图所示:
点击「Status」按钮将 standard_fullscreen 拷贝到 z_falv_005:
也可以在 SE38 界面中运行程序,然后通过菜单 System -> Status,打开对话框,从这里获得可以拷贝的程序。
在程序中激活 zstandard GUI Status,然后在调用 reuse_alv_grid_display 函数时设置下面的参数:
i_callback_pf_status_set
参数指定子例程,在子例程中设置使用拷贝的 zstandard GUI status:
i_callback_user_command
参数指定子例程,在子例程中定义用户操作的代码。比如,双击 ALV 单元格触发 &IC1
事件。
代码演示了获取 ALV 单元格所在行、所在列名以及单元格值的方法:
- 行: p_selfield-tabindex
- 列名:p_selfield-fieldname
- 单元格的值:p_field-value
执行标准事务码 MM03,为了能将 ALV 单元格的 material number 带到 MM03 界面,需要知道 parameter id。进入 MM03 界面,在 material 字段按 F1,点击 technical information,可以看到该字段的 parameter id 为 MAT:
同理可以设置其它参数,比如查看物料主数据的时候,需要知道工厂,则设置 WRK 参数ID。MXX 参数是决定打开哪一个视图,在表 T132 中定义:
双击单元格查看明细
源码
FALV/03-Double click Event
这篇关于Functional ALV系列 (03) -双击ALV事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!