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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值