ALV获取被选中行,个人所知,一个利用ALVCOMMAND事件 的 slis_selfield 结构获取(适用于单行,只能选择一行),
一个是在内表中构造出一个CHECKBOX,还有一种也是利用ALV标准的选择行。
这里介绍第三个,利用ALV标准的选取多行或者单行。
以下示例是 以 REUSE_ALV_GRID_DISPLAY_LVC 函数
首先在程序内表中定义一个字段selxxx(跟构造CHECKBOX相同),这个的效果是选中了之后,这个内表字段SELXXX会刷新成X。,然后我们只需要在USER_command 的函数中对 X 进行识别就能得到被选中的行。
TYPES : BEGIN OF type_line.
INCLUDE TYPE : type_excel.
TYPES : extrow LIKE srv_key-srv_line, "行号
ekorg LIKE ekko-ekorg, "采购组织
ekgrp LIKE ekko-ekgrp, "采购组
werks LIKE ekpo-werks, "工厂
matnr LIKE ekpo-matnr, "物料号
sflag TYPE flag, "状态标识
status LIKE icon-name, "状态图标
message TYPE bapi_msg, "消息文本
txz01 TYPE ekpo-txz01, " 物料描述
selxxx TYPE c, "用来记录行选择的字段
count LIKE tbtci-usecount, "计数器
END OF type_line.
然后 在LAYOUT 定义
o_wa_layout-box_fname