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.