abap BDC 使用方法

来源:互联网 发布:奢侈品软件哪个最好 编辑:程序博客网 时间:2024/06/05 01:03
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-VKORGufpr-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.
0 0
原创粉丝点击