Redwood BPA:流程警报源参数与输出参数匹配

2020-09-20 19:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 是否可以使作业的Out参...

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

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


嗨,

是否可以使作业的Out参数上的过程警报源匹配? 我有一份工作将输出参数设置为后期操作(使用Java),并且我希望过程警报源在该输出参数为某些值时触发,但是当我尝试执行此操作时,似乎看不到 输出参数的值。 似乎只在参数的输入值上触发。

这是预期的吗? 是否有一种方法可以强制从"警报源"实际看到的"后操作"中设置输出参数?

谢谢!

3条回答
我是小鹏鹏啊
2020-09-20 19:44

好,不要让任何人都无法解决...

实际方法是" setSend(boolean send)" ..." sendSend(boolean send)"不存在。

这是一个可行的解决方案。 这会检查是否有任何名为* spool *的附件,如果存在,则会发送电子邮件。

编辑后添加:您也可以在网关中进行所有操作,但是我希望由作业创建者来决定该作业是否在不假脱机的情况下禁止发送电子邮件。 这样,可以将代码添加到所有网关,然后仅要抑制电子邮件的作业可以添加该代码块。

以下是作业的代码(要求流程定义具有Out参数SEND_EMAIL):

 {
   JobParameter jp = jcsJob.getJobParameterByName(" SEND_EMAIL");
   如果(jp == null)抛出新的RuntimeException("无法指定作业参数");

   迭代器= jcsJob.getJobFiles();

   while(it.hasNext()){
  
     JobFile jf =(JobFile)it.next();
     jcsOut.println("作业文件:" + jf.getName());
    
     如果(jf.getName()。contains(" spool")){
       jcsOut.println("找到假脱机。将SEND_EMAIL设置为true。");
       jp.setOutValueString(" true");
       返回;
     }
    
   }

   jcsOut.println("找不到假脱机。");
   jp.setOutValueString(" false");

 } 

这是网关的代码:

 {
 如果(!(jcsEmailAlertGatewayPreSendActionContext.getAlert()。getSourceObject()Job的实例))返回;

   JobParameter jp =((Job)jcsEmailAlertGatewayPreSendActionContext.getAlert()。getSourceObject())。getJobParameterByName(" SEND_EMAIL");
  
   如果(jp == null)返回;
  
   字符串sendEmail = jp.getOutValueString();
  
   如果(sendEmail == null)返回;
  
   如果(sendEmail.equals(" false")){
     jcsEmailAlertGatewayPreSendActionContext.setSend(false);
     jcsEmailAlertGatewayPreSendActionContext.getAlert()。getOperatorMessage()。deleteObject();
     jcsEmailAlertGatewayPreSendActionContext.getAlert()。deleteObject();
   }
 } 

一周热门 更多>