问题描述
我要搜索使用以下语句的所有程序-包中的程序:
从wa_itab_xyz修改itab_xyz
最好使用诸如itab *之类的通配符搜索字符串 对于itab_(values)的范围,例如itab_abc,itab_def,itab_ghi 等。
我如何在SAP ABAP中做到这一点?
解决方法
一种可能性是使用程序RS_ABAP_SOURCE_SCAN。 您可以按包限制选择,也可以输入特定的字符串以在代码中进行搜索。
,我使用交易code_scanner(程序为afx_code_scanner)。
此程序和上面提供的RS_ABAP_SOURCE_SCAN的最大问题是,他们找不到所有内容。 IMO对他们而言最重要的缺失组件是隐式增强。它们可能会对系统功能产生很大的影响,如果您正在搜索错误消息或硬编码值,则跳过它们可能意味着找不到关键的内容。
在我查看的时候(大约7年前),我找不到真正可以扫描系统中所有代码的交付工具。我最终对code_scanner进行了增强,以寻找增强功能,WDA组件,BSP代码和表单代码。
我不知道上面的开源组件是否包括那些组件。乍一看似乎没有,但我没有时间去深入研究它。
,您可以使用Galileo-Open Source库中的工具。该程序在ABAP源,OTR文本,消息和文本池中搜索静态文本,通配符模式或正则表达式模式。
ABAP编码: 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日):
我创建了一个报告版本,您可以将其复制/粘贴到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