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無關。
- 如果在本地更新期間發生數據庫回滾,則所有先前的更改請求都會受到影響。