几乎所有使用PP模块的SAP客户,都会对生产订单做增强。毕竟标准的生产订单功能不能满足大部份企业的需要,例如生产订单中只有状态修改记录,而没有其他数据的修改记录。生产订单的抬头数据、工艺路线、原材料及半成品的BOM用量可以任意修改,这给SAP用户造成很大的困扰。所以标准配置无法满足业务需求的情况下,一般企业会使用生产定单增强,以达到对生产订单的监控、卡关、防呆等目的。

下面为大家介绍SAP生产订单增强实例。


1.通过查找增强程序查到CO02增强点

通过描述可以根据用户需求选择不同的增强点,并进行断点测试,以达到实现用户需求的目的,这里主要介绍 PPCO0007 Exit when saving production order 增强点。

SAP ABAP--生产订单增强实例_数据


2.T-CODE :SMOD 查看增强点及Components

SAP ABAP--生产订单增强实例_用户需求_02


3.T-CODE : SE37 检查增强点是否被激活

做增强前记得要运行 SE37 函数:MODX_FUNCTION_ACTIVE_CHECK,检查增强点是否被激活。这里笔者已经通过CMOD创建Project,并进行

enhancements assignment。如果函数返回结果Active是空值,表示增强点没有激活,代码是不会生效的。


SAP ABAP--生产订单增强实例_用户需求_03

返回ACTIVE = 'X',表示增强点已激活。

SAP ABAP--生产订单增强实例_断点调试_04


4.查看增强点的Function Module 输入输出数据

SAP ABAP--生产订单增强实例_断点调试_05

SAP ABAP--生产订单增强实例_用户需求_06


5.在INCLUDE ZXCO1U06 里输入代码进行调试

CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

     EXPORTING

          TITEL        = 'Error message'

        TEXTLINE1    = 'Production Order can not be change.'

          START_COLUMN = 15

          START_ROW    = 15.

NO_UPDATE = 'X'. "控制生产订单不允许保存

EXIT. "退出返回生产订单界面


前台CO02 修改生产订单效果展示

SAP ABAP--生产订单增强实例_用户需求_07


通过断点调试及前台测试, PPCO0007 增强点可以实现记录生产订单抬头数据修改记录、控制生产订单可否被修改等相关功能。


总结:

1.SE37使用函数 MODX_FUNCTION_ACTIVE_CHECK 验证增强点是否已经激活生效。

2.通过断点调试验证增强点是否可以满足需求。

3.做增强时注意在代码中判断当前系统T-CODE。


长按关注:SAP_SPRO

SAP ABAP--生产订单增强实例_数据_08