无法访问ABSL中的PSM发布的节点项

2020-09-06 16:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我过去曾问过同样的问...

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

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


专家们,

我过去曾问过同样的问题,但没人能给我正确的答案,可能是因为我的问题不够清楚。 这是我要实现的目标:在SAP Business ByDesign中,在创建采购订单时,当项目时间为"服务"且流程类型为"第三方"时,我尝试默认服务提供位置的值。 当前的默认值是" On-Site",我想将其设置为" Supplier Service Center"。


* 注意:我知道,如果这是"服务订单",那么我可以遵循: https://apps.support.sap.com/sap/support/knowledge/public/en/2740657 但并非如此*

因此,我去了SDK,为采购订单BO创建了业务对象扩展,并创建了一个After-Modify事件,该事件假定为获取节点Item下的注释元素TypeCode的值。 并检查值是否为19-服务,然后使ServiceProvisionLocationTypeCode的值等于3。

我确保所有组件均已发布PSM

这就是为什么我这样做并且遇到上述错误。 有人可以帮我解释一下发生了什么吗? 或向我提供有效的代码段!

谢谢

Mousa

(139.6 kB)
6条回答
2020-09-06 17:34

亲爱的Mousa,

我希望你一切都好!

为了满足您的要求,必须记住您正在执行脚本来检查具有0..N多重性的BO节点。

这意味着该采购订单实例在任何时候都可以有0或N个项目。

我可以看到Saurabh已经谈到了这一点,但是下面是与您的设计类似的ABSL代码:

在上面,您可以看到您正在使用GetFirst()函数访问Item节点上的"实例",然后检查TypeCode元素。

类似地,您应该使用ForEach循环(取决于您的方案)执行相同的操作,并遍历Purchase Order BO实例上的每个项目。

希望这对您和您的发展有帮助! (如果问题已解决,请标记为已回答!)。

亲切的问候,

安迪·布朗克利

一周热门 更多>