SAP 生产订单报工检查报错异常(接口)

场景:

因业务规范需求,不允许跨月报工及取消报工。

常见处理方案 :

1、BADI:WORKORDER_CONFIRM~AT_SAVE - Confirm Order, Time: Dialog;

2、出口增强:CONFPP05 - PP定单确认:储存时的客户特殊增强。

正常情况下(前台事务码操作),在这两处增强均可直接写校验逻辑,不过如果集成外围系统,通过接口报工时,在这两处写类似 MESSAGE ... TYPE 'E' ,都会直接中断,关键是SAP端没有任何异常记录。

遇到此类问题(前台可以,后台不行),实际工作中常见两种处理方法:

1、最简单的方法就是在接口(后台)逻辑中增加校验逻辑,提前避免;

2、正向研究,探索新报错方式或增强方案。

在这里,第一种方案当然不考虑,直接跳过。我们主要研究了正向如何处理,形成通用方案。

刚开始,先研究了报错方式,比如,更换报错方式、抛异常,可惜都不行。继而研究其他增强点,通过多次测试验证,将报工和取消报工的增强独立开,分别在 CONFPP02 和 WORKORDER_CONFIRM~AT_CANCEL_CHECK 完美解决问题(受以前逻辑影响,走了弯路)。

报工校验点:

SMOD:CONFPP02 - PP Order Confirmation: Customer-Specific Input Check Without Change

正常返回报错:

取消报工检查点:

WORKORDER_CONFIRM~AT_CANCEL_CHECK - Confirm Order, Time: Check if Cancellation is Possible

正常返回报错:

完美解决!

~~~~~~~~~~~~~~~~~~填坑路上一去不复返~~~~~~~~~~~~~~~~~~

相关推荐
ERP面壁者8 小时前
WTEW的操作记录
sap
爱喝水的鱼丶1 天前
SAP-ABAP:数据类型与数据对象(8篇) 第七篇:进阶优化篇——基于类型与对象特征的性能优化技巧
运维·数据库·学习·性能优化·sap·abap·开发交流
爱喝水的鱼丶2 天前
SAP-ABAP:数据类型与数据对象(8篇) 第四篇:关系映射篇——从类型定义到对象实例的转化逻辑
开发语言·数据库·学习·sap·abap
爱喝水的鱼丶3 天前
SAP-ABAP:ABAP函数 NUMBER_GET_NEXT 详解:从编号范围对象获取下一个编号
运维·数据库·学习·sap·abap
爱喝水的鱼丶3 天前
SAP-ABAP:数据类型与数据对象 第二篇:底层逻辑篇——数据类型的分类体系与底层存储原理
运维·开发语言·学习·sap·abap
爱喝水的鱼丶6 天前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
爱喝水的鱼丶6 天前
SAP-ABAP:第二篇:实操避坑篇——ABAP Hello World程序创建、语法校验到调试运行全流程指南
运维·服务器·数据库·学习·sap·abap
清风雅雨8 天前
SAP-PP 物料标准成本发布异常不能生产报工CKMLPP改表解决方案
sap
爱喝水的鱼丶10 天前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第三篇:ADT常用开发插件与个性化配置教程
数据库·学习·sap·abap
爱喝水的鱼丶10 天前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第二篇:ADT客户端完整安装与初始配置教程
运维·开发语言·学习·sap·abap