SAP的MM01的BDC程序

在创建时物料描述必须不相同,loop重复调用这段代码实现,物料凭证的批量创建。

注意:当ls_option-dismode = 'A'.可以进行调试,N的话不用调试,和还有个E模式,好像兼容也不错,如果A模式不成功。尝试一下E模式,报错才退出


DATA: LT_MESSTAB TYPE TABLE OF  BDCMSGCOLL,
      LS_MESSTAB TYPE           BDCMSGCOLL,
      LS_OPTION  TYPE           CTU_PARAMS.


"定义BDC相关变量
DATA:GT_BDCDATA TYPE TABLE OF  BDCDATA,
     GS_BDCDATA TYPE           BDCDATA.


PERFORM FRM_BDC_DYNPRO      USING 'SAPLMGMM' '0060'.
PERFORM FRM_BDC_FIELD       USING 'BDC_CURSOR'
                              'RMMG1-MTART'.
PERFORM FRM_BDC_FIELD       USING 'BDC_OKCODE'
                              '=AUSW'.
PERFORM FRM_BDC_FIELD       USING 'RMMG1-MBRSH'
                              'C'.
PERFORM FRM_BDC_FIELD       USING 'RMMG1-MTART'
                              'EPA'.
PERFORM FRM_BDC_DYNPRO      USING 'SAPLMGMM' '0070'.
PERFORM FRM_BDC_FIELD       USING 'BDC_CURSOR'
                              'MSICHTAUSW-DYTXT(02)'.
PERFORM FRM_BDC_FIELD       USING 'BDC_OKCODE'
                              '=ENTR'.
PERFORM FRM_BDC_FIELD       USING 'MSICHTAUSW-KZSEL(01)'
                              'X'.
PERFORM FRM_BDC_FIELD       USING 'MSICHTAUSW-KZSEL(02)'
                              'X'.
PERFORM FRM_BDC_DYNPRO      USING 'SAPLMGMM' '4004'.
PERFORM FRM_BDC_FIELD       USING 'BDC_OKCODE'
                              '=BU'.
PERFORM FRM_BDC_FIELD       USING 'MAKT-MAKTX'
                              '42432535SSS43541'.
PERFORM FRM_BDC_FIELD       USING 'BDC_CURSOR'
                              'MARA-MEINS'.
PERFORM FRM_BDC_FIELD       USING 'MARA-MEINS'
                              'CM'.
PERFORM FRM_BDC_FIELD       USING 'MARA-MTPOS_MARA'
                              'VERP'.
PERFORM FRM_BDC_FIELD       USING 'BDC_OKCODE' '=BU'.
*PERFORM BDC_TRANSACTION USING 'MM01'.

LS_OPTION-DISMODE = 'N'.
LS_OPTION-UPDMODE = 'S'.

CALL TRANSACTION 'MM01' WITH AUTHORITY-CHECK
                 USING GT_BDCDATA
          OPTIONS FROM LS_OPTION
         MESSAGES INTO LT_MESSTAB.

IF LT_MESSTAB[] IS NOT INITIAL.

ENDIF.


FORM FRM_BDC_DYNPRO USING PV_PROGRAM PV_DYNPRO.
  "BDC屏幕
  CLEAR GS_BDCDATA.
  GS_BDCDATA-PROGRAM  = PV_PROGRAM.
  GS_BDCDATA-DYNPRO   = PV_DYNPRO.
  GS_BDCDATA-DYNBEGIN = 'X'.
  APPEND GS_BDCDATA TO GT_BDCDATA.

ENDFORM.                    "frm_bdc_dynpro

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM FRM_BDC_FIELD USING PV_FNAM PV_FVAL.
  "BDC字段
  CLEAR GS_BDCDATA.
  GS_BDCDATA-FNAM = PV_FNAM.
  GS_BDCDATA-FVAL = PV_FVAL.
  APPEND GS_BDCDATA TO GT_BDCDATA.

ENDFORM.                    "frm_bdc_field

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值