ME23N和ME22N中的自定义字段显示属性

2020-09-07 06:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用用户出口EXIT_SAPMM06E_016和EXIT_SAPMM06E_018在ECC PO中添加了自定义字段和标签。

我面临的问题是,我需要仅对ME23N事务使该字段为DISPLAY,而仅对ME22N启用该输入。

我该如何实现?

我看到很少有线程指向BADI ME_PROCESS_PO_CUST和方法FIELDSELECTION_ITEM,但不知道影响自定义字段的代码是什么。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用用户出口EXIT_SAPMM06E_016和EXIT_SAPMM06E_018在ECC PO中添加了自定义字段和标签。

我面临的问题是,我需要仅对ME23N事务使该字段为DISPLAY,而仅对ME22N启用该输入。

我该如何实现?

我看到很少有线程指向BADI ME_PROCESS_PO_CUST和方法FIELDSELECTION_ITEM,但不知道影响自定义字段的代码是什么。

谢谢。

付费偷看设置
发送
5条回答
暮风yp
1楼-- · 2020-09-07 06:47

实际上,在采购交易中使用sy-tcode并不重要,因为它无法捕获显示/更改开关用户功能(按钮)。

所以正确的过程是:

事务SE11:

1。 在EKKO中创建字段" zfield",包括CI_EKKODB

然后事务SE80,功能组XM06:

2。 在顶部定义全局变量包括ZXM06TOP

表格:CI_EKKODB。
数据wa_i_aktyp。 "显示/更改模式

3。 在用户出口EXIT_SAPMM06E_006中编写此代码,包括ZXM06U36

wa_i_aktyp = i_trtyp。 "赋值

将i_ekko-zfield移动到ci_ekkodb-zfield。


4。 在用户出口EXIT_SAPMM06E_008中添加此代码,包括ZXM06U37


如果ci_ekkodb-zfield NE e_ci_ekko-zfield。
e_ci_ekko-zfield = ci_ekkodb-zfield。
e_ci_update ='X'。 "保存
ENDIF。


5.in 屏幕0101(布局编辑器)


在屏幕中设计字段" CI_EKKODB-ZFIELD",将组" Z1"添加到字段属性


6。 在dynpro 0101流逻辑中,创建一个PBO模块并放入此代码


在屏幕上循环。
如果screen-group1 ='Z1'。
如果wa_i_aktyp ='A'。 " display
屏幕输入=0。
ELSE。
屏幕输入=1。
ENDIF。
修改屏幕。
ENDIF。
ENDLOOP。


7。 测试一下。 用ME22N位将一些文本输入ZFIELD并保存。 检查保存的数据

落灬小鱼
2楼-- · 2020-09-07 06:36

谢谢! 这对我来说是正确的答案。

SAP砖家
3楼-- · 2020-09-07 06:41

您可以在出口ZXM06O01上设置活动或只读。

在创建字段的屏幕中,设置PBO模块结束 在出口ZXM06O01

如果sy-tcode ='ME23N'定义它。

在屏幕上循环。

如果屏幕名称='您的字段'。

SCREEN-INPUT = 0。

修改屏幕。

ENDIF。

ENDLOOP。

ENDIF。

问题是您可以使用菜单从显示ME23N导航到"更改"(ME22N),并且不确定是否刷新sy-tcode。 如果不是,则可以使用此参数获取真正的sy-tcode

DATA:l_tcode TYPE SHKONTEXT-TCODE。

CALL'GET_PARAM_TCOD'ID'PTCOD'FIELD l_tcode。

我不确定是否可以使用。我通常将这个参数ID用于FI交易FB60(但如果您检查sy-tcode = FB01而不是FB60,则该参数显示所使用的真实sy-tcode)

致谢。

大简至美
4楼-- · 2020-09-07 06:38

我从未使用过这种T代码方法,所以不确定它是否有效。

但是解决此问题的更好方法是 保存始终提供正确结果的I_TRTYP的值。

A显示

V更改

木偶小白
5楼-- · 2020-09-07 06:57

Hello srm_tech,

您可能会在以下链接中找到启发:

http://www.saptechnical。 com/Tutorials/ExitsBADIs/ME22N/Index.htm

http: //www.saptechnical.com/Tutorials/ExitsBADIs/ME22N/Page1.htm

在第一个链接中,您将 找到有关如何在ME22n中禁用输入字段的想法,因为在示例中该字段是自动填充的。

我想这应该可以帮助您在ME23n中实现所需的行为。

第二个是为了完善。

关于

亚历克斯

一周热门 更多>