SAP Cloud SDK:将多个选定项添加到另一个表

2020-09-09 15:35发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 我们有具体要求开...

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

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


尊敬的专家,

我们有具体要求开发类似的目标群体。GAF用于材料分组。

我们无法将临时数据表中的多个选定物料(显示主物料中的物料总数)添加到选定物料表中。

下面是我们用来实现功能但未按预期工作的Ruby脚本。


multiSelect =($ data.DataList.GetSelectedRowsCount()> 1); //临时物料主数据表-DataList。

NoOfRowsSelected = $ data.DataList.GetSelectedowsCount();
如果(multiSelect)
LeadSelection = $ data.DataList.LeadSelectedIndex;
对于0中的i ..(NoOfRowsSelected-1)
currentRow = LeadSelection + i;
RequiredDataField = $ data.DataList.Get(currentRow).InternalID;
RequiredDesc = $ data.DataList.Get(currentRow).Description;
newRow = $ data.DataList1//用于添加所选材料的数据表

newAddRow = newRow.Add()
newAddRow.MaterialID = RequiredDataField;
newAddRow.Description = RequiredDesc;
end
end

如果有人有以前的经验或有任何想法添加所选材料?

谢谢。

此致

Sathish

8条回答
暮风yp
2020-09-09 16:22

嗨,Satish,

您的发现符合预期。 除了LeadSelectedIndex之外,没有对ALP中所有选定行索引的直接访问。

如果可用材料ALP与自定义对象绑定,那么您可以看看该线程。

< p> https://answers。 sap.com/questions/12365467/how-to-select-and-move-multiple-rows-of-advance-li.html

另外请注意,您所用的材料是 在ALP中通过搜索和查询列出,因此它可能不受任何BO约束。

在这种情况下,您可以尝试以下解决方法。 不知道它是否真的有效。 最终用户需要单击列的某些单元格以选择行。

  1. 添加另一个名为/root/SelectedRows的数据列表,以将所选行索引保存在数据模型中
  2. 为所有列添加OnClick事件处理程序。 抱歉,在ALP级别或行级别上找不到OnClick。
  3. 将相同的OnClick事件处理程序与下面的脚本一起应用于所有列
    selectedRows = $ data的on click事件。 SelectedRow; //所选行索引的数据表
    //todo:您应该检查所选行中是否已存在行ID,
    //如果已经存在,那么最终用户将取消选择它,因此应该 从列表中删除
    if($ eventArgs.RowIdentifier> -1)
    row = selectedRows.Add();
    row.id = $ eventArgs.RowIdentifier;
    end;

从最终用户的体验和实现看来,与自定义对象的子节点绑定的可用材料ALP似乎是一个更好的选择,在这种情况下,您可以在启用了质量的absl中使用循环所有选定的实例。

Yatsea的问候

一周热门 更多>