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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值