Unlock SAP Data
上次舉辦了主題為:“UnlockSAP Data”的webinar后,很多小伙伴都很感興趣(要是還沒看趕緊去看錄像啊~~),但是因為是英文的,不是很明白。這里跟大家再具體介紹一下。
SAP的ERP產(chǎn)品經(jīng)過了多年的發(fā)展,?目前主要有2個版本,?老的ECC和新發(fā)布的S4HANA。?S4HANA是革命性的新產(chǎn)品,?但上市時間不久,?大部分的老用戶應該還是使用的ECC。
如何”解鎖“HANA的數(shù)據(jù),我們下次再聊,?今天我們就主要聊聊ECC。
ERP系統(tǒng)在絕大多數(shù)企業(yè)都是最為核心的系統(tǒng),?這么重要的系統(tǒng),其中存放的數(shù)據(jù)也是非常寶貴的,?為了挖掘這些數(shù)據(jù)的價值,?企業(yè)紛紛上線了各種報表,BI甚至大數(shù)據(jù)分析系統(tǒng)。但是這些系統(tǒng)通常不能也不會直接在ERP的數(shù)據(jù)庫上運行。?
但是想要獲取ECC系統(tǒng)的數(shù)據(jù)是件很復雜的事情。這是由于大部分的業(yè)務數(shù)據(jù),?SAP將它們封裝起來,以二進制對象的方式存在表的LOB字段里,這些表叫cluster table或者pooled table。讀取這些信息,需要使用專門的ABAP語言編程,然后再傳輸DW系統(tǒng)供用戶分析使用。
關于這一點,我們可以用相對“靜態(tài)”的物料主數(shù)據(jù)來舉個例子。
首先,你需要業(yè)務顧問寫好包含程序處理邏輯的功能說明書,定義清SAP在何種情況下觸發(fā)程序,需要傳輸哪些字段數(shù)據(jù),同時在程序里包含哪些邏輯條件,總之,說明書寫的越詳細,ABAP開發(fā)顧問就越容易理解開發(fā)需求,也就越能準確實現(xiàn)業(yè)務顧問想實現(xiàn)的功能。有了功能說明書之后,開發(fā)顧問就可以著手開發(fā)ABAP程序來傳輸數(shù)據(jù)了。一種比較簡單的方法是可以在SAP中定義增強程序,當物料創(chuàng)建、修改時,只要在SAP系統(tǒng)中對物料主數(shù)據(jù)更新保存成功后,會自動調(diào)用增強程序?qū)⑽锪闲畔⑼扑徒o目標系統(tǒng),并根據(jù)目標系統(tǒng)的響應在SAP中記錄推送結果。
聽上去似乎也不是太復雜,ABAP老司機也許幾個小時就完成了開發(fā)測試一條龍服務…
但是,這僅僅是一個物料主數(shù)據(jù)同步的接口,如果有很多不同的主數(shù)據(jù)呢?如果業(yè)務顧問有那么一點點不靠譜,說明書寫的云山霧罩呢?如果ABAP開發(fā)顧問并不是一個老司機呢?嗯,Will you make a wish, make a wish,閉上眼睛?愿望是口井,Make a wish make a wish,你會聽見真誠的回音……
而且,這還是“靜態(tài)”數(shù)據(jù),如果是交易數(shù)據(jù),再假如業(yè)務忙碌那么一些,那么程序很可能就跪了。說個笑話,某公司SAP和MES系統(tǒng)的集成,關于生產(chǎn)訂單的投料和工序確認數(shù)據(jù)同步,一開始設定的同步時間是5分鐘,一個月后改成了10分鐘,半年后改成了半小時…
對于ERP系統(tǒng)來說,數(shù)據(jù)是不斷發(fā)生變化的,那么DW里的數(shù)據(jù)只能通過ETL的方式從ERP系統(tǒng)進行批量抽取,如果抽取頻率太高,又會對ERP的運行產(chǎn)生很大的壓力,所以一般來說DW的數(shù)據(jù)都是采用T+1的方式從生產(chǎn)系統(tǒng)抽取。
隨著時代的發(fā)展,現(xiàn)在的企業(yè)越來越依賴數(shù)據(jù)分析支撐決策,越早拿到最新的數(shù)據(jù)進行分析,就越容易及時做出正確的決策,從而在殘酷的商業(yè)競爭中搶占先機。所以實時數(shù)據(jù)獲取是個很重要環(huán)節(jié)。
那么,有沒有什么好的方法,能夠解決數(shù)據(jù)傳輸?shù)男蕟栴},能夠大幅減少工作量而又簡單易用呢?
下面我們就來談談HVR。
HVR是一家專注在實時數(shù)據(jù)集成領域的技術方案提供商,?許多世界頂級的企業(yè)都是HVR的用戶,?例如通用電氣,?波音飛機等等。HVR數(shù)據(jù)集成解決方案的基本特點是基于數(shù)據(jù)庫事務日志的連續(xù)數(shù)據(jù)變化捕獲技術(CDC)。簡單的說就是通過直接讀取生產(chǎn)數(shù)據(jù)庫的事務日志就可以捕獲業(yè)務數(shù)據(jù)的變化信息,這就避免了對數(shù)據(jù)庫的SQL查詢訪問,不會對數(shù)據(jù)庫系統(tǒng)產(chǎn)生壓力,是一種非侵入式的數(shù)據(jù)捕獲技術;由于對數(shù)據(jù)庫的事務日志的分析是實時進行的,所以數(shù)據(jù)抽取的延遲時間也可以縮減到秒級,充分滿足企業(yè)對于實時BI或者實時大數(shù)據(jù)的要求。
那么對于ECC里的cluser/pooled table怎么辦呢?別著急,?HVR提供了一個名為SapXForm的插件,可以在數(shù)據(jù)捕獲的同時將LOB對象數(shù)據(jù)“解鎖“為標準的格式化數(shù)據(jù)。舉個例子:
假設我們現(xiàn)在需要將SAP ECC中的數(shù)據(jù)復制到位于云上的AWS Aurora大數(shù)據(jù)分析平臺。我們只需要使用HVR完成以下步驟:
定義數(shù)據(jù)源
給出數(shù)據(jù)庫(例如oracle)的訪問信息(地址、用戶名、口令等)
?2. 定義數(shù)據(jù)目標
目標數(shù)據(jù)庫可以是在本地或異地的數(shù)據(jù)中心,也可以在云上。?HVR支持各種異構場景的數(shù)據(jù)實時同步。在這里,?我們以AWS的Aurora大數(shù)據(jù)分析平臺為例:
?3. 定義需要復制的對象
假設我們需要獲取SAP系統(tǒng)中業(yè)務代碼為BSEG(財務憑證行項目)和T030(科目自動記賬定義)的數(shù)據(jù),我們可以直接在選取表的時候按業(yè)務代碼過濾找到需要的表
?4. 定義復制規(guī)則
在HVR中,復制的規(guī)則也被成為”Action”,?只需要簡單的定義如下規(guī)則就可以完成數(shù)據(jù)的抽取,轉換(”解鎖“)和裝載的工作流程。
?5. 啟動初始化同步數(shù)據(jù)和實時增量同步作業(yè)
HVR貼心的提供了在線初始化同步功能,?這樣在進行首次存量數(shù)據(jù)的同步的時候,就不用中斷業(yè)務啦。嗖的一下,?數(shù)據(jù)就自動整整齊齊分門別類的放到DW中去,?用戶就可以隨時使用報表查詢工具或者分析工具來使用這些數(shù)據(jù)啦。
?
在我的筆記本上, 這十幾萬條記錄只花了22秒鐘的時間。?
?
怎么樣,?10萬多條記錄的T030表,即使使用我的筆記本電腦來測試也只用了5.1秒就完成了數(shù)據(jù)比對,這速度是不是杠杠的呀?
?7. 數(shù)據(jù)查詢
完成以上工作后, ECC系統(tǒng)的數(shù)據(jù)就可以被實時的同步到你的數(shù)據(jù)倉庫或大數(shù)據(jù)平臺上了。 數(shù)據(jù)也被解鎖為標準的數(shù)據(jù)格式, 供用戶直接訪問。
最后, HVR可以將數(shù)據(jù)多種不同類型的平臺之間進行復制,快看看有沒有你感興趣的?
總結
以上是生活随笔為你收集整理的Unlock SAP Data的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux安装python3.6以后报错
- 下一篇: 整理的一些常见问题