在包中的所有程序中搜索 MODIFY 语句

Search all programs within a package for a MODIFY statement

我想搜索所有程序 - 在一个包内 - 使用以下语句:

从 wa_itab_xyz

修改 itab_xyz

Preferably, the string should be searched with wild cards like itab* for a range of itab_(values) like itab_abc, itab_def, itab_ghi etc..

如何在 SAP ABAP 中执行此操作?

下面是一个包中所有程序的屏幕截图,您可以从中搜索。

一种可能是使用程序 RS_ABAP_SOURCE_SCAN。 可以按包限制选择,也可以在代码中输入特定的字符串进行搜索。

您可以使用 Galileo-Open 源库中的工具。该程序在 ABAP 源、OTR-Texts、消息和文本池中搜索静态文本、通配符模式或正则表达式模式。

ABAP-Coding: https://github.com/galileo-group/galileo-abap-lib/blob/master/%23gal%23devtools_find_text.prog.abap

文本池: https://github.com/galileo-group/galileo-abap-lib/blob/master/%23gal%23devtools_find_text.prog.xml

它引用了库中的一些额外 类,因此您要么也需要复制这些,要么只使用 ABAPgit 获取整个库。您也可以联系我,这样我就可以向您发送包含图书馆的交通工具。

附加信息(2020 年 10 月 1 日):

我创建了一个您可以 copy/paste 到 ABAP 编辑器的报告版本。太长了,无法包含在响应中,但您可以找到它 here。 不要忘记复制文本元素/选择文本。

Required Text Elements:
-----------------------
B00 Scope
B01 Search pattern
H01 Type
H02 Name
H03 Key
H04 Match

Required Selection Texts:
-------------------------
P_CASE    Case-sensitive
P_DEVC    Package
P_LANGU   Language
P_MESS    Messages
P_OTR     OTR Texts
P_PATT    Pattern
P_REGEX   Regular expression
P_SOURCE  ABAP sources
P_TPOOL   Textpools
P_WILDC   Wildcard pattern

我使用事务code_scanner(程序是afx_code_scanner)。

此程序和上面提供的 RS_ABAP_SOURCE_SCAN 的最大问题是它们无法找到所有内容。 IMO 最重要的缺失组件是隐式增强。它们对系统功能有很大影响,如果您正在搜索错误消息或硬编码值,跳过它们可能意味着找不到重要的东西。

在我看的时候(大约 7 年前),我无法找到能够真正扫描系统中所有代码的交付工具。我最终增强了 code_scanner 以寻找增强功能、WDA 组件、BSP 代码和表单代码。

不知道上面的开源组件有没有。乍一看好像没有,但是我没有时间去深究。