SAP 创建及修改独立需求计划

该代码示例展示了如何使用SAP的BAPI函数调用BAPI_REQUIREMENTS_CREATE和BAPI_REQUIREMENTS_CHANGE来创建和修改独立需求计划。参数包括工厂、MRP区域、需求号、版本、物料、日期和数量等关键信息。首先创建新的需求计划,然后更新需求计划的内容。

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

创建独立需求计划:BAPI_REQUIREMENTS_CREATE

修改独立需求计划:BAPI_REQUIREMENTS_CHANGE

  DATA: lv_reqmtsplannumber  TYPE pbdnr.
  DATA: ls_requirements_item TYPE bapisitemr.
  DATA: lt_return            TYPE STANDARD TABLE OF bapireturn1.
  DATA: ls_return            TYPE bapireturn1.
  DATA: ls_requirement_param TYPE cm60r.
  DATA: lt_requirements_schedule_in TYPE STANDARD TABLE OF  bapisshdin.
  DATA: lt_requirements_schedule_del TYPE STANDARD TABLE OF  bapisshdin.
  DATA: ls_requirements_schedule_in TYPE bapisshdin.

    CLEAR ls_requirements_item.
    CLEAR ls_requirement_param.
    CLEAR ls_requirements_schedule_in.
    CLEAR ls_pbid.
    CLEAR lv_reqmtsplannumber.

    lv_werks = gs_data-pbdnr+0(4).
    lv_berid = gs_data-pbdnr.


    "工厂
    ls_requirements_item-plant      = lv_werks.
    "MRP AREA
    ls_requirements_item-mrp_area   = lv_berid.
    "
    ls_requirements_item-req_number   = gs_data-pbdnr.
    "激活
    ls_requirements_item-vers_activ = 'X'.
    "版本
    ls_requirements_item-version    = gs_data-versb.
    "Material
    ls_requirements_item-material    = gs_data-matnr.

    "日期
    ls_requirements_schedule_in-req_date = lv_budat.
    "计划周期
    ls_requirements_schedule_in-date_type = '1'.
    "数量
    ls_requirements_schedule_in-req_qty = lv_menge.
    APPEND ls_requirements_schedule_in TO lt_requirements_schedule_in.

      CALL FUNCTION 'BAPI_REQUIREMENTS_CREATE'
        EXPORTING
          requirements_item        = ls_requirements_item
          requirement_param        = ls_requirement_param
*         DO_COMMIT                = 'X'
*         UPDATE_MODE              = 'X'
*         REFER_TYPE               = ' '
*         PROFILID                 = ' '
        IMPORTING
*         MATERIAL                 =
*         PLANT                    =
*         REQUIREMENTSTYPE         =
*         VERSION                  =
          reqmtsplannumber         = lv_reqmtsplannumber
*         MRP_AREA                 =
*         MATERIAL_EVG             =
*         REQ_PLAN_ID_EXT          =
*         REQ_SEGMENT              =
        TABLES
          requirements_schedule_in = lt_requirements_schedule_in
*         REQUIREMENTS_CHAR_IN     =
          return                   = lt_return.

        CALL FUNCTION 'BAPI_REQUIREMENTS_CHANGE'
          EXPORTING
            material                 = lv_matnr
            plant                    = lv_werks
            requirementstype         = 'LSF'
            version                  = gs_data-versb
            reqmtsplannumber         = gs_data-pbdnr
            vers_activ               = 'X'
*           REQUIREMENT_PARAM        =
            mrp_area                 = lv_berid
            do_commit                = 'X'
            update_mode              = 'X'
            delete_old               = 'X'
*           NO_WITHDR                = ' '
*           MATERIAL_EVG             =
*           REQ_PLAN_ID_EXT          =
*           REQ_SEGMENT              =
*           MATERIAL_LONG            =
*           REQ_SEG_LONG             =
* IMPORTING
*           REQUIREMENT_ITEM_OUT     =
          TABLES
            requirements_schedule_in = lt_requirements_schedule_in
*           REQUIREMENTS_CHAR_IN     =
            return                   = lt_return.

BAPI_REQUIREMENTS_CHANGE 首先会将原有的删除。然后去新建新的

### SAP 计划独立需求概述 SAP 系统中的计划独立需求(Planned Independent Requirements, PIR)主要用于物料管理模块,作为生产计划的一部分来确保物料供应满足特定需求。这些需求不是由其他订单或销售活动直接触发,而是基于预测或其他业务逻辑设定的固定数量。 #### 创建客户独立需求 对于创建客户独立需求,在SAP中有专门的事物码MD81用于此目的[^2]。尽管名称中含有“客户”,但实际上并没有直接关联到具体的客户信息字段。相反,这更像是一种与销售订单相联系的方式来进行计划安排。通过这种方式定义的需求可以帮助企业更好地规划生产和库存水平,以应对预期之外的具体客户需求。 #### 修改和删除现有需求 当需要调整已有的独立需求时,可以通过调用`BAPI_REQUIREMENTS_CHANGE`函数实现这一操作[^3]。设置参数`DELETE_OLD=X`可以在更新过程中自动移除那些不再存在于新提交的数据集内的旧记录。这种方法提供了灵活且高效的方式来维护最新的需求状态,而无需手动逐条清理过期项。 #### 数据存储结构 涉及计划独立需求的相关表格主要包括但不限于PBED和PBIM两个表单[^4]。其中前者类似于事务处理界面MD63所显示的信息集合;后者则通常被用来辅助查询过程中的条件过滤。两者共同作用于支持对整个生命周期内所有类型需求的有效管理和追踪。 ```sql SELECT * FROM PBED WHERE <condition>; SELECT * FROM PBIM WHERE <related_condition>; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值