SAP MIGO 101 BAPI
时间: 2025-04-08 14:06:05 浏览: 93
<think>嗯,用户想查找关于SAP MIGO事务码101的BAPI使用方法和文档。首先,我需要回忆一下SAP中与物料凭证相关的BAPI有哪些。记得常用的BAPI是BAPI_GOODSMVT_CREATE,它用于创建物料移动,比如MIGO 101这种货物移动。
用户提到MIGO 101,这通常对应货物移动类型101,也就是采购订单收货。所以,BAPI_GOODSMVT_CREATE应该能处理这个需求。接下来,要确认这个BAPI的参数和结构。比如,需要构造GOODSMVT_HEADER和GOODSMVT_ITEM表,其中HEADER包含移动类型、过账日期等,ITEM表则包括物料号、数量、工厂、库存地点等信息。
另外,用户可能在使用时需要注意一些细节,比如必须提供参考凭证如采购订单号,或者在取消凭证时需要用到BAPI_GOODSMVT_CANCEL。但根据用户的问题,当前焦点可能在创建而不是取消,不过引用中提到了BAPI_GOODSMVT_CANCEL,所以可能也需要简要提及。
还要考虑用户是否有权限问题,以及调用BAPI后需要执行BAPI_TRANSACTION_COMMIT来提交事务。同时,错误处理也很重要,检查RETURN表是否有错误信息。
用户可能需要示例代码,所以应该提供一个基本的ABAP调用示例,展示如何设置参数和调用BAPI。此外,用户可能还会遇到需要增强或用户出口的情况,比如EXIT_SAPLV01F_001或002,这些可能在引用[2]中提到,可以引用相关内容。
最后,确保回答覆盖了文档来源,如SAP官方文档、OSS Notes,以及测试环境的重要性。用户可能需要进一步的问题,比如如何处理特定错误,或者性能优化方法,所以生成的相关问题要涵盖这些潜在需求。</think>### SAP MIGO事务码101的BAPI使用方法
在SAP中,事务码**MIGO 101**用于执行**货物移动(Goods Movement)**,具体对应采购订单的收货操作。通过BAPI实现此功能的核心接口是`BAPI_GOODSMVT_CREATE`。以下是具体步骤及注意事项:
---
#### 1. **BAPI_GOODSMVT_CREATE 核心参数**
调用该BAPI需构造以下关键结构:
- **`GOODSMVT_HEADER`**:定义凭证抬头信息,如移动类型、过账日期、参考凭证等。
```abap
DATA: ls_header TYPE bapi2017_gm_head_01,
lt_item TYPE TABLE OF bapi2017_gm_item_create,
lv_docnum TYPE bapi2017_gm_head_ret-mat_doc,
lt_return TYPE TABLE OF bapiret2.
ls_header-pstng_date = sy-datum. "过账日期
ls_header-doc_date = sy-datum. "凭证日期
ls_header-move_type = '101'. "移动类型
```
- **`GOODSMVT_ITEM`**:定义物料凭证行项目,包括物料号、数量、工厂、库存地点等。
```abap
DATA: ls_item TYPE bapi2017_gm_item_create.
ls_item-material = 'MAT001'. "物料号
ls_item-plant = '1000'. "工厂
ls_item-stge_loc = 'FG01'. "库存地点
ls_item-move_type = '101'. "移动类型(需与抬头一致)
ls_item-entry_qnt = 100. "数量
ls_item-po_number = '4500001234'. "采购订单号(必填)
APPEND ls_item TO lt_item.
```
---
#### 2. **调用BAPI并提交事务**
```abap
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = ls_header
goodsmvt_code = '01' "固定值,表示移动类型组
TABLES
goodsmvt_item = lt_item
return = lt_return
goodsmvt_headret = lv_docnum. "返回生成的物料凭证号
IF lv_docnum IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
WRITE: '物料凭证号:', lv_docnum.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
"处理错误(通过lt_return表分析具体原因)
ENDIF.
```
---
#### 3. **关键注意事项**
- **移动类型一致性**:抬头(`move_type`)与行项目(`move_type`)需一致[^1]。
- **必填字段**:采购订单号(`po_number`)、工厂、库存地点等字段必须填充。
- **用户出口增强**:若需自定义校验逻辑,可通过用户出口(如`EXIT_SAPLV01F_001`或`EXIT_SAPLV01F_002`)实现[^2]。
- **取消凭证**:若需取消已生成的物料凭证,使用`BAPI_GOODSMVT_CANCEL`并传入凭证号[^1]。
---
#### 4. **文档与测试建议**
- **官方文档**:通过事务码`BAPI`或SAP Help Portal搜索`BAPI_GOODSMVT_CREATE`获取参数细节。
- **测试环境**:建议在开发或测试系统验证逻辑,避免生产数据污染。
- **错误处理**:检查`RETURN`表中字段`TYPE`(E表示错误)和`MESSAGE`定位问题。
---
阅读全文
相关推荐


















