关于对物料计量单位的维护

1、业务背景

一般情况下,在设计产品时,明确了物料的计量单位,并在维护物料主数据时,维护完整单位数据。

但也有例外情况,例如当设计产品时,不明确未来的打包方式,不明确要维护哪些种计量单位,只有当生产完成之后,再确定通过包还是箱等方式包装产品,并将新的计量单位同步给外围系统方便运输。因此就需要在生产完成之后,再修改对应的物料主数据的计量单位。

前台操作,事务代码MM02,维护物料的量纲和附加数据里面的计量单位

 附加数据

2、代码参考

调用BAPI:BAPI_MATERIAL_SAVEDATA,增删改计量单位

 
"--------------------@斌将军--------------------
DATA:ls_head   TYPE bapimathead,
     ls_mara   TYPE bapi_mara,
     ls_marax  TYPE bapi_marax,
     lt_marm   TYPE TABLE OF bapi_marm,
     ls_marm   TYPE bapi_marm,
     lt_marmx  TYPE TABLE OF bapi_marmx,
     ls_marmx  TYPE bapi_marmx,
     ls_return TYPE bapiret2.

ls_head-material = '000000000002000076'.  "SAP物料编码

"修改量纲
ls_mara-net_weight = 1."净重
ls_marax-net_weight = 'X'."净重

CLEAR:ls_marm.
ls_marm-alt_unit = 'M'."基本单位
ls_marm-gross_wt = 3."毛重
ls_marm-unit_of_wt = 'KG'."重量单位
ls_marm-volume = 1."业务量
ls_marm-volumeunit = 'M3'."体积单位
APPEND ls_marm TO lt_marm.
CLEAR:ls_marmx.

ls_marmx-alt_unit = 'M'."基本单位
ls_marmx-gross_wt = 'X'."毛重
ls_marmx-unit_of_wt = 'X'."重量单位
ls_marmx-volume = 'X'."业务量
ls_marmx-volumeunit = 'X'."体积单位
APPEND ls_marmx TO lt_marmx.

"删除附加数据计量单位
CLEAR:ls_marm.
ls_marm-alt_unit = 'EA'."基本单位
ls_marm-del_flag = 'X'."删除
APPEND ls_marm TO lt_marm.

"维护多个单位
CLEAR:ls_marm.
ls_marm-alt_unit = 'EA'."基本单位
ls_marm-numerator = 23."分子
ls_marm-denominatr = 10."分母
APPEND ls_marm TO lt_marm.

CLEAR:ls_marmx.
ls_marmx-alt_unit = 'EA'."基本单位
ls_marmx-numerator = 'X'."分子
ls_marmx-denominatr = 'X'."分母
APPEND ls_marmx TO lt_marmx.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    headdata        = ls_head
    clientdata      = ls_mara
    clientdatax     = ls_marax
  IMPORTING
    return          = ls_return
  TABLES
    unitsofmeasure  = lt_marm
    unitsofmeasurex = lt_marmx.

IF ls_return-type = 'E'.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  MESSAGE ls_return-message TYPE 'S' DISPLAY LIKE 'E'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
  MESSAGE '成功' TYPE 'S'.
ENDIF.
"--------------------@斌将军--------------------
 

 

定期更文,欢迎关注

posted @ 2024-01-05 08:22  斌将军  阅读(18)  评论(0编辑  收藏  举报