在报表程序中查找常量和文本元素,包括

2020-08-16 21:58发布

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

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


嗨,

我想编写报告程序以从包含,报告程序和功能模块中读取常量和文本元素。

输入应为program,include或FM名称,输出应为文本元素和常量的列表。

请让我知道如何开发它。

谢谢。

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

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


嗨,

我想编写报告程序以从包含,报告程序和功能模块中读取常量和文本元素。

输入应为program,include或FM名称,输出应为文本元素和常量的列表。

请让我知道如何开发它。

谢谢。

付费偷看设置
发送
4条回答
我是小鹏鹏啊
1楼-- · 2020-08-16 22:52

你好 Sanjana Lingras

如果我穿着你的鞋子,我首先会看看 选择"文本元素"选项时,SE38事务有效。

常量,我将检查RPR_ABAP_SOURCE_SCAN报告的工作方式。 您基本上可以复制和调整其逻辑。

亲切的问候,
Mateusz
闻人可可
2楼-- · 2020-08-16 22:34

ABAP语句READ REPORT和READ TEXTPOOL

clasier
3楼-- · 2020-08-16 22:39

我会接受Mateusz的建议, 并复制报告RS_ABAP_SOURCE_SCAN(这也是实际上从RPR_ABAP_SOURCE_SCAN调用的报告),并使其适应您的需要。

首先了解一下,并尝试在报告中搜索要分析的一部分程序或软件包中的" CONSTANTS"。

对于您的程序,您将必须对常量执行以下操作:

  • 必须从术语"常量"到第一个"。"之间分析结果。 (语句结尾)
  • 常量不应作为注释的一部分,并且常量之前应另加一个"。" (语句末尾)或什么都不做(忽略空格和换行符)
  • 常量的值可能是固定的,或者是"动态的",如果是"动态的",则很难获得实际值 ,它可能仅在运行时初始化时可用,并取决于其他值。
常量:const_fixval TYPE char1 VALUE'1',
            const_dynval TYPE char1 VALUE const_fixval。

对于文本,您必须这样做:

  • 文本元素可以写为text-001或'text'(001)
  • 要获取文本的值,请使用READ TEXTPOOL语句并使用键访问表,例如 。 001
  • 如果将ABAP SOURCE SCAN与READ TEXTPOOL结合使用,您肯定会知道程序是否也在使用定义的文本,如果您只关心定义的文本元素,则为SOURCE SCAN
 DATA:程序类型PROGNAME VALUE'PROGRAM_NAME',
       itab TEXTPOOL型标准表。
 将TEXTPOOL读入itab语言sy-language。

请注意,可能有许多不同的实现,可能不符合您期望常量和文本实现的方式。 和往常一样,有很多通往罗马的道路。

宇峰Kouji
4楼-- · 2020-08-16 22:38

我并不是说您应该去SE38并手动检查文本元素。 不,我打算调试事务并检查其逻辑。

更好的方法是,使用您喜欢的搜索引擎并搜索" sap abap函数以列出程序的文本元素"。 在我最喜欢的搜索引擎的结果之一中,我找到了函数READ_TEXT_ELEMENTS。

关于包含和函数,在这种情况下,您将需要在源代码中查找INCLUDE和CALL FUNCTION关键字。 然后获取包含/函数名称,并将其添加到要处理的对象列表中。 为找到的对象运行报告的逻辑。

问候,

Mateusz

一周热门 更多>