SAP增强-MM-物料主数据 下载本文

1、物料主数据增强(MM01/MM02/MM03)

目的:SAP标准字段不够使用,利用屏幕增强增加字段,以便用户输入内容并保存至自定义表中。

1.1 SE11创建如下表(我们暂且称之谓ADD-ON表)

如图1.1-1:

图1.1-1

1.2 创建定制子屏幕的程序

Tcode:spro,后勤-常规->物料主数据->配置物料主记录->创建定制子屏幕的程序 进去之后填写一个新的函数组,如图1.2-1:

图1.2-1

保存后生成函数组Z_FG2,另外会生成程序(SAPL+函数组名)SAPLZ_FG2,该程序名会

在分配屏幕号的时候使用。

1.3 SE80定义函数组

se80->function group->Z_FG2,我们会看到已有了两个屏幕和两个include.如图1.3-1:

图1.3-1

双击屏幕0001,添加三个Module,编辑如图1.3-2:

图1.3-2

module disable_field:通过判断TCODE,如果是MM03,则自定义字段为只读, module get_data:读取ADD-ON表中相应物料的数据,在自定义屏幕中显示出来。 module assign_data:将自定义屏幕中各字段的值传入内存ID中,以便保存时调用。各模块代码如下(新建这几个module时不用再创建新的include,放到LZ_FG2TOP中即可):

*&------------------------------------------------------------------- *& Module DISABLE_FIELD OUTPUT

*&------------------------------------------------------------------- * text

*-------------------------------------------------------------------- MODULE DISABLE_FIELD OUTPUT. IF SY-TCODE = 'MM03'. LOOP AT SCREEN. SCREEN-INPUT = '0'. MODIFY SCREEN. ENDLOOP. ENDIF.

ENDMODULE. \

*&------------------------------------------------------------------- *& Module GET_DATA OUTPUT

*&-------------------------------------------------------------------

* text

*-------------------------------------------------------------------- MODULE GET_DATA OUTPUT. TABLES:ZPARTAPPEND.

DATA: F1 LIKE ZPARTAPPEND-F1, F2 LIKE ZPARTAPPEND-F2, W_MATNR TYPE MATNR.

IF SY-TCODE = 'MM02' OR SY-TCODE = 'MM03'. GET PARAMETER ID 'MAT' FIELD W_MATNR.

SELECT SINGLE * FROM ZPARTAPPEND WHERE MATNR = W_MATNR. F1 = ZPARTAPPEND-F1. F2 = ZPARTAPPEND-F2. ENDIF.

ENDMODULE. \

*&------------------------------------------------------------------- *& Module ASSIGN_DATA INPUT

*&------------------------------------------------------------------- * text

*-------------------------------------------------------------------- MODULE ASSIGN_DATA INPUT. ZPARTAPPEND-F1 = F1. ZPARTAPPEND-F2 = F2.

EXPORT ZPARTAPPEND TO MEMORY ID 'ZPARTAPPEND'. ENDMODULE. \

1.4 屏幕界面设计

在屏幕界面点'格式'进行屏幕定义,定义屏幕如图1.4-1,这里我们只用到部分字段。这两个可编辑框名称分别为:F1,F2。

图1.4-1

屏幕设计完后保存并激活函数组Z_FG2。

1.5 CMOD创建增强

T-CODE:CMOD,使用出口MGA00001(在增强分配中配置)(物料主数据,不同的模块都有系统自带的出口,可参考SAP系统出口汇总)。如图1.5-1、图1.5-2、图1.5-3,进去后再双击 include ZXMG0U02.增强代码如图1.5-4:

图1.5-1

这里ZMM01已经存在,所以点击更改,如果不存在,点击创建。