MB01 BAPI_GOODSMVT_CREATE退货

"-----------------------------------------@斌将军--------------------------------------------
DATA: LT_HEADER                TYPE  BAPI2017_GM_HEAD_01,
      LT_MODE                  TYPE  BAPI2017_GM_CODE,
      LT_GOODSMVT_HEADRET      TYPE  BAPI2017_GM_HEAD_RET,
      LT_GOODSMVT_ITEM         TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE WITH HEADER LINE,
      LT_GOODSMVT_SERIALNUMBER TYPE STANDARD TABLE OF BAPI2017_GM_SERIALNUMBER WITH HEADER LINE,
      LT_RETURN                TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.

CLEAR:LT_HEADER.
LT_HEADER-PR_UNAME = SY-UNAME.  "用户名
LT_HEADER-DOC_DATE = '20200125'."LV_DATE.  "凭证日期
LT_HEADER-PSTNG_DATE = '20200125'."LV_DATE.  "过账日期
LT_HEADER-HEADER_TXT = '111'."LV_DATE.  "抬头文本
*    01:采购订单的收货
*    02:生产订单的收货
*    03:发货
*    04:转移发布
*    05:其他收货
*    06:货物移动的逆转
*    07:关于转包订单的后续调整

LT_MODE-GM_CODE = '01'.

CLEAR:LT_GOODSMVT_ITEM.
LT_GOODSMVT_ITEM-MATERIAL = '000000000000000111'."物料号
LT_GOODSMVT_ITEM-VENDOR = '0070001111'. "供应商编码
LT_GOODSMVT_ITEM-PO_NUMBER = '8300001111'. "采购订单
LT_GOODSMVT_ITEM-PO_ITEM = '10'. "采购订单
LT_GOODSMVT_ITEM-REF_DOC = '5005351111'. "参考凭证的凭证号
LT_GOODSMVT_ITEM-REF_DOC_IT = '1'. "参考凭证项目
LT_GOODSMVT_ITEM-ENTRY_QNT = '10'."数量
LT_GOODSMVT_ITEM-ENTRY_UOM = 'PC'."单位
LT_GOODSMVT_ITEM-PLANT    = '8011'. "生产工厂
LT_GOODSMVT_ITEM-STGE_LOC = '8611'."库存类型
LT_GOODSMVT_ITEM-MOVE_TYPE = '122'."移动类型
LT_GOODSMVT_ITEM-MVT_IND = 'B'."移动标识
LT_GOODSMVT_ITEM-BATCH = 'P11'."批次
LT_GOODSMVT_ITEM-MOVE_REAS = '0001'."移动原因
APPEND LT_GOODSMVT_ITEM.

CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  EXPORTING
    GOODSMVT_HEADER       = LT_HEADER
    GOODSMVT_CODE         = LT_MODE
  IMPORTING
    GOODSMVT_HEADRET      = LT_GOODSMVT_HEADRET
  TABLES
    GOODSMVT_ITEM         = LT_GOODSMVT_ITEM[]
    GOODSMVT_SERIALNUMBER = LT_GOODSMVT_SERIALNUMBER[]
    RETURN                = LT_RETURN.

IF LT_GOODSMVT_HEADRET IS NOT INITIAL.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT = 'X'.

ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
"-----------------------------------------@斌将军--------------------------------------------

