在SAP项目实施中PP模块的生产订单的屏幕增强经常会遇到,因为生产订单的抬头和项目行的标准字段信息不可能完全满足不同公司的一些特殊的业务需求,为方便不同公司根据各自业务需求增加相关字段信息,SAP软件为此预留增强出口,可通过实施二代增强可以非常容易满足这些特殊的业务需求。
生产订单屏幕增强:
二代增强出口:PPCO0012
下面通过一个笔者经历过的真实的项目案例来全面了解下生产订单屏幕增强的具体实施步骤(二代增强)
具体业务需求:
某公司的业务主要基于库存的生产模式(MTS),即销售订单和生产订单、采购订单是没有关联的,如果实施按单生产(MTO)模式,虽然生产订单和采购订单可以关联到销售订单,但是这种关联是"强关联",会导致该公司后面业务操作变得比较复杂麻烦,因为该公司生产的产品是相对标准化的,可以卖给不同的客户的。
因此该公司的业务要求是要按库存的生产模式(MTS),但又能够看到销售订单、生产订单、采购订单的关联关系,当然这种关联是“弱关联”,只是在单据上把这种关系建立起来,后面操作还是要像按库存生产(MTO)那样灵活。
业务解决方案:
针对以上业务要求,如果不实施标准的按单生产(MTO)的业务模式,生产订单和采购订单就没有办法和销售订单关联起来,为了满足这样的业务需求,只能通过增强开发实现,具体方案就是在生产订单和采购订单上实施屏幕增强,增加销售订单的字段,将生产订单、采购订单和销售订单关联起来。
比如如下图在生产订单行项目上增加销售订单和项目两字段。
在生产订单和采购订单上增加了销售订单的字段后,就可以在这两种单据上录入销售订单来建立关联,具体录入方式可以非常灵活,在创建生产订单和采购订单的时候人工录入,也可以按一定业务逻辑通过开发自动录入。
生产订单、采购订单和销售订单建立关联后,各业务部门就很容易通过开发的一些报表把这三张单的关联关系呈现出来,方便各业务部门对销售订单、生产订单、采购订单的管控,实现了按库存生产(MTS)的模式,又能把三张单关联起来。
采购订单行项目上增加销售订单号和项目两字段的具体增强实施步骤,可以参考如下文章:
SAP软件MM模块项目实施中常用增强之三:采购订单的屏幕增强
下面详细介绍下在生产订单行项目上增加销售订单号和项目两字段的具体增强实施步骤。
步骤1:增强AUFK的表字段(SE11)
在标准表AUFK上增加2个字段:销售订单和行项目,字段名称ZVBELN或ZPOSNB,数据类型分别为VBELN和POSNR。
步骤2:创建增强项目(CMOD)
创建增强项目,然后按如下步骤分别定义全局数据,设计子屏幕、写屏幕增强代码
全局数据定义LXCO1TOP
增强代码:
TABLES:coci_aufk.
DATA g_display TYPE c.
DATA lv_flag TYPE c.
屏幕显示前触发增强出口:
EXIT_SAPLCOKO1_001
增强代码:
DATA l_fs_c(30) TYPE c VALUE '(SAPLCOKO1)RC27S-AKTYP_PIC'.
DATA l_aktyp TYPE rc27s-aktyp_pic.
FIELD-SYMBOLS <l_fs>.
ASSIGN (l_fs_c) TO <l_fs>.
IF sy-subrc = 0.
l_aktyp = <l_fs>.
IF l_aktyp = 'A'.
g_display = 'X'.
ELSE.
g_display = ''.
ENDIF.
ENDIF.
MOVE-CORRESPONDING i_caufvd TO coci_aufk.
屏幕保存时触发增强函数
EXIT_SAPLCOKO1_002
增强代码:
MOVE-CORRESPONDING coci_aufk TO e_coci_aufk.
步骤3:屏幕出口增强
设计绘制子屏幕:0100
点击【格式】进入如下屏幕设计界面
步骤3:激活项目
最后激活整个增强项目
生产订单屏幕增强实施效果:
增强实施完成后,创建生产订单时候,生产订单界面出现客户屏幕,如下图所示,可以录入销售订单和项目。