如何实现自己定义物料主数据中的屏幕视图和屏幕以及附加自己的子屏幕

如何实现自己定义物料主数据中的屏幕视图和屏幕以及附加自己的子屏幕

作者:袁云飞(AlbertYuan)- 微信号yuanalbert

以下内容均为原创,希望对初学者有一些辅助作用,本人主要从事MM/QM/WM的相关工作,不专业处请多多指点,十足干货,码字不易,且行且珍惜,你们的关注就是我努力的动力,转载请引用出处,感激不尽;

这篇文章,我们首先讨论一下关于物料主数据上使用自己创建的屏幕来存放已经存在的字段以及如何将这些字段释放在前台物料主数据维护屏幕里;并不完整介绍如何进行客制化屏幕字段的增强;这里只是为我们后续讲解字段增强提供铺垫,让小伙伴们能体会一下复杂的物料主数据里的字段的一些运转逻辑和概念;为后面进行客制化屏幕字段增强的讨论做铺垫;

  1. 需求

对于自己的material type(EDIS),以及自己的Industry (Z),以及用户(全部)只能使用basic data,purchasing,accounting三个view,同时,对于purchasing view中需要将原MRP 2界面上的 GR processing time以及safty-stock显示出来;

  1. 解决

(2-1)准备工作

首先check material type(EDIS)的view:
Spro->logistcs-general->material master->basic settings->material type->define attributes of material type

可以看出,其本来的view不只basic purchasing,accounting:
同时,还可以知道其,screen reference :material type ROH(EDIS是copy原ROH的,我们后面再修改)
在这里插入图片描述
再查看,我们现在使用的screen sequence:

SPRO->logistics-general->mateiral master->configuring material master->Assign screen sequence to user/materialy type/transaction/industry sector

Tcode:OMT3E

可以发现,对于transaction 01(SAP R/3),user为空,material type为空,Industry 为空,则对应screen sequence:21

在这里插入图片描述
再查看screen sequence:

SPRO->logistics-general->mateiral master->configuring material master->define structure of data screen for each screen sequence

Tcode: OMT3B

查看21:
在这里插入图片描述
而它有view:
在这里插入图片描述
(2-2)创建新的screen sequence

创建新的 screen sequence: Z1
在这里插入图片描述
定义其只有basic data 1,basic data 2,purchasing ,accounting:
注意,其他的不是view(可以通过maintainence status看出,其他不适单个字母的其实都是附加子屏幕):
在这里插入图片描述
再看Purchasing 这个view的screen data:
在这里插入图片描述
(2-3)扩充purchasing view
首先查看mrp 2里的两上field的属性:
在这里插入图片描述
注意,这里这2个field不是在同一个subscreen里(一个是2485,一个是2486);所以,现在得先创建一个subscreen来将这丙个field进行contain:

所以,进行se80(Program: SAPLMGD1),创建一个新的subscreen: 9999:为什么使用这个程序可以创建子屏幕呢,其实在这里可以看到他们使用的程序。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在来定义9999下面的field:
在这里插入图片描述
OK,现在,我们把这个subscreen填充到purchasing view中去:
在这里插入图片描述
(2-4)将该screen sequence赋给相应的条件
Tcode: OMT3E:
在这里插入图片描述
因为transaction的screen reference固定 01;
而user的screen reference也不用新建;

创建Material type的screen referenece:
将EDIS的material type的screen reference赋为EDIS:
在这里插入图片描述
创建industry的screen referenece:
将自己的Industry的screen reference改为Z:
在这里插入图片描述
OK,现在来组成control table:
在这里插入图片描述
(2-5)测试
Tcode:MM01
在这里插入图片描述
可以发现,现在只有Basic data,purchasing,accounting 这三种view:
在这里插入图片描述
再在purchasing view中可以发现:
在这里插入图片描述
但是,现在发现问题:再在MM03中display后,却发现,值没有被保存:

回答:

注意,这里的subscreen 9999是自己新建的subscreen(直接在Program SAPLMGD1)中进行了扩展;而且对于subscreen 9999,并没有为其定义一个处理逻辑:
在这里插入图片描述
所以,如果想要把数据也填充到数据库中去;可以将Program SAPLMGD1的module MGD1 copy,再建9999,再写coding;

(这里,暂就不实操了,小伙伴们可以自行搞定)

关于material maintenance的screen 定制,还有一些其他的功能,例如,设置additional screen,设置function code等等,这些会后续进行讨论;

以上为本章全部内容,希望对小伙伴们有所帮助;

发布了206 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44853659/article/details/104473999