MM模块增强:MB51报表增加字段

MM模块增强:MB51报表增加字段

MB51报表是SAP查询物料凭证的标准报表,这报表使用频率非常高,涉及的使用部门非常广,基本上要使用SAP的部门都需要使用这报表,因此在实际项目中对这个报表的增强需求非常多,而且后期运维中也会不断有这方面增强的需求。在很多项目中,为更方便满足用户的不同需求,一般建议直接把这报表程序复制出来修改。MB51报表增强不能使用1至3代增强,只能通过隐式增强实现,很多1至3代增强无法实施的,都需要隐式增强来实现,但隐式增强的实施难点在于不知道如何找到合适的隐式增强点,这对阅读源代码和Debug的能力较高,有些甚至还需要了解具体的业务逻辑才能找到正确增强点。具体如何查找隐式增强点,不是文本重点,大家可以网上看看相关的博文,下面通过一个例子详细介绍下如何在MB51报表增加字段的增强实施步骤,大家在项目中如遇到这报表增强需求时可参考,可节省去找隐式增强点的时间。这个例子业务需求如下:要求MB51报表在查询工单相关的物料凭证时,需要能够查询到工单抬头的长文本中维护的信息(如下图)

解决方案:在SAP MB51的标准报表是没有此字段信息的,如果需增加此字段信息,必须实施增强才能实现。MB51报表的标准程序为RM07DOCS,增强做在这程序里面,具体实施步骤如下。

1.SE38进入程序,找到相关增强点。

2.在程序的包含文件RM07DOCS_GENERATED中定义增强字段。按如下步骤实施隐式增强。

创建增强项目

在此增强点写定义数据的代码

写完上面代码点击保存,继续下面步骤3.在子程序DETAI_LIST上实施增强写上增强字段的取值逻辑

了解这里声明和代码的差异可参考如下文章(本例选择声明和代码都行)https://baijiahao.baidu.com/s?id=1733787956841622108&wfr=spider&for=pc

DATA: l_name TYPE tdobname ,

lt_lines LIKE TABLE OF tline ,

l_text TYPE string ,

ls_line TYPE tline .

FIELD-SYMBOLS : like LIST.

IF LIST[] IS NOT INITIAL .

LOOP AT LIST ASSIGNING .

IF -aufnr IS NOT INITIAL .

"前置补0

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = -aufnr

importing

output = -aufnr .

CONCATENATE sy-mandt -aufnr INTO l_name.

CALL FUNCTION 'READ_TEXT'

EXPORTING

id = 'KOPF'

language = sy-langu

name = l_name

object = 'AUFK'

TABLES

lines = lt_lines

EXCEPTIONS

id = 1

language = 2

name = 3

not_found = 4

object = 5

reference_check = 6

wrong_access_to_archive = 7

OTHERS = 8.

LOOP AT lt_lines INTO ls_line.

CONCATENATE l_text ls_line-tdline INTO l_text.

ENDLOOP.

-LTEXT = l_text .

clear: l_text , ls_line , lt_lines.

ENDIF .

ENDLOOP.

ENDIF .

具体代码如上

4.在BUILD_FIELDCATALOG增加上报表显示的字段信息

具体代码如下:

CLEAR fc_flat.

fc_flat-fieldname = 'LTEXT' .

fc_flat-seltext_m = '工单长文本' .

APPEND fc_flat.

5.最后激活增强

以上就是MB51报表上增强字段的全部步骤,只要能按逻辑取到的值,都可以按上面步骤添加到MB51报表里面,满足不同业务部门的查询需求。本例MB51报表增强增加字段后的效果如下:

引用:https://mp.weixin.qq.com/s/rypNFH01pE1Yxy6oEYognA

🎯 相关推荐

华硕RTX 2070
bte365官网

华硕RTX 2070

📅 09-09 👁️ 1709
巨有科技-破局与创新:2025年智慧旅游的七大技术落地场景
部队军衔等级排名(师长、旅长、团长、营长、连长、排长分别对应几杠几
Java如何遍历Map对象集合(多种方式)6种方式
男子汉是什么意思 男子汉出自哪里
比分365网页版

男子汉是什么意思 男子汉出自哪里

📅 06-27 👁️ 7964
手动挡3挡开60迈可以吗
365bet注册送奖金

手动挡3挡开60迈可以吗

📅 10-17 👁️ 7057