BDC過程詳解

2021-07-25 05:00:58 字數 3284 閱讀 9043

呼叫bdc匯入資料到系統,可以有大致三種方法:

優缺點: 使用與資料量較少情況,操作也不簡單,但是不需要程式設計基礎.

第二: abap 程式設計實現.

優缺點: 當然需要較強的abap程式設計知識,編寫完成,即可實現傻瓜式匯入,復用性強,操作簡單.

本文就詳細介紹第二種方法,abap呼叫bdc匯入資料的過程.首先參考系統標準的include程式bdcrecx1,將bdc處理的核心**拷貝下來。存放到乙個自定義的include程式zbdcrecx1中,自定義程式中不再考慮dataset及bdc group的方法,主要需要拷貝的內錶定義包括bdcdata、messtab;需要拷貝的from如下:

bdc_transaction: 呼叫事務**並傳遞指定的引數,獲取執行結果。

bdc_dynpro: 分配螢幕引數子程式。

bdc_field:分配字段引數子程式。

完整的abap呼叫bdc程式如下:

1.      呼叫 f4_filename 之類方法開啟檔案選擇框(略).

2.      呼叫text_convert_xls_to_sap之類方法匯入資料到內錶,保證內錶.(略)

3.      呼叫bdc匯入資料.(第3步為拷貝系統標準include,將其存放在新建的乙個include中)

3.1. 資料宣告:

data:bdcdata like  bdcdata occurs 0 with header line. "執行的引數傳遞表.

data:messtab like  bdcmsgcoll occurs 0 with header line."返回執行結果.

3.2.     常用方法.

*form: bdc_dynapro 分配螢幕引數子程式.

*form: bdc_field.  分配字段引數子程式.

*form: bdc_transaction 呼叫事務**並傳遞指定的引數.

當然這些方法在生產程式時都包含在includebdcrecx1檔案中. 當然生成的檔案可能不能滿足你的需要,可以自己編輯include檔案,然後包含自己的檔案.

3.2.1 form  bdc_transaction原始碼

form bdc_transaction using tcode ctumode.

data: l_mstring(480).

data: l_subrc like sy-subrc.

refresh messtab.

call transaction tcode using bdcdata

mode  ctumode

update 'a'

messages into messtab.

l_subrc = sy-subrc.

write: / 'call transaction',tcode,

'returncode:',l_subrc,

'recode:', sy-index.

loop at messtab.

select single * from t100 where sprsl = messtab-msgspra

and   arbgb = messtab-msgid

and   msgnr = messtab-msgnr.

if sy-subrc = 0.

l_mstring = t100-text.

if l_mstring cs '&1'.

replace '&1' with messtab-msgv1 into l_mstring.

replace '&2' with messtab-msgv2 into l_mstring.

replace '&3' with messtab-msgv3 into l_mstring.

replace '&4' with messtab-msgv4 into l_mstring.

else.

replace '&' with messtab-msgv1 into l_mstring.

replace '&' with messtab-msgv2 into l_mstring.

replace '&' with messtab-msgv3 into l_mstring.

replace '&' with messtab-msgv4 into l_mstring.

endif.

condense l_mstring.

write: /  messtab-msgtyp,l_mstring(250).

else.

write: / messtab.

endif.

endloop.

refresh bdcdata.

endform.

3.2.2.bdc_dynpro通用原始碼

*作用: 指定bdc_dynpro的實參,告知系統dialog程式名稱:saplmgmm,及screen number:0060  perform bdc_dynpro      using 'saplmgmm' '0060'.

3.2.3. bdc_field 通用原始碼.

*作用指定bdc_field的實參,告知系統把游標放在哪個字段,這裡是「rmmg1-matnr,物料」 perform bdc_field       using 'bdc_cursor'

3.2.4. 源程式呼叫.

先看錄屏生產的記錄表及生產程式.

(1) 複製do……….. enddo之間資料,資料為乙個完整寫入資料過程.呼叫 loop at itab(存放匯入資料表).

(2) 修改其中一些字段,當然要了解字段含義比如:perform bdc_fieldusing '

databrowse-tablename

''zymq004'

.  

此bdc要修改乙個表一些字段,而生成程式表名為 recode-tablename_001.顯然表名確定,

所以只需修改為表名,而非變數即可.一些字段,如:perform bdc_fieldusing

'zymq004-yjbmbm'

gt_data-yjbmbm.

則把字段改為匯入內錶的欄位名,這樣就可以表中讀入.

這樣就可以了.

SAP 錄屏BDC使用 例項

1 輸入tcode shdb進入bdc錄製初始介面,該介面可以實現已建立bdc session資訊的檢視 刪除及鎖定等操作 2 單擊工具欄 newrecording 按鈕建立乙個新的bdc,系統將彈出create recording對話方塊,要求輸入記錄名稱 此名稱可以不用y或z開頭來定義 和錄製程...

BDC部署到sharepoint站點上

一 匯出定義好的bdc 右擊bdcemployee,單擊export 在彈出的對話方塊輸入檔名 bdcemployeequerydatabyname 單擊儲存。二 把定義好的bdc匯入到相應的應用程式中 方法 開啟管理中心 共享伺服器shareserveices1後,在業務資料目錄下方,單擊匯入應用...

make menucofnig過程詳解

makefile menuconfig過程講解 當我們在執行make menuconfig這個命令時,系統到底幫我們做了哪些工作呢?這裡面一共涉及到了一下幾個檔案我們來一一講解 linux核心根目錄下的scripts資料夾 arch arch kconfig檔案 各層目錄下的kconfig檔案 li...