日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP data extract 数据抽取总结

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP data extract 数据抽取总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一個星期做得最多的工作就是Dataextract,以下是我這一個星期以來對data extract的工作總結。

?

所謂Data extract就是通過SAP ABAP代碼對數據庫數據進行抽取的操作,然后導出并保存為DAT文件。

?

在Commscope中,有SAP的ERP系統和BI的數據系統(貌似叫dataStage),由于兩個系統的數據有時會出現不一致的現象,一般情況下是BI系統的數據較少,這時就需要Dataextract。

?

當BI team 所需要的數據不存在與 BI的系統中時, 此時就需要對SAP系統的數據進行抽取,并且導入到BI的系統中。

?

Data Extract 的操作是在SAP ABAPWorkbench下完成的,通過ABAP代碼將數據以DAT的文件格式保存到Aplicationserver上。然后BI人員會通過他們的工具對DAT文件進行解析處理,這個過程需要SAP ABAP編程人員以及BI的編程人員共同完成。

?

?

以下是如何進行Data extract

?

首先,要在SAP 系統中建立一個用于抽取的程序,并且要符合以下的命名規則

程序名:ZBI_XXX(數據庫表名)

Title: BI:CommScope program for XXX extract (SAP 1)

BI:Legacy Andrew program for XXX extract (SAP 2)

?

Develp class ( ECC6-Package ):ZBI

?

Authorization group:Z_XXXX(first four letters of the tablename)

CTS ( Request ): [issue number] – ABAP extract for tableXXXX(table name)

?

在符合的規范的情況下,要進行ABAP編程以實現數據庫數據抽取。

1.??????使用Tables關鍵字對所要抽取的表進行聲明

2.??????建立存放數據的內表,命名規范為IT_XXX(數據庫表名)

3.??????建立存放數據的structure,命名規范ST_1.

4.??????structure的組建要符合命名規范F_1(字段長度) TYPE C, “ For [數據庫表名]-[字段名]

5.??????聲明i類型變量以記錄數據的數量

6.??????聲明 文件名稱DATA: DSN?? LIKERLGRAP-FILENAME. 并聲明用來儲存DAT文件名稱的變量DATA: V_PARAM(255) TYPE C.

7.??????生成DAT文件的名稱,

8.??????調用 Function module ‘FILE_GET_NAME’ 獲取文件路徑并傳遞給DSN。

9.??????打開文件進行數據抽取,OPEN DATASET DSN FOR OUTPUT IN TEXT MODE.

10.??用Select循環對數據庫表內的數據進行查詢,并放到IT_XXX內表中。

11.?? 將IT_XXX中的數據按照對應關系復制到IT_1中的字段中

12.?? 將結構體 IT_1傳到指定的文件中TRANSFER IT_1 TO DSN LENGTH nn(結構體所有字段的長度之和)。

13.?? 把記錄行數的變量疊加。

14.??endselect以后,將記錄行數的變量打印出來

15.?? 關閉文件傳輸CLOSE DATASETDSN.

?

注:?也正是在寫總結的時候,發現了自己程序中的大BUG!在使用move-corresponding IT_XXX to IT_1的時候,IT_1里根本沒有數據,因為這兩個結構體的字段名根本就不一樣!!

好危險。。。 幸虧發現。。。

?

?

?

由于data extract程序都使用的是固定模板,只需要更改數據庫表名和字段名即可,但是當數據庫表中存在大量字段時,比如說BSAD數據庫表,里面就有160多個字段,如果你每一個字段都查數據庫,并且計算所有字段的長度之和的話,工作量將會非常龐大,而且抽取的數據還不一定準確,所以我自己開發了一個專門打印 extract data program code的程序,只需要輸入數據庫表名就可以自動打印出代碼,不僅節省了時間,而且還可以降低手動編碼的錯誤幾率。


總結

以上是生活随笔為你收集整理的ABAP data extract 数据抽取总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。