自定义验证消息未显示在费用报告中

2020-08-18 21:58发布

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

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


专家们,

我已经在onSave验证中为其中一个客户端实现了一些逻辑,以便在满足条件时显示一些消息。 该逻辑以某种方式起作用,但没有显示该消息:

逻辑如下:

在BO扩展中,我有:

导入AP.Common.GDT;
 导入AP.ExpenseReimbursementManagement.Global;
 [扩展名] businessobject AP.ExpenseReimbursementManagement.Global:ExpenseReport引发附件消息,futurDateMessage {
      
 消息附件消息文本"找不到附件,请附加文档以继续"
 消息futurDateMessage文本"您无法选择将来的日期";
    节点里程{
        }
    节点收据{

       节点ReceiptBeneficiary {
           }
         }
 } 

在验证中,我有:

导入ABSL;
 var flag = false;
 var currentData = Context.GetCurrentSystemDate();
 foreach(var r.this.Receipt)
 {
 if(r.Date.GreaterThan(currentData))
 {
 标志= true;
 }
 }
 if(!this.AttachmentFolder.IsSet())
 {
 attachmentMessage.Create(" E");
 返回false;
 }
 否则,如果(标志)
 {
 futurDateMessage.Create(" E");
 }
 其他
 {
 返回true;
 }
 

(61.6 kB)

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

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


专家们,

我已经在onSave验证中为其中一个客户端实现了一些逻辑,以便在满足条件时显示一些消息。 该逻辑以某种方式起作用,但没有显示该消息:

逻辑如下:

在BO扩展中,我有:

导入AP.Common.GDT;
 导入AP.ExpenseReimbursementManagement.Global;
 [扩展名] businessobject AP.ExpenseReimbursementManagement.Global:ExpenseReport引发附件消息,futurDateMessage {
      
 消息附件消息文本"找不到附件,请附加文档以继续"
 消息futurDateMessage文本"您无法选择将来的日期";
    节点里程{
        }
    节点收据{

       节点ReceiptBeneficiary {
           }
         }
 } 

在验证中,我有:

导入ABSL;
 var flag = false;
 var currentData = Context.GetCurrentSystemDate();
 foreach(var r.this.Receipt)
 {
 if(r.Date.GreaterThan(currentData))
 {
 标志= true;
 }
 }
 if(!this.AttachmentFolder.IsSet())
 {
 attachmentMessage.Create(" E");
 返回false;
 }
 否则,如果(标志)
 {
 futurDateMessage.Create(" E");
 }
 其他
 {
 返回true;
 }
 

(61.6 kB)
付费偷看设置
发送
3条回答
天桥码农
1楼 · 2020-08-18 22:23.采纳回答

在消息前我错过了关键词" raise"。

天桥码农
2楼-- · 2020-08-18 22:24

你好,索拉卜,

 foreach(此收据中的var r){if(r.Date.GreaterThan(currentData)){
         标志= true;
         futurDateMessage.Create(" E");返回false;}} 

但是,当我们拥有一个以上带有将来数据的项目级别时,这将导致消息重复出现,我以这种方式保留了该标志,以表明有些项目需要进行处理。

昵称总是被占用
3楼-- · 2020-08-18 22:36

嗨,

我认为这是由于引发错误消息" futurDateMessage.Create(" E");"后返回的错误缺失所致。

可以请尝试使用 以下代码:

导入ABSL;
 var flag = false;
 var currentData = Context.GetCurrentSystemDate();
 foreach(var r.this.Receipt)
 {
     if(r.Date.GreaterThan(currentData))
     {
         标志= true;
         futurDateMessage.Create(" E");
         返回false;
     }
 }

 if(!this.AttachmentFolder.IsSet())
 {
     attachmentMessage.Create(" E");
     返回false;
 }
 其他
 {
     返回true;
 }
 

BR
Saurabh

一周热门 更多>