You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过自定义ABAP代码实现自动凭证批次处理?

官方支持的凭证批次自动处理解决方案(适配外部供应商产品及PPPI场景)

问题梳理

你需要为外部供应商的部分产品实现自动凭证批次处理,涉及配置与ABAP开发,但目前发现标准批次仅支持MIGO手动操作,临时方案存在场景覆盖不全、稳定性差的问题;同时还要支持PPPI消耗消息(基于PI04目的地和COCI_CONFIRM_MATERIAL_CONS,该FM调用MB_CREATE_GOODS_MOVEMENT而非BAPI_GOODSMVT_CREATE)的批次处理。

已尝试方案的局限性分析

先聊聊你试过的两种方案的核心问题:

  • MIGO快照临时方案:通过监控VB_INSERT_BATCH、VB_BATCH_WHERE_USED_LIST的表更新手动填充结构,这种方式本质是模拟MIGO的局部逻辑,天然受限于MIGO的采购文档场景,生产/销售订单等场景下缺少必要的上下文数据,扩展性和稳定性都没法保障。
  • BAPI_GOODSMVT_CREATE尝试:这个BAPI确实只调用了VB_BATCH_WHERE_USED_LIST,靠内存ID激活功能需要填充DOCUBATCH_SCREEN_FIELDS这类复杂结构,而且没法直接维护MCHA、MCH1表,数据一致性风险很高,不是长期方案。

官方支持的稳定实现途径

针对这类程序化批次分配需求,SAP官方有几种成熟的实现方式,推荐按优先级尝试:

1. 优先用批次确定策略配置(无/少代码)

通过事务码MBC1/MBC2配置批次确定策略,结合自定义搜索规则,物料移动时自动匹配批次,这是最标准的方式:

  • 为目标物料维护批次搜索策略,把供应商、保质期、批次特性等作为搜索条件,精准匹配外部供应商的产品批次
  • 调用BAPI_GOODSMVT_CREATE时,设置参数BATCH_DETERMINATION = 'X'激活自动批次确定;对于MB_CREATE_GOODS_MOVEMENT,可以在调用前通过内存ID传递批次确定触发标识
  • 针对PPPI的COCI_CONFIRM_MATERIAL_CONS场景,用增强EXIT_SAPLCOCI_001插入标准批次确定逻辑,调用VB_BATCH_DETERMINE完成自动分配,完全贴合标准流程

2. 调用官方批次处理函数模块

如果配置满足不了特殊需求,用SAP提供的官方FM来处理批次,避免直接操作表:

  • 创建批次:用BAPI_BATCH_CREATE或VB_CREATE_BATCH,这两个FM会自动维护MCHA、MCH1等表,保证数据一致性,只需传入物料、工厂、供应商等必要参数
  • 批次分配:在物料移动前,调用VB_BATCH_ASSIGN把批次和目标凭证关联,再触发物料移动操作,确保批次和凭证的绑定逻辑符合标准
  • 针对MB_CREATE_GOODSMVT_CREATE场景,也可以在调用前通过MEMORY ID 'CHA'传入批次号,或者在增强EXIT_SAPMM07M_001中插入自动分配逻辑

3. 增强框架实现自定义逻辑

如果以上两种都满足不了你的特殊业务规则,用SAP增强点来扩展:

  • 物料移动增强:EXIT_SAPLMIGO_001(抬头增强)、EXIT_SAPLMIGO_002(行项目增强),可以在MIGO或MB_CREATE_GOODS_MOVEMENT调用时自动填充批次信息
  • 批次主数据增强:EXIT_SAPLV01Z_001,在创建批次时自动维护供应商相关的自定义字段或特性,方便后续批次确定
  • PPPI消耗增强:EXIT_SAPLCOCI_002,在COCI_CONFIRM_MATERIAL_CONS执行过程中插入批次分配逻辑,确保PPPI消息处理时批次自动到位

关键注意事项

  • 绝对不要直接修改MCHA、MCH1这类主数据表,必须用官方BAPI或FM,否则会导致数据不一致,后续排查问题会非常麻烦
  • 外部供应商的产品一定要在批次特性里维护供应商字段,这样批次确定策略才能精准匹配到对应供应商的批次
  • 测试PPPI场景时,要跟踪COCI_CONFIRM_MATERIAL_CONS的调用流程,确保批次分配逻辑在MB_CREATE_GOODS_MOVEMENT触发前执行完成

内容的提问来源于stack exchange,提问作者Halcyon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:26:58