我们在标准表增强的时候,要考虑是放在MARA表中,还是MARC表中
1:标准表增加字段
1.1:SE11在MARA表新增一个include
![](https://i-blog.csdnimg.cn/direct/a6498e56f2db49c1aed4969acd21427b.png)
1.2 : SE11在MARC表新增一个include
2:使用TCODE:OMT3C 创建函数组
3.增加屏幕
系统会自动生成一个0001的屏幕跟0002的屏幕,我们自己新建2个屏幕,屏幕类型为子屏幕,取名为0003,0004
3.1 0001屏幕基础数据1标准屏幕增强
先从MARA把字段拉倒屏幕上去,然后给字段分组
定义PBO跟PAI
IF sy-tcode <> 'MM01' AND sy-tcode <> 'MM02'..
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
CALL FUNCTION 'MARA_GET_SUB'
IMPORTING
wmara = mara
xmara = *mara
ymara = lmara.
DATA: LS_MARA_CI TYPE zsmm_maradev.
MOVE-CORRESPONDING MARA TO LS_MARA_CI.
CALL FUNCTION 'MARA_GET_SUB'
IMPORTING
WMARA = MARA
XMARA = *MARA
YMARA = LMARA.
MOVE-CORRESPONDING LS_MARA_CI TO MARA.
CALL FUNCTION 'MARA_SET_SUB'
EXPORTING
WMARA = MARA.
在TCODE:OMT3E 找到自己需要的物料类型+行业领域的屏幕组
找到对应的属性为屏幕编号为21
TCODE:OMT3B
将SAPLZFMMMTEST1(这个程序是SAPZ+你函数组的名字)覆盖号码9里面
MM01创建物料选择基本视图1
3.2 0003屏幕成本视图1标准屏幕增强
先从MARC把字段拉倒屏幕上去,然后给字段分组
IF sy-tcode <> 'MM01' AND sy-tcode <> 'MM02'..
LOOP AT SCREEN.
IF screen-group1 = 'G2'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
* CALL FUNCTION 'MARA_GET_SUB'
* IMPORTING
* wmara = mara
* xmara = *mara
* ymara = lmara.
*
CALL FUNCTION 'MARC_GET_SUB'
IMPORTING
WMARC = marc
XMARC = *marc
YMARC = marc.
DATA: LS_MARC_CI TYPE zsmm_marCdev.
MOVE-CORRESPONDING MARC TO LS_MARC_CI.
CALL FUNCTION 'MARC_GET_SUB'
IMPORTING
WMARC = MARC
XMARC = *MARC
YMARC = LMARC.
MOVE-CORRESPONDING LS_MARC_CI TO MARC.
CALL FUNCTION 'MARC_SET_SUB'
EXPORTING
WMARC = MARC.
同理找到对应的屏幕
3.3 0004屏幕采购视图的标准屏幕增强
屏幕开发同0003一样。
更改屏幕位置不一样而已