ABAP-SET UPDATE TASK LOCAL

SET UPDATE TASK LOCAL

影响

切换本地更新任务。这意味着当您指定  CALL FUNCTION ... IN UPDATE TASK时 ,更新数据不会存储在数据库中,而是存储在ABAP / 4 Memory中。此更新与以前一样有效。唯一的区别是

它不是在一个单独的进程中执行,而是在与调用程序相同的进程中执行,即当发生  COMMIT WORK 时,处理不会继续,直到执行了所有更新请求。在标准设置中,正常更新任务始终处于活动状态。

 

交换状态不会从程序传递到程序。这意味着  CALL TRANSACTION 和  SUBMIT 使用标准设置。与此相反,使用CALL DIALOG调用 的模块  继承了开关设置。这是因为CALL TRANSACTION和

SUBMIT在他们自己的LUW中运行  ,而CALL DIALOG则没有。

 

更新中忽略开关设​​置。

在  COMMIT WORK 和  ROLLBACK WORK上 ,重置开关。

 

无法在本地处理具有延迟启动(V2)的更新请求。

与正常更新任务一样,除了类型“S”之外的所有消息都会导致终止和回滚。

 

注意

与正常更新任务不同,本地更新任务不在其自己的LUW中 运行  。如果发生回滚,则还会重置对话框部件中所做的任何更改。

SY-SUBRC = 1 

无法打开本地更新任务,因为已启动CALL FUNCTION ... IN UPDATE TASK。系统继续处于正常更新模式。

 SET UPDATE TASK LOCAL。

 

**********************************************************************************************************************

SET UPDATE TASK LOCAL 

快速参考 

句法

SET UPDATE TASK LOCAL。 

影响

此语句将打开本地更新。本地更新将在当前SAP LUW中的CALL FUNCTION ... IN UPDATE TASK中 注册的高优先级的更新功能模块保存到 ABAP内存而不是数据库VB ....当执行语句 COMMIT WORK时,它保存功能模块立即在当前工作流程中和当前 数据库LUW中。具有低优先级的更新功能模块将忽略此语句。

在每个SAP LUW的开头,都会停用本地更新功能。如果需要,必须在注册第一个更新功能模块之前再次激活它。

本地更新在当前ABAP会话的单独内部会话中 执行,而不是在专用 更新会话中执行

系统字段

SY-SUBRC 含义
0 本地更新功能已激活。
1 本地更新功能尚未激活,因为程序已经为当前SAP LUW中的正常更新过程注册了至少一个更新功能模块。


 

 

 

笔记

    • 本地更新函数在COMMIT WORK语句之后执行同步更新,与添加AND WAIT无关。 

    • 如果在本地更新期间发生数据库回滚,则所有先前的更改请求都会受到影响。 
原文地址:https://www.cnblogs.com/ricoo/p/10154304.html