如何在并行作业中读取在Buffer中更新的Infotype数据?

2020-08-13 16:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好大师, 我有一个使用Dec...

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

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


你好大师,

我有一个使用Decoupled Framework雇用员工的要求。 数据负载巨大,并实现了并行处理。 在调用flush方法之前,所有传入的信息类型在缓冲区中成功更新后,将雇用该员工。 每个Pernr都映射到PA0185中的唯一标识。 不能将单个标识号分配给两个对象。 因此,如果要聘用已经保存的身份证号码的新员工,我必须发出一条错误消息。 问题在于,如果两个批处理/任务中存在相同的数据并且两个数据都成功更新,则在并行批处理中更新数据时,因为在完成数据库提交之前,PA0185上的select查询不会返回两个新员工的任何记录。

任何想法如何解决该问题。

3条回答
暮风yp
2020-08-13 16:57

As 一批完成提交后,另一批读取更新的表的批处理将读取提交的数据(最新数据)。 例外:

  • 如果该批处理在开始时读取了整个表,则当然不会知道其他批处理正在进行的更新。 除了重新读取数据库外,没有其他解决方法。
  • 如果两个批次大约同时访问数据,那么同样会遇到同样的问题。 没有其他解决方案可以使用锁定机制来避免同时读取表。

一周热门 更多>