确定ALV中已选中复选框的选定行。

2020-08-19 23:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个按预期显示的ALV。 我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个按预期显示的ALV。 我有"全选,取消全选,批准和拒绝"按钮。 在"全选"上,所有行均按预期选择。 当我单击"批准"时,我无法使用cl_gui_alv_grid的" GET_SELECTED_ROWS",因为这仅意味着当所有行均被选中时(即,不通过选中复选框)。

我在这里的解决方案是什么。 我应该循环执行itab n吗,无法使用任何方法?

当我使用cl_gui_alv_grid-> GET_SELECTED_ROWS

时,此方法有效并返回行数

在这种情况下不起作用,我应该在修改=" X"的地方使用itab,然后进入批准流程吗? 有什么建议吗?

(89.5 kB)
4条回答
暮风yp
2020-08-19 23:27 .采纳回答

如果要获取"选中的"行而不是"选中的"行,我认为没有其他方法,只能按带有复选框的列进行过滤。
您可以使用类似的方法来获取所有选中的行 (假设MODIFIED是设置复选框的名称列)

数据(lt_checked)= VALUE ty_alvt_able(用于alv_table WHERE中的alv_row(修改= abap_true)对应#(alv_row))。

您将获得一张表格,其中所有行均被选中。

此致

Adolfo

一周热门 更多>