创建采购信息记录

这篇博客介绍了如何使用BDC(批量数据通讯)来实现SAP中MM06I事务代码的前台创建和修改采购信息的过程。通过指定的字段如供应商、物料、采购组织、工厂等信息,进行采购信息的录入,并涉及到标准、外协加工等不同状态的处理。此外,还展示了如何设置有效期和价格等相关细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    1. 前台创建

事务代码:ME11

 

 

 

 

    1. BDC实现

 

创建:

report YTEST005
       
no standard page heading line-size 255.




DATA:   bdcdata LIKE bdcdata    OCCURS WITH HEADER LINE.
DATA:   messtab LIKE bdcmsgcoll OCCURS WITH HEADER LINE.
DATA:   ctumode LIKE ctu_params-dismode.
DATA:   text    TYPE c LENGTH 20.

PERFORM frm_bdc_mm03.

FORM frm_bdc_mm03 .

  text 80.
  CONDENSE text.

REFRESH bdcdata.

perform bdc_dynpro      using 'SAPMM06I' '0100'.
perform bdc_field       using 'BDC_CURSOR'
                              'EINA-MATNR'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'EINA-LIFNR'
                              'L1900000'.   供应商
perform bdc_field       using 'EINA-MATNR'
                              '6'.          物料
perform bdc_field       using 'EINE-EKORG'
                              '8000'.       采购组织
perform bdc_field       using 'EINE-WERKS'
                              '1010'.       工厂
PERFORM bdc_field       USING 'RM06I-NORMB'        标准
                              'X'.

*  IF gs_file-esokz = '0'.
*    PERFORM bdc_field       USING 'RM06I-NORMB'        " 标准
*                                  'X'.
*  ELSEIF gs_file-esokz = '3' .
*    PERFORM bdc_field       USING 'RM06I-LOHNB'        " 外协加工
*                                'X'.
*  ELSEIF gs_file-esokz =  'P'.
*    PERFORM bdc_field       USING 'RM06I-PIPEL'        " 管道
*                              'X'.
*  ELSEIF gs_file-esokz =  '2'.
*    PERFORM bdc_field       USING 'RM06I-KONSI'        " 寄售
*                            'X'.
*  ENDIF.

perform bdc_dynpro      using 'SAPMM06I' '0101'.
perform bdc_field       using 'BDC_CURSOR'
                              'EINA-MAHN1'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.

*perform bdc_field       using 'EINA-URZLA'
*                              record-URZLA_006.  CN
*perform bdc_field       using 'EINA-MEINS'
*                              record-MEINS_007.  PC
*perform bdc_field       using 'EINA-UMREZ'
*                              record-UMREZ_008.  1
*perform bdc_field       using 'EINA-UMREN'
*                              record-UMREN_009.  1

perform bdc_dynpro      using 'SAPMM06I' '0102'.
perform bdc_field       using 'BDC_CURSOR'
                              'EINE-NETPR'.
perform bdc_field       using 'BDC_OKCODE'
                              '=KO'.


perform bdc_field       using 'EINE-EKGRP'
                              'M01'.        采购组
perform bdc_field       using 'EINE-WEBRE'
                              'X'.          基于收货的发票验证
perform bdc_field       using 'EINE-MWSKZ'
                              'J0'.         税码
*perform bdc_field       using 'EINE-IPRKZ'
*                              record-IPRKZ_013. D 剩余货架寿命

perform bdc_field       using 'EINE-NETPR'
                              text.             净价
*perform bdc_field       using 'EINE-WAERS'
*                              record-WAERS_015.
*perform bdc_field       using 'EINE-PEINH'
*                              record-PEINH_016.
*perform bdc_field       using 'EINE-BPRME'
*                              record-BPRME_017.
*perform bdc_field       using 'EINE-BPUMZ'
*                              record-BPUMZ_018.
*perform bdc_field       using 'EINE-BPUMN'
*                              record-BPUMN_019.

perform bdc_dynpro      using 'SAPMV13A' '1017'.
perform bdc_field       using 'BDC_CURSOR'
                              'RV13A-DATBI(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=SICH'.
perform bdc_field       using 'RV13A-DATAB(01)'
                              '20190404'.     有效期从
perform bdc_field       using 'RV13A-DATBI(01)'
                              '20200606'.     有效期至
*perform bdc_transaction using 'ME11'.


ctumode 'A'.    "N就是一步完成,A是分步enter完成
*ctumode = 'N'.    "N就是一步完成,A是分步enter完成
REFRESH messtab.

CALL TRANSACTION 'ME11' USING bdcdata
                 
MODE   ctumode
                 
UPDATE 'L'
                 MESSAGES INTO messtab.
LOOP AT messtab.
  WRITE/ messtab-msgtyp,messtab-msgv1,messtab-msgv2,messtab-msgv3,messtab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值