金山云_oracle数据库工具_促销

对象存储 虚拟云 浏览

小编:我的生产部门有一个要求,他们使用ME2N报表,现在他们想在输出字段中看到创建采购订单的用户 我检查了ME2N报表的屏幕布局(包括ME2L/ME2M),但是没有找到包含创建相应采购订单的

金山云_oracle数据库工具_促销

我的生产部门有一个要求,他们使用ME2N报表,现在他们想在输出字段中看到创建采购订单的用户

我检查了ME2N报表的屏幕布局(包括ME2L/ME2M),但是没有找到包含创建相应采购订单的用户标识的字段User name.

在ME2N报表中,输出字段中没有"User name"字段。这个博客将描述如何在输出部分添加字段用户名。我读到了Joao写的一个文档增强了新字段的采购报告。在这里,他用了巴迪。然后我又看了另外一个网站的文件,修改了ME2N的标准采购报告输出,可以满足我的要求。在这里,他使用了显式增强,正如我在博客中所描述的,显式增强用于用户的"个人设置"。但是在这里,他为一个字段实现了一个特定的值,但是我需要这个额外字段中的PO creator名称。

然后我想我可以通过在这个显式增强中进行一些编码来更改该值,而不需要使用BADI。我在我们的算盘的帮助下试过了,我成功地做到了。我想和大家分享。这里是所有的配置和编码。

在给出步骤之前,我建议阅读ME2N的标准采购报告输出修改后的内容。几乎所有的设置都与本文档相同。您只需要在结构中添加不同的字段,并且需要在这个显式增强中添加您自己的逻辑/编码。一个很好的解释与屏幕截图在这篇文章中给出了。

我已经从我们的ABAPer的代码是不知道我作为一个功能顾问,但如果你知道的编码部分,那么你不需要从任何人的帮助。你可以在我这个博客的帮助下自己做。

注意:这个屏幕布局适用于ALV布局。您需要以ALV作为列表范围运行报表ME2N/ME2L/ME2M。

据我们所知,采购报表的屏幕布局结构是从MEREP\U OUTTAB\U PURCHDOC使用的。因此,我们需要在这个结构下创建一个新的结构,名为ZUSER(您可以根据需要使用不同的结构)。要创建结构,您需要转到SE11,然后在数据类型中输入结构名称,云服务器排名,然后按Display。

然后您将找到一个选项作为append structure。您可以在本文档中找到简短的详细说明。

您只需使用不同的组件类型(因为您希望将其显示为用户名)作为SYUNAME。

保存您的条目。您可以将其保存到TR中,以便在需要时将其移动到另一个客户端。

然后您可以看到该字段将出现在ME2N输出屏幕布局中。但是它将带有空白值,因为我们刚刚创建了结构,但是没有为新创建的结构添加任何值或任何编码。

现在我们需要为这个结构创建一个显式的增强。当我们运行报告ME2N/ME3L/ME2M时,系统读取程序LMEREPD02(它不是主程序)。在这个程序中,我们可以实现我们的增强,真正云服务器,我们需要在methode build\u base\u列表下执行此操作。

转到SE38并输入程序LMEREPD02,然后在显示器中单击,然后在此程序中找到method build\u base\u列表(您可以在第76行中找到它)。

由于这是一个标准程序,因此对于每个系统都是相同的(注意:我不是)当然,不同的ECC/EHP版本会有所不同)。现在双击方法build\u base\u list.

现在单击螺旋符号并按照我在本博客中已经解释的步骤操作,为用户提供"个人设置"的显式增强。

在本博客中完成从步骤2到步骤5的所有步骤。在步骤6中,您需要对编码做一些更改。

为这个显式增强编写以下代码。同一需求有两种方式(代码)。

从ekko

选择单个ernam

进入re\u outtab\u purchdoc-zuser

其中ebeln=im\u ekko-ebeln.

如果sy subrc0.

清除:re\u outtab\u purchdoc-zuser.

ENDIF.

类型:ty\u ekko开始,关系数据库,

ebeln类型ebeln,

ernam类型ernam,

ty\u ekko结束,

ty\u ekko类型标准泰埃科表格

数据:瓦埃科类型泰埃科,

it埃科类型泰埃科,

数据:ename类型ernam。

选择ebeln ernam

从ekko

进入表格it埃科

其中ebeln=im埃科-ebeln。

清除:瓦埃科,ename。

在it埃科循环进入瓦埃科。

ename=瓦埃科-ernam。

ENDLOOP。

REOUTPATAB\U purchdoc-zuser=ename。

记住,数据存储中心,不要在这个增强中同时使用这两个代码,你只能使用其中一个。

(你可以在这个博客中找到这两个代码的附件)

如果你要为结构MEREP\u OUTTAB\u PURCHDOC使用一个不同的组件,那么你需要在这个代码的最后一行写相同的组件。

我用这个组件作为ZUSER,数据库灾备,所以我在最后一行写了相同的组件名,如re\u outtab\u purchdoc-zuser=ename.

现在点击本博客中显示的增强功能。

现在我们的增强功能可以使用了。现在我们需要对ME2N/ME2L/ME2M报告进行相同的测试。转到ME2N并输入您的选择数据,然后按执行。

在这里您可以看到带有相应位置的字段值的新字段。如果您无法看到该字段,则需要从更改布局中选择该字段。现在我们可以将其与EKKO表进行比较,在EKKO表中,您可以找到这些位置的相同用户名

您可以看到两者都匹配。您也可以在以下报表和t代码中使用此字段:

ME28–发布采购订单

ME2C–按物料组的采购订单

ME2W–供应工厂的采购订单

ME2N–按订单号的采购订单

ME2L–按供应商的采购订单

ME2M–按物料的采购订单

ME2K–采购。按帐户分配的订单

ME35–发布大纲协议

ME35K–发布合同

ME35L–发布计划协议

ME45–发布RFQ.

在您的系统中尝试。如果您知道增强的代码,这是非常简单和容易的。即使你不需要从一个ABAPer的帮助,一旦你会得到代码。

你好Dybiendu,

不错的一个!

Alexandre

大家好;

开发标准程序的有用文档,谢谢分享。

@dev:有oss注释可供参考吗?

问候。

M.Ozgur Unal

不。我找不到任何oss说明。

嗨DP,

好文章。我将与我的管理层分享以实现这一点。

感谢分享给我们DP。

BR的

KNR

嗨Dypiendu,

也许你应该让你的ababer更正你的代码片段……

因为你只传递了一个ebeln,所以不需要这个表……

一个SELECT语句就足够了,你甚至不需要它的类型声明

另外,我的系统不可用,但是我很确定有一个更好的地方适合它。

弗洛里安

你能举一个编码的例子。

我在这个评论部分循环我们的ababer。

抄送avishek saha

我没有证明当前的增强,如果它是在一个位置,这是好的。

无论如何,这个编码是完全相同的,只有一半的行。

额外的对于这一点,我非常肯定,到处都有一个名称约定活动,因此类似于

DATA:ename type ername

的东西永远无法在系统中的任何地方进行编码。这不仅仅是因为客户名称空间以Y或Z

~Florian

GreatJ开始。。这也是同样的工作方式。

我在我的博客中添加了这两个代码,这样人们就可以很容易地理解和使用其中的一个。

感谢您的支持和帮助。

嗨,开发人员

这是一个很好的文件,好在您已经分享了所有相关的博客/线程。一份全面的文件和易于理解的解释总是很好看的。做得好,我的朋友

文章来源:www.vmchk.com

 
你可能喜欢的: