1、需求背景
业务要求,当创建预留时,根据工厂和库存地点判断是否要进行ATP校验,而不能从物料维度控制ATP校验,因此需要做增强实现。
本文档将实现通过增强在前台MB21和BAPI:BAPI_RESERVATION_CREATE1创建时,以及通过BAPI:BAPI_RESERVATION_CHANGE修改预留时,跳过ATP校验。
2、增强实现
2.1、MB21
前台输入创建预留的相关信息,系统报错,无数量可用
找增强点的方法,就是根据错误的消息,创建消息断点,之后往前找到逻辑处理后生成消息的位置,很容易就能找到报消息的地方
因为此处只是做校验,所以可以在FORM开头做逻辑判断,如果需要跳过,直接RETURN,跳过后边E类型消息
重新创建,并生成了预留单
2.2、BAPI
在调用BAPI时,需要传输ATP检查的参数,预留才会执行ATP检查
几乎同样的办法,在调用BAPI:BAPI_RESERVATION_CREATE1创建时,找到ATP检查的FORM
当符合条件时,将BAPI返回的报错消息的消息类型改为警告消息,跳过ATP限制
修改的BAPI:BAPI_RESERVATION_CHANGE也同样走该增强点,可以一道解决。
以上就是通过增强跳过创建预留的ATP检查的方法。
定期更文,欢迎关注