SAP工具箱 同步外部數(shù)據(jù)庫任意表

前言

前文介紹過怎么通過ABAP訪問外部數(shù)據(jù)庫

配置篇,詳見鏈接無峰,公眾號:ABAP 技巧與實戰(zhàn)ABAP基礎(chǔ)知識 訪問外部數(shù)據(jù)庫-配置篇
開發(fā)篇,詳見鏈接無峰,公眾號:ABAP 技巧與實戰(zhàn)ABAP基礎(chǔ)知識 訪問外部數(shù)據(jù)庫-開發(fā)篇

本文主要介紹一個簡單的工具

同步外部數(shù)據(jù)庫的任意表到ECC/S4的表中

通過文末的代碼,大家也可以了解一下ABAP怎么通過ADBC動態(tài)訪問外部數(shù)據(jù)庫表

程序執(zhí)行

輸入需要同步的數(shù)據(jù)庫連接(詳見配置篇). 需要同步的表名,及讀取數(shù)據(jù)的限制條目.

執(zhí)行后,提示成功的記錄數(shù)

該程序連接外部ORACLE數(shù)據(jù)庫及外部HANA數(shù)據(jù)庫,測試通過

注意事項

程序主要從外部數(shù)據(jù)庫讀取表內(nèi)容寫入同名本地表中

需要同步的表需要在ECC/S4系統(tǒng)中存在并且遠程數(shù)據(jù)庫的表關(guān)鍵字必須與本地表一致(因為使用modify 從內(nèi)表更新表, 如果主鍵不一致,會導(dǎo)致更新后的數(shù)據(jù)減少)

非關(guān)鍵字段無需一致,同名字段自動賦值.

每次執(zhí)行只能同步一個表的內(nèi)容,如果需要批量同步多個表,需要再寫一個程序調(diào)用該程序.

外部系統(tǒng)也可以是ECC/S4系統(tǒng). 這樣就可以實現(xiàn)兩個ECC系統(tǒng)中的表數(shù)據(jù)內(nèi)容同步了.

該程序未對日期字段做特殊處理,實際應(yīng)用時需要調(diào)整讀取外部系統(tǒng)的SQL語句.

源代碼截圖

程序?qū)崿F(xiàn)代碼非常簡單, 動態(tài)讀取外部表內(nèi)容的FORM詳見文末源代碼部分.

動態(tài)讀取外部表內(nèi)容部分有詳細的注釋,解釋每個語句的含義.

總結(jié)

同步外部數(shù)據(jù)庫的表到ECC/S4系統(tǒng)是ADBC訪問數(shù)據(jù)庫的一個簡單應(yīng)用. 在這個基本功能的基礎(chǔ)上,通過補充部分配置信息,可以實現(xiàn)一個簡單的LT系統(tǒng)(SAP的一個數(shù)據(jù)底層數(shù)據(jù)同步工具)

關(guān)于LTRC的配置詳見鏈接無峰,公眾號:ABAP 技巧與實戰(zhàn)SAP操作手冊之 LT數(shù)據(jù)同步配置

待增加功能:

  • 補充配置表維護需要同步的表,同步周期,時間戳字段名,上次時間戳值等

  • 簡單過濾條件(只同步需要的數(shù)據(jù))

  • 補充配置表維護字段隱射關(guān)系(包含內(nèi)容轉(zhuǎn)換關(guān)系)

  • 實現(xiàn)雙向同步

  • ......

后續(xù)考慮補充上述邏輯實現(xiàn)這個簡單的數(shù)據(jù)同步工具.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容