2020-08-20 22:23发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我们可以在一次响应中收集所有异常吗? 我的意思是,如果从源头接收到20条记录,则前10条消息成功,接下来2条消息失败,之后5条成功和即将失败。 所以我需要在一个响应中收集每个失败响应。 目前仅执行以下简单的异常处理。
首先我要用一个小脚本收集租户详细信息。
获取租户详细信息:
在"子流程内容修改器"中,异常是存储数据并收集响应有效载荷。
此致
Sandhya
Sandhya,您好
这取决于您的IFlow的构建方式以及异常发生的位置。 如果您拆分了一条消息并将每个记录(可能会引发异常)作为新消息处理,则您可以处理子异常过程中的错误,将它们写入数据存储区并构建第二个流程,该流程将定期收集错误并发送
如果流程中没有拆分,例如 您的记录是在屏幕快照的脚本"响应"中处理的,而不是必须通过try-catch逻辑在此响应脚本中捕获错误。
抽象示例:
import com .sap.gateway.ip.core.customdev.util.Message 导入java.util.HashMap def消息processData(消息消息){ //用于收集错误 def allErrors ="" //添加代码以在此处读取记录 def记录=新的XmlSlurper()。parseText(message.getBody()) records.record.each {记录-> 尝试{ //在这里进行记录处理。 将伪代码替换为您的 def结果= record.text()。toInteger()/2 } catch(异常例外){ allErrors + ="错误:$ {ex.getMessage()} \ r \ n" } } 如果(allErrors!=""){ message.setBody(allErrors) } 返回讯息 }
上面的代码示例
嗨 拉斐尔·赫尔曼(Raffael Herrmann), 感谢我建立的iflow响应,该消息用于拆分和处理消息 我已禁用的每个记录都将在异常情况下停止,因此在异常子进程中添加数据存储后,此处仍然无法在单个响应中收集所有失败消息。
关于
最多设置5个标签!
Sandhya,您好
这取决于您的IFlow的构建方式以及异常发生的位置。 如果您拆分了一条消息并将每个记录(可能会引发异常)作为新消息处理,则您可以处理子异常过程中的错误,将它们写入数据存储区并构建第二个流程,该流程将定期收集错误并发送
如果流程中没有拆分,例如 您的记录是在屏幕快照的脚本"响应"中处理的,而不是必须通过try-catch逻辑在此响应脚本中捕获错误。
抽象示例:
上面的代码示例
嗨 拉斐尔·赫尔曼(Raffael Herrmann),
感谢我建立的iflow响应,该消息用于拆分和处理消息 我已禁用的每个记录都将在异常情况下停止,因此在异常子进程中添加数据存储后,此处仍然无法在单个响应中收集所有失败消息。
关于
Sandhya
一周热门 更多>