关于动态的获得PO/PR凭证在业务中的field selection reference key使用情况的浅析

关于动态的获得PO/PR凭证在业务中的field selection reference key使用情况的浅析

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

以下内容均为原创,希望对初学者有一些辅助作用,本人主要从事MM/QM/WM的相关工作,不专业处请多多指点,十足干货,码字不易,且行且珍惜,加入粉丝您将能看到更多相关主题文章,转载请引用出处,感激不尽;

关于字段选择参考键这个技术,在MM这边也是使用比较广泛的,由于大部分的账务处理都在MM这边发生,所以对屏幕上的每个字段的控制,系统使用这种技术来对大部分的账务处理界面的字段隐藏,显示,必输,可选状态进行控制;所以在MM范围里可以大量看到类似的设置方法,本章我们从PO/PR采购凭证这个角度来简要解析一下,标准SAP代码逻辑下,是如何完成一个字段选择参考键的确定的,以及最终字段状态是如何被确定出来的;

很多时候,小伙伴们是不是比较疑惑,为什么我设置了某个PO里的字段状态为可选,但到online界面去测试的时候发现结果和我们设置的不同?为什么我们在后台有这么多针对PO或PR的字段选择参考键,到底配置哪个才有效,每一个的作用在哪里呢,系统如何做出选择的呢?

下面我们一 一来完成解析;

在这里插入图片描述
从上图我们可以看到,采购凭证的所有的字段选择参考键(简称字段选择键)都存放在T162/T162T表里;

其实不要看到如此多的字段选择,他们其实最终都归类到7大类别之中来进行管理的;这7大类分别是:事务代码,行为类型(active type),凭证类型,行项目类别,被标记删除行项目,采购功能权限,子行项目类型;

下面举例一些字段选择键来说明这7大分类:
ME21N 这种就是按事务代码分类的字段选择键;

AKT* 这种开头的就是按行为类型分类的字段选择键,A=显示,E=扩展,H=创建,V=更改;

NBF/UBF 这些就是凭证类型分类的字段选择键,他们往往通过分配给具体的PO类型来实现关联;

PT*F 这种形式的就是行项目类型分类的选择键,*可能的值有0~9,C,P,分别表示各种模式的行项目类别,这个你看EKPO里行项目类别在数据库里的值就和这个值一样的;

UPF /UPL 这种形式的就是子行项目类型分类的选择键,*可以的值有1~9,F,H,I,P,S,U具体代表什么意思,以后的篇章会陆续展开他们的业务类型;

采购功能权限,这种其实主要用来绑定到特定的采购功能权限参数EFB上的,可以在T160D表里看到他们之间的关系;EFB是和用户有关的,所以是否会出现,主要看用户是否使用SU3分配了EFB上的采购功能权限代码,以及该代码里是否提供了字段选择键;

被标记删除行项目的字段选择键实在太少见了,这里小伙伴们忽略不计,使用意义不大;

好像我们的主题和我前面说的不搭边,其实小伙伴们认真看到这里,其实就能想明白为什么系统会设置如何多的字段选择键了,他们其实都和一个采购凭证的方方面面所关联的,比如凭证类型,行项目类别,事务代码等等等等;

那么问题来了,关联如此多维度的字段选择键,系统如何在创建,修改,扩展一个PO的时候决定某个字段的状态呢;其实认真分析标准代码,就能看到,系统通过函数MEX_FELDAUSWAHL来完成字段状态的统一分析和决定;

在这里插入图片描述
这个函数有7个参数,分别就是对应前面所述的7个分类;
I_AUSWAHL0
I_AUSWAHL1
I_AUSWAHL2
I_AUSWAHL3
I_AUSWAHL4
I_AUSWAHL5
I_AUSWAHL6

所以,我们通过debug就能动态的知道在我们所操作的采购凭证的事务中,系统到底决定出了哪些字段选择键;而这些字段选择键里的字段选择,才是最终我们屏幕上该字段呈现给用户的最终状态;
在这里插入图片描述
在这里插入图片描述
通过这些动态的分析,就能得到比如我们创建,修改PO的时候到底哪些字段选择键参与了;我们要达到我们对字段设置的效果,就是要跟踪到具体参与的字段选择键,在这里面去设置具体配置,才能达到预期的效果;

由于同一时间字段的状态是由多个字段选择键来进行联合确定的,所以系统代码里按照优先级进行判决,优先级为:隐藏>显示>必输>可选 ;也就是说如果同一个字段,在多个字段选择键中被判定,如有一个中设置该字段为隐藏,则不管其余如何设置,该字段最终屏幕状态就是隐藏;

以上就是全部内容,希望对小伙伴们有所解答;

另外,说到这里,我有一个附件的小case;对于PO里的行项目文本来说,往往有些客户要求从上游凭证中将对应文本直接带入,比如信息记录文本,PR文本,物料采购文本,等等;并且不允许创建该PO的用户进行文本修改;此时如果用增强做,比较费时,其实刚好利用上述对字段选择键的讲解,我们可以直接设定行项目文本为仅显示即可解决问题,我们还可以针对凭证类型,行项目类别等等多个维度来控制此范围即可;

如果不想文本视图被显示在行项目detail中,通过不勾选任何指示器即可实现;
在这里插入图片描述

发布了33 篇原创文章 · 获赞 0 · 访问量 906

猜你喜欢

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