HCI-全局变量在循环转到Splitter-Gather步骤中的下一个迭代后被清除

2020-09-24 04:42发布

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

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


大家好,

附件是接口的快照,该接口将新员工从KRONOS系统集成到SAP Onboarding。

背景

传入的XML文件将包含多个新的雇用详细信息。 因此,在集成流程中使用Splitter + Gather。

共有3个请求答复步骤,每个员工完成

  1. 通过SOAP调用发布新入职系统(一旦发布员工,系统将为每位员工生成 kmsUserID
  2. 调用Odata以获取新员工的申请者身份
  3. 调用Odata来将MDF OnboardingCandidateInfo中的readyToHire字段设置为 true

要求:每个请求-答复步骤中的错误处理

关于第二个请求-答复步骤-" Odata调用以获取新员工的申请人ID" ,在odata调用之后以获取申请人ID,我添加了一个router元素, 检查回复消息是否具有申请人ID。 如果不是,则退出循环(拆分器-集合设置)

策略:

假设如果多个员工在不同的步骤中失败,则错误将以以下格式记录:

__________________________

获取申请人ID

__________________________

readyToHire设置

__________________________

readyToHire设置

__________________________

获取申请人ID

…………………..

这将清楚地显示出哪个雇员失败了,以及在哪个请求-答复步骤中。

问题:

我已经在标头中声明了一个全局变量,它将以上述格式保留错误日志。 在每次迭代中,都会将错误日志写入本地数据存储,并在下一次迭代中从数据存储中检索错误日志。 不必从本地数据存储写入和获取数据,因为错误可以仅存储在全局变量中。 它已清除,这就是为什么我尝试将其写入本地DS的原因。 不起作用!

出现在第3 rd 行右上角的

脚本1记录了错误日志变量的值,该值位于"收集"步骤之前的一步。

出现在第一行左上角的脚本2会在"拆分器"步骤之后立即记录同一错误日志变量的值

每次循环启动时都会清除错误日志变量!

脚本1输出:请参阅附件

脚本2输出: 请参阅附件

你们中有人遇到过这样的问题吗? 循环开始前会清除变量。

注意:

  • 我尝试使用GET WRITE(第3行)记录错误值而没有,方法是仅使用普通的旧脚本设置错误日志变量。 不起作用!
  • 可以忽略脚本1输出中标记之前的垃圾值。
snapshot.jpg (94.1 kB)

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

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


大家好,

附件是接口的快照,该接口将新员工从KRONOS系统集成到SAP Onboarding。

背景

传入的XML文件将包含多个新的雇用详细信息。 因此,在集成流程中使用Splitter + Gather。

共有3个请求答复步骤,每个员工完成

  1. 通过SOAP调用发布新入职系统(一旦发布员工,系统将为每位员工生成 kmsUserID
  2. 调用Odata以获取新员工的申请者身份
  3. 调用Odata来将MDF OnboardingCandidateInfo中的readyToHire字段设置为 true

要求:每个请求-答复步骤中的错误处理

关于第二个请求-答复步骤-" Odata调用以获取新员工的申请人ID" ,在odata调用之后以获取申请人ID,我添加了一个router元素, 检查回复消息是否具有申请人ID。 如果不是,则退出循环(拆分器-集合设置)

策略:

假设如果多个员工在不同的步骤中失败,则错误将以以下格式记录:

__________________________

获取申请人ID

__________________________

readyToHire设置

__________________________

readyToHire设置

__________________________

获取申请人ID

…………………..

这将清楚地显示出哪个雇员失败了,以及在哪个请求-答复步骤中。

问题:

我已经在标头中声明了一个全局变量,它将以上述格式保留错误日志。 在每次迭代中,都会将错误日志写入本地数据存储,并在下一次迭代中从数据存储中检索错误日志。 不必从本地数据存储写入和获取数据,因为错误可以仅存储在全局变量中。 它已清除,这就是为什么我尝试将其写入本地DS的原因。 不起作用!

出现在第3 rd 行右上角的

脚本1记录了错误日志变量的值,该值位于"收集"步骤之前的一步。

出现在第一行左上角的脚本2会在"拆分器"步骤之后立即记录同一错误日志变量的值

每次循环启动时都会清除错误日志变量!

脚本1输出:请参阅附件

脚本2输出: 请参阅附件

你们中有人遇到过这样的问题吗? 循环开始前会清除变量。

注意:

  • 我尝试使用GET WRITE(第3行)记录错误值而没有,方法是仅使用普通的旧脚本设置错误日志变量。 不起作用!
  • 可以忽略脚本1输出中标记之前的垃圾值。
snapshot.jpg (94.1 kB)
付费偷看设置
发送
2条回答
四川大学会员
1楼-- · 2020-09-24 05:46

Kriba,你好

对于相同的情况,您是否尝试过使用属性而不是标头进行快速检查。

(标题中的全局变量)->尝试使用属性

感谢和问候,

Praveen T

悠然的二货
2楼-- · 2020-09-24 05:22

嘿Praveen,

感谢我们的建议。 但是,我也尝试过。 但是不要紧。 我更改了整个方法,而不是将错误保存在全局变量中并为每个循环处理该错误,现在通过异常子处理步骤将每个循环的错误写入数据存储中并对其进行处理。

谢谢!

一周热门 更多>