生产版本BAPI

DATA:lt_mkal_i    TYPE TABLE OF mkal,
     lt_mkal_u    TYPE TABLE OF mkal,
     lt_mkal_d    TYPE TABLE OF mkal,
     ls_mkal      TYPE mkal,
     it_mkal_aend TYPE TABLE OF mkal_aend,
     is_mkal_aend TYPE mkal_aend.

CLEAR:ls_mkal.
ls_mkal-matnr = '000000210000000911'."物料编号
ls_mkal-werks = '1248'."工厂
ls_mkal-verid = '119'."生产版本
ls_mkal-text1 = '111'."生产版本的短文本
ls_mkal-bdatu = '99991231'."生产版本的有效期截止日期
ls_mkal-adatu = '20210927'."生产版本的有效期起始日期
ls_mkal-stlal = '01'."可选的 BOM
ls_mkal-stlan = '1'."BOM 用途
ls_mkal-plnty = 'N'."任务清单类型
ls_mkal-plnnr = '50000767'."任务清单组键值
ls_mkal-alnal = '01'."组计数器
ls_mkal-serkz = ''."版本允许的重复制造
ls_mkal-mdv01 = ''."用于重复制造的生产线
ls_mkal-elpro = ''."对组件提出发货仓储地点
ls_mkal-alort = ''."重复生产的收货库存地点
ls_mkal-PRFG_F = '1'."重复生产的收货库存地点
ls_mkal-PRFG_S = '1'."重复生产的收货库存地点
*ls_mkal-PRFG_R = '1'."重复生产的收货库存地点
*ls_mkal-PRFG_G = '1'."重复生产的收货库存地点
ls_mkal-PRDAT = '20210927'."重复生产的收货库存地点

APPEND ls_mkal TO lt_mkal_u.

CALL FUNCTION 'CM_FV_PROD_VERS_DB_UPDATE'
  TABLES
    it_mkal_i    = lt_mkal_i
    it_mkal_u    = lt_mkal_u
    it_mkal_d    = lt_mkal_d
    it_mkal_aend = it_mkal_aend.

IF sy-subrc EQ 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.

ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ENDIF.
原文地址:https://www.cnblogs.com/BinGeneral/p/15529862.html