SAP Cloud Application Studio同时发出多条消息

2020-08-26 20:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我试图在我的项目节点上循环,并根...

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

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


我试图在我的项目节点上循环,并根据我的自定义操作中的代码为每个项目引发一条特定的消息,并在完成我的操作执行后显示所有消息,但是它仅显示最后一条消息,而不是 显示所有消息。

BO:

导入AP.Common.GDT;
 导入AP.LogisticsExecution.Global;

 businessobject BusinessObject2 {

 [AlternativeKey]元素ID:UUID;
 元素哑元:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素地址:LANGUAGEINDEPENDENT_EXTENDED_Text;
 元素Date:Date;
 元素ProductID:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素SalesOrderNumber:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素DeliveryCode:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素LoadingNote:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素CertificationDate:Date;
 元素Batch:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素来源:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素ShipmentMode:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素DispatchDate:Date;
 元素RecertificationDate:Date;


 节点列表[0,n]引发Message,setValues,继续,超过Maximum,低于Minimum
 {
 元素测试:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素方法:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素UoM:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素Min:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素典型值:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素上限:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素InspectionResult:LANGUAGEINDEPENDENT_MEDIUM_Text;
 message消息文本"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
 消息setValues文本"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
 消息继续文本"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
 消息超出了最大文本数"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
 下方的消息最小文本"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
 动作比较
 }
 行动检查;
 行动测试;
 }
 

动作比较:

导入ABSL;

 foreach(此变量项)
 {
 if(item.InspectionResult.FindRegex(" [^ [:digit:]]")> = 0
 ||  item.Min.FindRegex(" [^ [:digit:]]")> = 0
 ||  item.Max.FindRegex(" [^ [:digit:]]")> = 0)
 {
 引发Message.Create(" E","检查中的值之一不是数字" + item.Test);
 }
 否则if(item.InspectionResult.IsInitial()|| item.Min.IsInitial()|| item.Max.IsInitial())
 {
 提高setValues.Create(" E","请设置检查的所有值" + item.Test);
 }
 其他
 {
 var result = Numeric.ParseFromString(item.InspectionResult);
 var min = Numeric.ParseFromString(item.Min);
 var max = Numeric.ParseFromString(item.Max);


 if(结果> =最小值&&结果<=最大值)
 {
 提高procedure.Create(" I","" + item.Test +"的检查结果在边距之内。");
 }
 否则if(结果>最大值)
 {
 引发超出MaximumMax.Create(" E","" + item.Test +"的检查结果超过了最大值。");
 }
 否则if(结果<分钟)
 {
 提高到belowMinimum.Create(" E","" + item.Test +"的检查结果低于最小值。");
 }
 }
 }
 


付费偷看设置
发送
1条回答
d56caomao
1楼 · 2020-08-26 20:56.采纳回答

我只是让我的业务对象从根节点引发消息,并且还在根节点中创建了操作。

导入AP.Common.GDT;
 导入AP.LogisticsExecution.Global;

 businessobject BusinessObject2引发消息{

 [AlternativeKey]元素ID:UUID;
 元素哑元:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素地址:LANGUAGEINDEPENDENT_EXTENDED_Text;
 元素Date:Date;
 元素ProductID:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素SalesOrderNumber:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素DeliveryCode:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素LoadingNote:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素CertificationDate:Date;
 元素Batch:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素来源:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素ShipmentMode:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素DispatchDate:Date;
 元素RecertificationDate:Date;
                 message消息文本"&1":LANGUAGEINDEPENDENT_EXTENDED_Text;
                 动作比较
                 行动检查;
 行动测试;

 节点列表[0,n] {
 元素测试:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素方法:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素UoM:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素Min:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素典型值:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素上限:LANGUAGEINDEPENDENT_MEDIUM_Text;
 元素InspectionResult:LANGUAGEINDEPENDENT_MEDIUM_Text;
 }
 } 

一周热门 更多>