MMSC 扩充物料库存地点

作者:斌将军 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:MM, 物料管理
MMSC 扩充物料库存地点 - 封面图
MMSC 扩充物料库存地点 - 封面图

#

_当涉及到物料的库存地点时,系统通常会做校验,该物料是否扩充了库存地点,没有扩充则报错。为了不使这样的错误干扰到程序逻辑,通常会在涉及时,先查询MARD表,判断是否存在对应的库存地点。如果没有存在,则直接先扩充库存地点,再执行程序逻辑_

#

MMSC

MMSC 扩充物料库存地点 - 封面图
MMSC 扩充物料库存地点 - 封面图

输入库存地点,点击保存

MMSC 扩充物料库存地点 - 封面图
MMSC 扩充物料库存地点 - 封面图

## 2.1、扩充多个物料

调用BAPI:BAPI_MATERIAL_SAVEREPLICA

"--------------------@斌将军--------------------DATA:ls_return TYPE bapiret2, lt_head TYPE TABLE OF bapie1matheader WITH HEADER LINE, lt_mard TYPE TABLE OF bapie1mard WITH HEADER LINE, lt_mardx TYPE TABLE OF bapie1mardx WITH HEADER LINE.

lt_head-function = '009'.lt_head-material = 'HYM01'.lt_head-storage_view = 'X'.APPEND lt_head.CLEAR lt_head. lt_mard-function = '009'.lt_mard-material = 'HYM01'.lt_mard-plant = '1000'.lt_mard-stge_loc = '1002'.APPEND lt_mard.CLEAR lt_mard. lt_mardx-function = '009'.lt_mardx-material = 'HYM01'.lt_mardx-plant = '1000'.lt_mardx-stge_loc = '1002'.APPEND lt_mardx.CLEAR lt_mardx. CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA' EXPORTING noappllog = 'X' nochangedoc = '' testrun = '' inpfldcheck = '' IMPORTING return = ls_return TABLES headdata = lt_head storagelocationdata = lt_mard storagelocationdatax = lt_mardx. IF ls_return-type <> 'E'. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'.ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ENDIF."--------------------@斌将军--------------------

## 2.2、扩充单个物料

调用BAPI:BAPI_MATERIAL_SAVEDATA

"--------------------@斌将军--------------------DATA: ls_head TYPE bapimathead, ls_stld TYPE bapi_mard, ls_stldx TYPE bapi_mardx, ls_return TYPE bapiret2.

CLEAR:ls_head,ls_stld,ls_stldx.

ls_head-material = '000000000001100023'. " 物料编号ls_head-storage_view = 'X'. " 存储视图"ls_stld-plant = 'P060'. " 工厂ls_stld-stge_loc = '9201'. " 存储地点 ls_stldx-plant = 'P060'. " 工厂ls_stldx-stge_loc = '9201'. " 存储地点 CLEAR ls_return.CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING headdata = ls_head " 物料 storagelocationdata = ls_stld " 工厂&存储地点 storagelocationdatax = ls_stldx " 工厂&存储地点 IMPORTING return = ls_return. IF ls_return-type CA 'AEX'. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'.ENDIF."--------------------@斌将军--------------------
斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「MMSC扩充物料库存地点.md」整理生成,仅用于内部技术分享与学习交流。