SAP中的COMMIT分两种:显示提交和隐士提交。 COMMIT的解释:把当前流程中所有排队的数据更新提交。 commit work 语句是显式更新,程序中还有一些地方可以隐式更新,即不用写这个语句去更新数据库。 如果是隐式,就不需要做什么了。在程序执行完毕的时候,系统会自动执行提交,这就是隐式提交。 可以一句话说:是关于LUW的问题
3. CALL FUNCTION IN BACKROUND TASK 以事务性RFC方式实现RFM调用,远程功能暂不开始执行,等待COMMIT WORK 语句出现时,一次性执行一个或多个远程功能 远程功能调用时,仅允许通过值传递参数,不能进行引用传递,因为在RFC过程中,可以传递参数,并返回结果,但不能改变调用程序的上下文 对表类型参数,在本地普通功能调用中...
IN BACKGROUND UNIT or CALL FUNCTION ... IN BACKGROUND TASK (which is obsolete) within a dialog module are actually started here using COMMIT WORK. Any bgRFCs, tRFCs, or qRFCs registered in a dialog module and not started there using COMMIT WORK are not executed. The statement COMMIT ...
实质上事务RFC调用也属于异步调用 CALL FUNCTIONfuncIN BACKGROUND TASK[DESTINATIONdest],并不立即执行,直到主调程序中的COMMIT WORK语句(隐式提交不要,一定要使用COMMIT WORK显示提交)才一次性执行多个远程函数调用 (函数一定要为RFC函数,且要通过Commit Work语句显示提交后,才会去执行,否则不会执行;如果是同一目标端...
这意味着在这个SAP LUW中使用语句 CALL FUNCTION IN UPDATE TASK或者CALL FUNCTION IN BACKGROUND TASK in the tables VB... or ARFCSSTATE and ARFCSDATA会回滚全部登记项。在某些情况下,被调用程序的ROLLBACK WORK语句也会影响到暂停的SAP LUW。为了防止这点,必须在程序被调用前显式地运行database commit。
" 处理异常 EXIT. ENDIF. " 在更新任务中调用函数模块 CALL FUNCTION 'Z_MY_FUNCTION_MODULE' IN BACKGROUND TASK lv_update_task EXPORTING iv_parameter = 'Some Value'. " 提交事务,以触发更新任务 COMMIT WORK. 在这个示例中,我们首先创建了一个更新任务,并在该任务中调用了函数模块Z_MY_FUNCTION_...
事务性RFC,广义上也属于异步,主调程序不接收结果而继续运行,但并不立即启动远程功能。相关联的RFC可绑定到一个事务单元上LUW,等待主调程序中的COMMIT WORK语句时,一次性执行多个远程函数调用。此种方式的调用解决了调用多个远程RFM时事务问题 CALL FUNCTIONfuncINBACKGROUNDTASK ...
首先,TID可以通过调用功能模块 ID_OF_BACKGROUNDTASK,在CALL…IN BACKGROUND TASK与COMMIT WORK之间调用一获取LUW的TID。获得LUW 的TID之后,就可以继续使用功能函数STATUS_OF_BACKGROUNDTASK确定事务性RFC的状态了: 联机确定 通过SM58显示维护事务性RFC的LUW状态 ...
PERFORMING 'XXX' ON END OF TASK:需要在异步RFC模式下接收远程模块的返回结果或特定异常 事务性RFC:多个关联RFC为了实现数据的完整性和一致性,遇到COMMIT WORK语句执行所有计划更新 * tRFC 事务性RFC调用 CALL FUNCTION 'XXX' IN BACKGROUND TASK 'XXX' 1. 2. BAPI: SAP BAPI, 全称为 Business Application Pro...
CALL FUNCTION update_function IN UPDATE TASK,直到Commit Work 才运⾏ 主要⽤于本地更新(⾮远程RFC调⽤,如果是远程调⽤,则采⽤事务性RFC调⽤⽅式:IN BACKGROUND TASK)20.1.2.RFC函数:远程调⽤ 20.1.2.1.同步 CALL FUNCTION func [ dest] [?desti?nei??n](在DESTINATION不省略的...