SAP-ABAP:SAP的MM模块BAPI的详细介绍
在SAP的MM(物料管理)模块中,BAPI(Business Application Programming Interface)是用于与SAP系统交互的重要工具。以下是MM模块中常用的BAPI及其详细说明,按功能分类整理:
1. 采购订单(Purchase Order, PO)相关
BAPI_PO_CREATE1
- 功能:创建采购订单。
- 关键参数:
PO_HEADER
:采购订单头部信息(如供应商、采购组织等)。PO_ITEM
:采购订单行项目(物料、数量、价格等)。RETURN
:返回消息(成功或错误信息)。
- 注意:需调用
BAPI_TRANSACTION_COMMIT
提交事务。
BAPI_PO_CHANGE
- 功能:修改已有采购订单。
- 关键参数:
PURCHASEORDER
:采购订单号。PO_HEADER_CHANGE
/PO_ITEM_CHANGE
:需修改的字段。
- 注意:需先通过
BAPI_PO_GETDETAIL
获取原始数据。
BAPI_PO_GETDETAIL
- 功能:查询采购订单详细信息。
- 关键参数:
PURCHASEORDER
:采购订单号。ITEMS
:返回行项目数据。
2. 库存管理(Goods Movement)相关
BAPI_GOODSMVT_CREATE
- 功能:过账货物移动(如收货、发货、转移过账)。
- 关键参数:
GOODSMVT_CODE
:移动类型(如101-采购订单收货)。GOODSMVT_HEADER
:凭证抬头(过账日期、工厂等)。GOODSMVT_ITEM
:行项目(物料、数量、库存地点等)。
- 注意:需通过
MATERIALDOCUMENT
返回物料凭证号。
BAPI_MATERIAL_AVAILABILITY
- 功能:检查物料可用性(ATP检查)。
- 关键参数:
MATERIAL
:物料号。PLANT
:工厂。QUANTITY
:需求数量。
3. 供应商主数据(Vendor Master)相关
BAPI_VENDOR_CREATE
- 功能:创建供应商主数据。
- 关键参数:
VENDOR_GENERAL
:通用数据(名称、地址等)。COMPANY_DATA
:公司代码层数据(付款条件等)。
- 注意:需通过
BAPI_VENDOR_GETDETAIL
查询供应商详情。
BAPI_VENDOR_CHANGE
- 功能:修改供应商主数据。
- 关键参数:
VENDOR
:供应商编号。CHANGE_BLOCK
:指定修改的字段。
4. 物料主数据(Material Master)相关
BAPI_MATERIAL_SAVEDATA
- 功能:创建或修改物料主数据。
- 关键参数:
HEADDATA
:物料基本数据(物料号、类型等)。CLIENTDATA
:视图数据(如基本视图、MRP视图等)。
- 注意:需指定视图(如
BASIC_DATA
、PLANT_DATA
)。
BAPI_MATERIAL_GETLIST
- 功能:根据条件查询物料列表。
- 关键参数:
MATNRSELECTION
:物料筛选条件(如范围、类型)。
5. 预留(Reservation)相关
BAPI_RESERVATION_CREATE1
- 功能:创建库存预留。
- 关键参数:
RESERVATION
:预留号。ITEM
:预留行项目(物料、需求数量、工厂等)。
在SAP的MM(物料管理)模块中,BAPI(Business Application Programming Interface)是用于与SAP系统交互的重要工具。以下是MM模块中常用的BAPI及其详细说明,按功能分类整理:
6. 采购订单(Purchase Order, PO)相关
BAPI_PO_CREATE1
- 功能:创建采购订单。
- 关键参数:
PO_HEADER
:采购订单头部信息(如供应商、采购组织等)。PO_ITEM
:采购订单行项目(物料、数量、价格等)。RETURN
:返回消息(成功或错误信息)。
- 注意:需调用
BAPI_TRANSACTION_COMMIT
提交事务。
BAPI_PO_CHANGE
- 功能:修改已有采购订单。
- 关键参数:
PURCHASEORDER
:采购订单号。PO_HEADER_CHANGE
/PO_ITEM_CHANGE
:需修改的字段。
- 注意:需先通过
BAPI_PO_GETDETAIL
获取原始数据。
BAPI_PO_GETDETAIL
- 功能:查询采购订单详细信息。
- 关键参数:
PURCHASEORDER
:采购订单号。ITEMS
:返回行项目数据。
7. 库存管理(Goods Movement)相关
BAPI_GOODSMVT_CREATE
- 功能:过账货物移动(如收货、发货、转移过账)。
- 关键参数:
GOODSMVT_CODE
:移动类型(如101-采购订单收货)。GOODSMVT_HEADER
:凭证抬头(过账日期、工厂等)。GOODSMVT_ITEM
:行项目(物料、数量、库存地点等)。
- 注意:需通过
MATERIALDOCUMENT
返回物料凭证号。
BAPI_MATERIAL_AVAILABILITY
- 功能:检查物料可用性(ATP检查)。
- 关键参数:
MATERIAL
:物料号。PLANT
:工厂。QUANTITY
:需求数量。
8. 供应商主数据(Vendor Master)相关
BAPI_VENDOR_CREATE
- 功能:创建供应商主数据。
- 关键参数:
VENDOR_GENERAL
:通用数据(名称、地址等)。COMPANY_DATA
:公司代码层数据(付款条件等)。
- 注意:需通过
BAPI_VENDOR_GETDETAIL
查询供应商详情。
BAPI_VENDOR_CHANGE
- 功能:修改供应商主数据。
- 关键参数:
VENDOR
:供应商编号。CHANGE_BLOCK
:指定修改的字段。
49 物料主数据(Material Master)相关
BAPI_MATERIAL_SAVEDATA
- 功能:创建或修改物料主数据。
- 关键参数:
HEADDATA
:物料基本数据(物料号、类型等)。CLIENTDATA
:视图数据(如基本视图、MRP视图等)。
- 注意:需指定视图(如
BASIC_DATA
、PLANT_DATA
)。
BAPI_MATERIAL_GETLIST
- 功能:根据条件查询物料列表。
- 关键参数:
MATNRSELECTION
:物料筛选条件(如范围、类型)。
10. 预留(Reservation)相关
BAPI_RESERVATION_CREATE1
- 功能:创建库存预留。
- 关键参数:
RESERVATION
:预留号。ITEM
:预留行项目(物料、需求数量、工厂等)。
通用注意事项
- 提交事务:大多数创建/修改类BAPI需调用
BAPI_TRANSACTION_COMMIT
提交。 - 错误处理:检查
RETURN
表或RETURN_MESSAGES
结构中的消息。 - 增强字段:使用
EXTENSIONIN
参数传递自定义字段值。 - 测试:建议在测试环境使用
BAPI
的TEST_RUN
参数模拟执行。
示例:创建采购订单的步骤
- 准备数据:填充
PO_HEADER
和PO_ITEM
。 - 调用BAPI:
CALL FUNCTION 'BAPI_PO_CREATE1'
。 - 处理返回:检查
RETURN
表是否有错误。 - 提交事务:调用
BAPI_TRANSACTION_COMMIT
。 - 获取订单号:从
EXPORTING
参数PURCHASEORDER
获取新订单号。
通过合理使用这些BAPI,可以实现MM模块与外部系统的高效集成。建议结合SAP官方文档(如BAPI Explorer
事务代码BAPI
)进行深入学习和调试。