二维码

[二代] MM01创建物料主数据屏幕增强

Twilight发表于 2015-06-12 13:14chching5050 最后回复于 2022-05-16 16:34 [复制链接] 31820 46

业务场景:MM01/MM02/MM03操作物料主数据时,在基本数据1视图中新增两个字段:旧物料号、基本单位。

1、创建增强2个字段所需的子屏幕
OMT3C(spro->Logistics-General -> Material Master -> Configuring the material master and execute ‘Create Program for Customized subscreen)
MM01_exit 1.jpg
2、新建函数组,最好命名ZMGD1,表示这是copy标准程序MGD1用来增强的,这里是测试案例命名无所谓了。
MM01_exit 2.jpg

3、SE80打开函数组YMM_FG,画2组元素zmara_old-bismt,zmara_old-meins,参考数据字典打勾
MM01_exit 3.jpg

4、0001屏幕程序流
  1. PROCESS BEFORE OUTPUT.
  2. *                      Verarbeitung vor der Ausgabe
  3.   MODULE disable_fields.
  4.   MODULE get_data.

  5. PROCESS AFTER INPUT.
  6. *                      Verarbeitung nach der Eingabe
  7.   MODULE assign_data.
复制代码
  1. *----------------------------------------------------------------------*
  2. ***INCLUDE LYMM_FGO01.
  3. *----------------------------------------------------------------------*
  4. *&---------------------------------------------------------------------*
  5. *&      Module  DISABLE_FIELDS  OUTPUT
  6. *&---------------------------------------------------------------------*
  7. *       text
  8. *----------------------------------------------------------------------*
  9. MODULE disable_fields OUTPUT.
  10.   IF sy-tcode = 'MM03'.
  11.     LOOP AT SCREEN.
  12.       screen-input = '0'.
  13.       MODIFY SCREEN .
  14.     ENDLOOP.
  15.   ENDIF.
  16. ENDMODULE.                 " DISABLE_FIELDS  OUTPUT
  17. *&---------------------------------------------------------------------*
  18. *&      Module  GET_DATA  OUTPUT
  19. *&---------------------------------------------------------------------*
  20. *       text
  21. *----------------------------------------------------------------------*
  22. MODULE get_data OUTPUT.
  23.   IF sy-tcode = 'MM03' OR sy-tcode = 'MM02'.
  24.     GET PARAMETER ID w_mat FIELD w_matnr.
  25.     SELECT SINGLE bismt meins
  26.       INTO (zmara_old-bismt,zmara_old-meins)
  27.       FROM zmara_old
  28.       WHERE matnr = w_matnr.
  29.   ENDIF.
  30. ENDMODULE.                 " GET_DATA  OUTPUT
复制代码
  1. *----------------------------------------------------------------------*
  2. ***INCLUDE LYMM_FGI01.
  3. *----------------------------------------------------------------------*
  4. *&---------------------------------------------------------------------*
  5. *&      Module  ASSIGN_DATA  INPUT
  6. *&---------------------------------------------------------------------*
  7. *       text
  8. *----------------------------------------------------------------------*
  9. MODULE assign_data INPUT.
  10.   EXPORT zmara_old TO MEMORY ID 'zmara_old'.
  11. ENDMODULE.                 " ASSIGN_DATA  INPUT
复制代码

LYMM_FGTOP中定义全局变量
  1. FUNCTION-POOL ymm_fg
  2.                    MESSAGE-ID m3.

  3. INCLUDE mmmgtrbb.
  4. INCLUDE mmmgbbau.
  5. * Retail-Spezifische Deklarationen
  6. INCLUDE mmmwtrbb.
  7. INCLUDE mmmwbbau.
  8. *---------------------------------
  9. INCLUDE wstr_definition. "Holds BADI global definition

  10. DATA:w_matnr TYPE mara-matnr.
  11. DATA:w_mat TYPE tpara-paramid.
  12. TABLES:zmara_old.
复制代码

5、后台将自建的屏幕维护到标准MM01屏幕中
OMT3B(spro -> Logistics-General -> Material Master -> Configuring the material master and execute  ‘Define Structure of Data Screens for Each Screen Sequence’)
MM01_exit 4.jpg
选中右侧一条数据,双击左侧data screen
MM01_exit 5.jpg
选中右侧Basic Data 1数据,双击左侧Subscreens
MM01_exit 6.jpg
选择21->07->08,将刚才新建的函数池SAPLYMM_FG维护到program中,保存。为什么选择21->07->08?
游客,如果您要查看本帖隐藏内容请回复

6、找到mm01保存的增强出口se37:EXIT_SAPLMGMU_001
二代增强查找方法:浅谈随着sap的发展而演化出的几代增强
双击INCLUDE ZXMG0U02.新建include
  1. TABLES:zmara_old.
  2. IF sy-ucomm = 'BU'.
  3.   IMPORT zmara_old FROM MEMORY ID 'ZMARA_OLD'.
  4.   MOVE cmara-matnr TO zmara_old-matnr.
  5.   MODIFY zmara_old FROM zmara_old.
  6. ENDIF.
复制代码

7、MM01测试效果
MM01_exit 7.jpg



回复

使用道具 举报

songxin2000
学习了,谢谢分享
回复 支持 反对

使用道具 举报

teyun2222
感謝無私分享,學習了!!
回复 支持 反对

使用道具 举报

fayne
进来看看!!!
回复

使用道具 举报

ratg0626
学习了,谢谢分享
回复 支持 反对

使用道具 举报

Jesse
学习一下,,,,
回复

使用道具 举报

qshiou
学习学习,楼主棒棒哒
回复 支持 反对

使用道具 举报

sunshch
楼主你的QQ方便透漏吗?有不明白的地方咨询一下
回复 支持 反对

使用道具 举报

Twilight
sunshch 发表于 2015-7-7 14:18
楼主你的QQ方便透漏吗?有不明白的地方咨询一下

上班不能上qq的,以后我来建的个吧
回复 支持 反对

使用道具 举报

jianpano
好贴
学习学习,楼主棒棒哒
回复 支持 反对

使用道具 举报

jianpano
想问下楼主选21的原因,可以选别的吗
回复 支持 反对

使用道具 举报

mckz8888
为什么  为什么 学习中。。
回复 支持 反对

使用道具 举报

tougegelol
支持楼主,支持SAP顾问圈,以后经常来!
回复 支持 反对

使用道具 举报

xacwc
真是难得给力的好资源啊,SAP顾问圈真是给力。
回复 支持 反对

使用道具 举报

kinglvcha
本帖最后由 kinglvcha 于 2015-7-30 22:43 编辑

谢谢分享。。。不够完善,补充参考:http://blog.csdn.net/heng0757/article/details/8067645
回复 支持 反对

使用道具 举报

酸酸甜甜的瓜
支持sap顾问圈,顶顶顶
回复 支持 反对

使用道具 举报

aa775128101
值得学习,很不错
回复 支持 反对

使用道具 举报

xiaoyuer
學習下哈哈,day day up
回复 支持 反对

使用道具 举报

冬天不太冷
新手,学习了
回复 支持 反对

使用道具 举报

Anda
跟着做一下,可以,挺久不弄屏幕,画个屏幕还花了点时间
回复 支持 反对

使用道具 举报

123下一页

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表