1、显式提交和隐式提交

显式提交是指在程序中使用明确的提交操作来提交数据到数据库。这可以通过使用语句COMMIT或COMMIT WORK来实现。显式提交是一种手动提交数据的方式,它将当前的数据库事务立即提交,使之成为永久性的更改。在显式提交之后,数据将立即被其他事务所见。

与显式提交相对的是隐式提交。在隐式提交中,数据的提交由系统自动处理,而无需明确的提交操作。本文档将通过一个简单的数据库更新操作,介绍各种场景的隐式提交。

"--------------------@斌将军--------------------
DATA:ls_091 TYPE ztsd0091.

ls_091-werks = '1001'.

MODIFY ztsd0091 FROM ls_091.

IF sy-subrc EQ 0.

ENDIF.
"--------------------@斌将军--------------------

2、隐式提交场景

2.1、程序正常终止

如果程序没有报错正常执行完毕,系统将自动提交未提交的数据

如图所示,当程序被断点拦截,MODIFY并未将数据更新到自建表中

当执行完毕,数据更新到自建表

2.2、WAIT关键字

当遇到WAIT UP TO 1 SECONDS或WAIT UNTIL 这种操作,将执行提交

等待结束后,数据更新到自建表

2.3、MESSAGE

当弹出E、I、W类型消息时,将执行提交

弹出消息,数据更新成功

2.4、异步或远程调用RFC

2.4.1、STARTING NEW TASK 调用RFC

执行完毕,数据更新成功

2.4.2、远程调用RFC

调用结束,数据更新成功

2.4.3、同步调用RFC(不触发)

直接调用函数,不会触发提交

调用结束,数据并没有更新

2.4.4、IN BACKGROUND TASK调用RFC(不触发)

事务性异步调用,不会触发

调用结束,数据并没有更新

2.5、SUBMIT

当调用其他程序时

调用完毕,数据更新成功

2.6、CALL SCREEN

跳转到其他屏幕时

调用9000屏幕后,数据更新成功

2.7、数据库操作(不提交)

当更新1009数据到自建表,接着执行SELECT语句

SELECT能查询到更新的1009

但是数据并没有更新到数据库表中

以上就是对隐式提交的举例说明,希望对您有所帮助

定期更文,欢迎关注

 

TRANSLATE with
x
English

Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  


 
TRANSLATE with

COPY THE URL BELOW



Back
EMBED THE SNIPPET BELOW IN YOUR SITE


Enable collaborative features and customize widget: Bing Webmaster Portal
Back

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。