呼叫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...