abap BDC 使用方法
生活随笔
收集整理的這篇文章主要介紹了
abap BDC 使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.t-code:
SHDB將操作錄下來
2.在程序中包含下BDC子程序,只需復制粘貼即可使用,具體代碼如下:
*?包含BDC用子程序
INCLUDE?zbdcrecx.
zbdcecx內容: *----------------------------------------------------------------------*
*?Include?ZBDCRECX
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*?批輸入數據定義
*?數據定義
*?BDC調用相關的數據
DATA:?wbdc??TYPE?bdcdata,
? ? ? ? ? ?itbdc?TYPE?TABLE?OF?bdcdata.
DATA:?fnbdc?TYPE?fnam_____4,
? ? ? ? ? ?fvbdc?TYPE?bdc_fval.
DATA:?wopt?TYPE?ctu_params.
DATA:?wmsg??TYPE?bdcmsgcoll,
? ? ? ? ? ?itmsg?TYPE?TABLE?OF?bdcmsgcoll.
DATA:?nodata_character?VALUE?'/'.
*&---------------------------------------------------------------------*
*& ? ? ? Form??bdc_init
*&---------------------------------------------------------------------*
* ? ? ? ? text
*----------------------------------------------------------------------*
FORM?bdc_init.
? CLEAR?wbdc.
??CLEAR?itbdc.
??CLEAR?wmsg.
??CLEAR?itmsg.
ENDFORM.????????????????????"bdc_init
*----------------------------------------------------------------------*
*????????Start?new?screen??????????????????????????????????????????????*
*----------------------------------------------------------------------*
FORM?bdc_dynpro?USING?program?dynpro.
??CLEAR?wbdc.
??wbdc-program??=?program.
??wbdc-dynpro???=?dynpro.
??wbdc-dynbegin?=?'X'.
??APPEND?wbdc?TO?itbdc.
ENDFORM.????????????????????"BDC_DYNPRO
*----------------------------------------------------------------------*
*????????Insert?field??????????????????????????????????????????????????*
*----------------------------------------------------------------------*
FORM?bdc_field?USING?unam?TYPE?fnam_____4
?????????????????????uval?TYPE?any.
??DATA:?fval?TYPE?bdc_fval.
??WRITE?uval?TO?fval?LEFT-JUSTIFIED.
??IF?fval?NE?nodata_character.
????CLEAR?wbdc.
????wbdc-fnam?=?unam.
*????wbdc-fval?=?fval.
????wbdc-fval?=?fval.
????APPEND?wbdc?TO?itbdc.
??ENDIF.
ENDFORM.????????????????????"BDC_FIELD
3.參照SHDB記錄的操作指令,調用代碼: PERFORM?bdc_init.
*VA01屏幕 PERFORM?bdc_dynpro?USING?'SAPMV45A'?'0101'.
PERFORM?bdc_field?USING?'BDC_CURSOR'?'VBAK-AUART'. PERFORM?bdc_field?USING?'VBAK-VKORG'?ufpr-vkorg. PERFORM?bdc_field?USING?'BDC_OKCODE'?'/00'.
*?調用事務碼完成明細錄入和保存,保存后執行后續操作
??CALL?TRANSACTION?'VA01'?USING?itbdc?OPTIONS?FROM?wopt?MESSAGES?INTO?itmsg.//該步驟可以設置是否立即提交
*?獲得生成的虛擬退貨訂單號
??GET?PARAMETER?ID?'AUN'?FIELD?cfp3-svbfpr.
??GET?PARAMETER?ID?'VL'?FIELD?cfp3-slbfpr.
INCLUDE?zbdcrecx.
zbdcecx內容: *----------------------------------------------------------------------*
*?Include?ZBDCRECX
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*?批輸入數據定義
*?數據定義
*?BDC調用相關的數據
DATA:?wbdc??TYPE?bdcdata,
? ? ? ? ? ?itbdc?TYPE?TABLE?OF?bdcdata.
DATA:?fnbdc?TYPE?fnam_____4,
? ? ? ? ? ?fvbdc?TYPE?bdc_fval.
DATA:?wopt?TYPE?ctu_params.
DATA:?wmsg??TYPE?bdcmsgcoll,
? ? ? ? ? ?itmsg?TYPE?TABLE?OF?bdcmsgcoll.
DATA:?nodata_character?VALUE?'/'.
*&---------------------------------------------------------------------*
*& ? ? ? Form??bdc_init
*&---------------------------------------------------------------------*
* ? ? ? ? text
*----------------------------------------------------------------------*
FORM?bdc_init.
? CLEAR?wbdc.
??CLEAR?itbdc.
??CLEAR?wmsg.
??CLEAR?itmsg.
ENDFORM.????????????????????"bdc_init
*----------------------------------------------------------------------*
*????????Start?new?screen??????????????????????????????????????????????*
*----------------------------------------------------------------------*
FORM?bdc_dynpro?USING?program?dynpro.
??CLEAR?wbdc.
??wbdc-program??=?program.
??wbdc-dynpro???=?dynpro.
??wbdc-dynbegin?=?'X'.
??APPEND?wbdc?TO?itbdc.
ENDFORM.????????????????????"BDC_DYNPRO
*----------------------------------------------------------------------*
*????????Insert?field??????????????????????????????????????????????????*
*----------------------------------------------------------------------*
FORM?bdc_field?USING?unam?TYPE?fnam_____4
?????????????????????uval?TYPE?any.
??DATA:?fval?TYPE?bdc_fval.
??WRITE?uval?TO?fval?LEFT-JUSTIFIED.
??IF?fval?NE?nodata_character.
????CLEAR?wbdc.
????wbdc-fnam?=?unam.
*????wbdc-fval?=?fval.
????wbdc-fval?=?fval.
????APPEND?wbdc?TO?itbdc.
??ENDIF.
ENDFORM.????????????????????"BDC_FIELD
3.參照SHDB記錄的操作指令,調用代碼: PERFORM?bdc_init.
*VA01屏幕 PERFORM?bdc_dynpro?USING?'SAPMV45A'?'0101'.
PERFORM?bdc_field?USING?'BDC_CURSOR'?'VBAK-AUART'. PERFORM?bdc_field?USING?'VBAK-VKORG'?ufpr-vkorg. PERFORM?bdc_field?USING?'BDC_OKCODE'?'/00'.
*?調用事務碼完成明細錄入和保存,保存后執行后續操作
??CALL?TRANSACTION?'VA01'?USING?itbdc?OPTIONS?FROM?wopt?MESSAGES?INTO?itmsg.//該步驟可以設置是否立即提交
*?獲得生成的虛擬退貨訂單號
??GET?PARAMETER?ID?'AUN'?FIELD?cfp3-svbfpr.
??GET?PARAMETER?ID?'VL'?FIELD?cfp3-slbfpr.
總結
以上是生活随笔為你收集整理的abap BDC 使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CALL TRANSACTION 小节
- 下一篇: ABAP 选择屏幕上添加按钮,按钮上添加