物料主数据 MRP区域创建 MD_MRP_LEVEL_CREATE_DATA

本文详细介绍了如何在SAP系统中使用BAPI_MD_MRP_LEVEL_CREATE_DATA和BAPI_MD_MRP_LEVEL_CHANGE_DATA来创建和修改物料主数据的MRP区域。代码示例展示了如何通过这些BAPI设置物料的相关字段,并根据物料是否存在来决定使用创建或修改操作。同时,还包含了事务处理的提交和回滚机制。
摘要由CSDN通过智能技术生成

导语:物料主数据有几部分批导,不能在【BAPI_MATERIAL_SAVEDATA】中实现,例如分类视图批导,这里需要在物料创建成功之后,使用另一个BAPI进行导入。

BAPI名称:MD_MRP_LEVEL_CREATE_DATA、MD_MRP_LEVEL_CHANGE_DATA
BAPI描述:MRP区域创建、修改

👉【BAPI记录清单…】

前台位置

在这里插入图片描述

代码示例


        DATA i_matnr           TYPE mdma-matnr.
        DATA i_werk            TYPE mdma-werks.
        DATA i_mrp_area        TYPE mdma-berid.
        DATA i_selfields       TYPE sdibe_massfields.
        DATA i_mdma            TYPE mdma.
        DATA i_dpop            TYPE dpop.
        DATA e_error_return    TYPE bapireturn1.
        DATA i_berty           TYPE mdlv-berty.

        CLEAR : i_matnr,i_werk.
        CLEAR : i_mrp_area,i_mdma,i_selfields,e_error_return,i_berty.


     "创建MRP区域
        CLEAR: i_mrp_area,i_mdma,i_selfields,e_error_return,i_berty.

        i_matnr    = headdata-material.
        i_werk     = plantdata-plant.
        i_mrp_area = mdma-berid.

        i_mdma-matnr = i_matnr.
        i_mdma-berid = mdma-berid.
        i_mdma-dismm = mdma-dismm.
        i_mdma-disgr = mdma-disgr.
        i_mdma-dispo = mdma-dispo.
        i_mdma-eisbe = mdma-eisbe.
        i_mdma-disls = mdma-disls.
        i_mdma-bstmi = mdma-bstmi.
        i_mdma-bstma = mdma-bstma.
        i_mdma-bstfe = mdma-bstfe.
        i_mdma-bstrf = mdma-bstrf.
        i_mdma-sobsl = mdma-sobsl.
        i_mdma-lgfsb = mdma-lgfsb.
        i_mdma-lgpro = mdma-lgpro.

        i_selfields-xdismm = 'X'.
        i_selfields-xdisgr = 'X'.
        i_selfields-xdispo = 'X'.
        i_selfields-xeisbe = 'X'.
        i_selfields-xdisls = 'X'.
        i_selfields-xbstmi = 'X'.
        i_selfields-xbstma = 'X'.
        i_selfields-xbstfe = 'X'.
        i_selfields-xbstrf = 'X'.
        i_selfields-xsobsl = 'X'.
        i_selfields-xlgfsb = 'X'.
        i_selfields-xlgpro = 'X'.

        "判断一下是否已经存在,存在就用修改BAPI
        SELECT COUNT(*) FROM mdma WHERE matnr = i_matnr AND berid = i_mrp_area.
        IF sy-subrc = 0.

          SELECT SINGLE berty INTO i_berty FROM mdlv WHERE berid = i_mrp_area.

          CALL FUNCTION 'MD_MRP_LEVEL_CHANGE_DATA'
            EXPORTING
              i_matnr        = i_matnr
              i_werk         = i_werk
              i_mrp_area     = i_mrp_area
              i_berty        = i_berty
              i_selfields    = i_selfields
              i_mdma         = i_mdma
              i_dpop         = i_dpop
            IMPORTING
              e_error_return = e_error_return.
        ELSE.
          CALL FUNCTION 'MD_MRP_LEVEL_CREATE_DATA'
            EXPORTING
              i_matnr        = i_matnr
              i_werk         = i_werk
              i_mrp_area     = i_mrp_area
              i_selfields    = i_selfields
              i_mdma         = i_mdma
              i_dpop         = i_dpop
            IMPORTING
              e_error_return = e_error_return.
        ENDIF.

        IF e_error_return IS INITIAL.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' "提交该BAPI
            EXPORTING
              wait = 'X'.
        ELSE.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        ENDIF.

作者:小飞猪猪猪猪猪猪猪–CSDN

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞猪猪猪猪猪猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值