SAP ABAP BDC基础使用方法

BDC

BDC录制

T-CODE: SHDB

输入事务代码之后进行步骤录制,在录制完成之后点击保存。

将对应的BDC记录导出为程序。

image-20220601140007381

程序调用

将BDC导出的程序的所有PERFORM复制到需要调用的程序中。

删去不是手动填入的PERFORM行,并将手动填入的字段用工作区替换。

DATA:LV_MODE.
LV_MODE = 'N'.
DATA: GT_MESSAGE TYPE STANDARD TABLE OF BDCMSGCOLL,
      GS_MESSAGE TYPE BDCMSGCOLL.
DATA: GT_BDCDATA  TYPE STANDARD TABLE OF BDCDATA,
      GST_BDCDATA TYPE BDCDATA.
      
      
FORM  FRM_BDC_CREATE.
  PERFORM BDC_DYNPRO      USING 'SAPLMEGUI' '0014'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '/00'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'MEPO_TOPLINE-SUPERFIELD'.
  PERFORM BDC_FIELD       USING 'MEPO_TOPLINE-SUPERFIELD'
                                GS_DATA-LLIEF.              "供应商
  PERFORM BDC_FIELD       USING 'MEPO_TOPLINE-BEDAT'
                                GS_DATA-BEDAT.                   "凭证日期
                             
                             "....
                             
  CLEAR GS_DATA.
  CALL TRANSACTION 'ME21N' USING GT_BDCDATA        "事务代码
                      MODE LV_MODE				   "MODE值有A、E、N A表示BDC所有步骤都展示,E表示出错才展示,N不展示
                      UPDATE 'S'
                      MESSAGES INTO GT_MESSAGE.    "将返回的消息存入GT_MESSAGE
ENDFORM.

对于FRM_BDC_CREATE中的两种FORM :BDC_DYNPRO 和 BDC_FIELD,通常情况下使用的时候直接复制就可以了,不需要做更改。具体内容如下:

*----------------------------------------------------------------------*
*        Start new screen                                              *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR GST_BDCDATA.
  GST_BDCDATA-PROGRAM  = PROGRAM.
  GST_BDCDATA-DYNPRO   = DYNPRO.
  GST_BDCDATA-DYNBEGIN = 'X'.
  APPEND GST_BDCDATA TO GT_BDCDATA.
ENDFORM.

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
  CLEAR GST_BDCDATA.
  GST_BDCDATA-FNAM = FNAM.
  GST_BDCDATA-FVAL = FVAL.
  APPEND GST_BDCDATA TO GT_BDCDATA.
ENDFORM.

读取程序返回的消息的具体信息

CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'
        TABLES
          IMT_BDCMSGCOLL = GT_MESSAGE
          EXT_RETURN     = LT_BAPIRETURN.
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值