SAP ABAP BDC基础使用方法

SAP ABAP BDC

  • BDC
    • BDC录制
    • 程序调用

BDC

BDC录制

T-CODE: SHDB

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

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

SAP ABAP BDC基础使用方法_第1张图片

程序调用

将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.

你可能感兴趣的:(SAP,ABAP,开发语言,其他)