如何防止两个数据库更新不一致的问题?

2020-09-16 01:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, 是否有可能防...

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

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


你好社区,

是否有可能防止两个数据库更新不一致?

我正在开发一个程序,该程序想同时更新两个加载项表,但是有时仅成功地提交了头表(zheader),没有对项表(zitem)进行更新,但没有任何异常。

以下代码有问题吗? 还是我需要在"更新任务更新"中使用以下更新?

从表it_zheader修改zheader。
 如果sy-subrc = 0。
   l_flag ='X'。
 其他。
   l_flag =''。
 万一。


 从表it_zitem修改zitem。
 如果sy-subrc = 0并且l_flag ='X'。
   l_flag ='X'。
 其他。
   l_flag =''。
 万一。

 如果l_flag ='X'。
    提交工作并等待。
 其他。
   回滚工作。
   消息s398与"更新表成功!"显示为"我"。
 万一。
 

谢谢。

关于

妮可

4条回答
me_for_i
2020-09-16 02:18

以后发布代码时,请在编辑器中使用"代码"按钮。 这次我为您做了。

您的编码不正确。 首先,l_flag不是变量的有意义的名称。 怎么样的previous_modify_successful,并使用提供的abap_true和abap_false代替任意的''和'X'。 但是结构也不好。 当您尝试更新zitem时,即使zheader更新已经失败。

从表it_zheader修改zheader。
 如果sy-subrc = 0。
   从表it_zitem修改zitem。
   如果sy-subrc = 0
     提交工作并等待。
     db_modify_was_successful = abap_true。
   万一。
 万一。
 如果db_modify_was_successful = abap_false。
   回滚工作。
   消息s398与"更新表成功!"显示为"我"。
 ENDIF 

您知道it_item不为空吗? 您能否重现观察到的问题? 您是否尝试过调试?

一周热门 更多>