点击此处---> 群内免费提供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
嗨,Satish
您是否打算在Cloud App Studio中使用ByD SDK做到这一点? 还是在ByD之外运行并行应用程序?
为什么在这里使用ruby?
Yatsea的致谢
嗨,Satish,
请根据关于如何在运行时中调试脚本的最后一节尝试调试脚本 https://blogs.sap.com/2017/07/29/ruby-script-in-c4c-oberon-view/
博客与c4c有关 ,但是Byd与c4c共享相同的PDI,因此从技术上讲,该调试应该适用于ByD。
如果您无法调试,则只需在数据模型中添加一些临时字段即可显示/观看 脚本中变量的值,该值与UI上的输入字段绑定。
例如,在数据模型/root/debug_value中添加一个文件,并在UI上添加一个与debug_value绑定的输入字段 p>
然后,您可以在上面的输入字段中显示要查看的变量的值,只需在脚本中添加以下行即可。
一旦触发该事件,然后debug_value将显示在UI上。
希望您可以找出问题出在哪里。
亲切的问候, Yatsea
嗨Yatsea,
感谢您的答复。
是的,我们需要在云应用程序工作室(UI设计器)中完成它。
在这里,我们使用ruby脚本将物料主表添加到所选物料表。
如果您需要更多详细信息,请告诉我。
此致
Sathish
嗨,Satish,
您的发现符合预期。 除了LeadSelectedIndex之外,没有对ALP中所有选定行索引的直接访问。
如果可用材料ALP与自定义对象绑定,那么您可以看看该线程。
< p> https://answers。 sap.com/questions/12365467/how-to-select-and-move-multiple-rows-of-advance-li.html另外请注意,您所用的材料是 在ALP中通过搜索和查询列出,因此它可能不受任何BO约束。
在这种情况下,您可以尝试以下解决方法。 不知道它是否真的有效。 最终用户需要单击列的某些单元格以选择行。
selectedRows = $ data的on click事件。 SelectedRow; //所选行索引的数据表
//todo:您应该检查所选行中是否已存在行ID,
//如果已经存在,那么最终用户将取消选择它,因此应该 从列表中删除
if($ eventArgs.RowIdentifier> -1)
row = selectedRows.Add();
row.id = $ eventArgs.RowIdentifier;
end;
从最终用户的体验和实现看来,与自定义对象的子节点绑定的可用材料ALP似乎是一个更好的选择,在这种情况下,您可以在启用了质量的absl中使用循环所有选定的实例。 p>
Yatsea的问候
Satish,
脚本第3行中有错字。
NoOfRowsSelected = $ data.DataList.GetSelectedowsCount();
应为:
NoOfRowsSelected = $ data.DataList.GetSelectedRowsCount();
请更正并重试。
Yatsea致以亲切问候
嗨Yatsea,
谢谢。
实际上,在此处粘贴脚本时发生了拼写错误。
与您在后端脚本中提到的相同。
如果您需要更多详细信息,请告诉我。
此致
Sathish
一周热门 更多>