创建预留跳过 ATP 检查增强

作者:斌将军 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

**1**

**需求背景**

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

业务要求,当创建预留时,根据工厂和库存地点判断是否要进行ATP校验,而不能从物料维度控制ATP校验,因此需要做增强实现。

本文档将实现通过增强在前台MB21和BAPI:BAPI_RESERVATION_CREATE1创建时,以及通过BAPI:BAPI_RESERVATION_CHANGE修改预留时,跳过ATP校验。

**2**

**增强实现**

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

**2.1**

**MB21**

前台输入创建预留的相关信息,系统报错,无数量可用

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

找增强点的方法,就是根据错误的消息,创建消息断点,之后往前找到逻辑处理后生成消息的位置,很容易就能找到报消息的地方

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

因为此处只是做校验,所以可以在FORM开头做逻辑判断,如果需要跳过,直接RETURN,跳过后边E类型消息

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

重新创建,并生成了预留单

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

**2.2**

**BAPI**

在调用BAPI时,需要传输ATP检查的参数,预留才会执行ATP检查

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

几乎同样的办法,在调用BAPI:BAPI_RESERVATION_CREATE1创建时,找到ATP检查的FORM

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

当符合条件时,将BAPI返回的报错消息的消息类型改为警告消息,跳过ATP限制

创建预留跳过 ATP 检查增强 - 封面图
创建预留跳过 ATP 检查增强 - 封面图

修改的BAPI:BAPI_RESERVATION_CHANGE也同样走该增强点,可以一道解决。

以上就是通过增强跳过创建预留的ATP检查的方法。

斌将军

关于作者:斌将军

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

来源说明:本文内容由「创建预留跳过ATP检查增强.md」整理生成,仅用于内部技术分享与学习交流。