<think>好的,我需要回答用户关于SAP MIGO BAPI 261的使用示例或文档的问题。首先,我应该确认用户提到的MIGO BAPI是否正确,因为通常MIGO事务对应的BAPI可能不止一个,而BAPI_GOODSMVT_CREATE是处理物料凭证的主要BAPI,对应的事务码包括MB01MB31、MIGO等。用户提到的BAPI 261可能是指某个特定功能或文档编号,需要进一步确认。 接下来,我需要回忆SAP中物料凭证创建的相关BAPIBAPI_GOODSMVT_CREATE是常用的,它支持多种移动类型,比如101(采购订单收货)、261(生产订单收货)等。这里的261可能指的是移动类型261,用于生产订单的收货。因此,用户可能是在询问如何使用BAPI_GOODSMVT_CREATE来处理移动类型261的示例。 然后,我需要检查是否有官方文档或示例代码可供参考。SAP的官方文档通常在BAPI的函数模块中有详细说明,包括参数结构和示例。另外,SAP Note或社区论坛也可能提供使用案例。例如,SAP Note 500090可能包含关于该BAPI的使用信息。 用户可能需要具体的参数配置,比如如何填充GOODSMVT_HEADER、GOODSMVT_CODE和GOODSMVT_ITEM。对于移动类型261,需要设置GM_CODE为'03',表示生产订单收货,并在ITEM中指定生产订单号、物料、数量、工厂、库存地点等字段。 此外,测试环境中的测试步骤也很重要,比如使用BAPI_GOODSMVT_CREATE后需要调用BAPI_TRANSACTION_COMMIT来提交事务,或者BAPI_TRANSACTION_ROLLBACK来回滚错误。同时,需要注意错误处理部分,检查RETURN表是否有错误消息。 可能还需要考虑物料主数据、生产订单状态是否已释放,以及相关配置是否正确,比如移动类型261是否在后台配置中启用。这些因素都可能影响BAPI调用的成功与否。 最后,生成相关问题,帮助用户进一步了解相关主题,比如其他移动类型的BAPI使用、生产订单收货的集成方法,或者如何调试BAPI中的错误等。</think>关于SAP MIGO事务对应的BAPIBAPI_GOODSMVT_CREATE)使用示例,以下是关键信息整理: ### 1. BAPI_GOODSMVT_CREATE 功能说明 此BAPI用于创建物料凭证(Goods Movement),支持以下操作类型: - 采购订单收货(移动类型101) - **生产订单收货(移动类型261)** - 库存转移(移动类型311) - 其他移动类型需通过`GM_CODE`参数指定[^1] ### 2. 移动类型261使用示例 ```abap DATA: ls_header TYPE bapi2017_gm_head_01, ls_code TYPE bapi2017_gm_code, lt_item TYPE TABLE OF bapi2017_gm_item_create, ls_item LIKE LINE OF lt_item, lv_docnum TYPE bapi2017_gm_head_ret-mat_doc, lv_year TYPE bapi2017_gm_head_ret-doc_year, lt_return TYPE TABLE OF bapiret2. * 设置凭证头信息 ls_header-pstng_date = sy-datum. "过账日期 ls_header-doc_date = sy-datum. "凭证日期 * 指定操作类型(生产订单收货) ls_code-gm_code = '03'. "03对应生产订单收货[^1] * 设置行项目 ls_item-material = 'MATERIAL_CODE'. "物料编号 ls_item-plant = 'PLANT_CODE'. "工厂 ls_item-stge_loc = 'STORAGE_LOC'. "库存地点 ls_item-move_type = '261'. "移动类型 ls_item-entry_qnt = 100. "数量 ls_item-prod_order = 'PRODUCTION_ORDER_NUM'. "生产订单号 APPEND ls_item TO lt_item. * 调用BAPI CALL FUNCTION 'BAPI_GOODSMVT_CREATE' EXPORTING goodsmvt_header = ls_header goodsmvt_code = ls_code TABLES goodsmvt_item = lt_item return = lt_return IMPORTING materialdocument = lv_docnum matdocumentyear = lv_year. * 处理结果 IF lv_docnum IS NOT INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. WRITE: / '物料凭证', lv_docnum, '已创建'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. LOOP AT lt_return WHERE type CA 'AE'. WRITE: / '错误:', return-message. ENDLOOP. ENDIF. ``` ### 3. 关键参数说明 | 参数 | 值示例 | 说明 | |--------------------|---------------|----------------------------------------------------------------------| | `GM_CODE` | '03' | 固定值表示生产订单收货 | | `MOVE_TYPE` | '261' | 移动类型需与生产订单类型匹配 | | `PROD_ORDER` | 订单号(10位)| 必须为已释放状态的生产订单 | | `ENTRY_QNT` | 正数 | 收货数量不能超过订单数量 | ### 4. 文档参考 1. SAP官方文档:事务码`BAPI`进入浏览器,搜索`BAPI_GOODSMVT_CREATE` 2. SAP Note [500090](https://me.sap.com/notes/500090) - BAPI_GOODSMVT_CREATE使用指南 3. 生产订单集成配置路径:`SPRO > Logistics Execution > 移动类型配置`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值