SAP增强MM物料主数据.docx
《SAP增强MM物料主数据.docx》由会员分享,可在线阅读,更多相关《SAP增强MM物料主数据.docx(9页珍藏版)》请在冰豆网上搜索。
SAP增强MM物料主数据
1、物料主数据增强(MM01/MM02/MM03)
目的:
SAP标准字段不够使用,利用屏幕增强增加字段,以便用户输入内容并保存至自定义表中。
1.1SE11创建如下表(我们暂且称之谓ADD-ON表)
如图1.1-1:
图1.1-1
1.2创建定制子屏幕的程序
Tcode:
spro,后勤-常规->物料主数据->配置物料主记录->创建定制子屏幕的程序
进去之后填写一个新的函数组,如图1.2-1:
图1.2-1
保存后生成函数组Z_FG2,另外会生成程序(SAPL+函数组名)SAPLZ_FG2,该程序名会在分配屏幕号的时候使用。
1.3SE80定义函数组
se80->functiongroup->Z_FG2,我们会看到已有了两个屏幕和两个include.如图1.3-1:
图1.3-1
双击屏幕0001,添加三个Module,编辑如图1.3-2:
图1.3-2
moduledisable_field:
通过判断TCODE,如果是MM03,则自定义字段为只读,
moduleget_data:
读取ADD-ON表中相应物料的数据,在自定义屏幕中显示出来。
moduleassign_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. " DISABLE_FIELD OUTPUT
*&-------------------------------------------------------------------
*& 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. " GET_DATA OUTPUT
*&-------------------------------------------------------------------
*& Module ASSIGN_DATA INPUT
*&-------------------------------------------------------------------
* text
*--------------------------------------------------------------------
MODULE ASSIGN_DATA INPUT.
ZPARTAPPEND-F1 = F1.
ZPARTAPPEND-F2 = F2.
EXPORT ZPARTAPPEND TO MEMORY ID 'ZPARTAPPEND'.
ENDMODULE. " ASSIGN_DATA INPUT
1.4屏幕界面设计
在屏幕界面点'格式'进行屏幕定义,定义屏幕如图1.4-1,这里我们只用到部分字段。
这两个可编辑框名称分别为:
F1,F2。
图1.4-1
屏幕设计完后保存并激活函数组Z_FG2。
1.5CMOD创建增强
T-CODE:
CMOD,使用出口MGA00001(在增强分配中配置)(物料主数据,不同的模块都有系统自带的出口,可参考SAP系统出口汇总)。
如图1.5-1、图1.5-2、图1.5-3,进去后再双击includeZXMG0U02.增强代码如图1.5-4:
图1.5-1
这里ZMM01已经存在,所以点击更改,如果不存在,点击创建。
图1.5-2
图1.5-3
图1.5-4
如图1.5-4,添加处理代码,用以保存主数据修改后保存到自建表中。
代码如下:
TABLES ZPARTAPPEND.
IF SY-UCOMM = 'BU' OR SY-UCOMM = 'YES'.
IMPORT ZPARTAPPEND FROM MEMORY ID 'ZPARTAPPEND'.
ZPARTAPPEND-MATNR = CMARA-MATNR.
MODIFY ZPARTAPPEND FROM ZPARTAPPEND.
ENDIF.
1.6分配屏幕到主数据的视图中-路径
T-CODE:
spro,后勤-常规->物料主数据->配置物料主记录->定义每个屏幕序列的数据屏幕的结构
再按图1.6-1,图1.6-2进行操作。
图1.6-1
本实例把新增的屏幕放到“基本数据2”视图中,所以参考图1.6-2操作:
图1.6-2
1.7分配屏幕到主数据的视图中-实现
在下图中输入前面创建的函数组对应的程序名(SAPLZ_FG2)及屏幕编号(0001),如图1.7-1,之后点保存,保存时如果需要就创建请求,直至保存成成功:
图1.7-1
1.8MM03测试效果
如图1.8-1:
图1.8-1
添加成功。
1.9MM02测试效果
如图1.9-1(修改),图1.9-2(修改结果):
图1.9-1
图1.9-2