Search all programs within a package for a MODIFY statement

痴心易碎 提交于 2021-02-09 09:28:37

问题


I want to search all programs - within a package - that use the statement:

modify itab_xyz from wa_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..

How do i do this in SAP ABAP?

Below is a screenshot of all programs within a package one can search from.


回答1:


One possibility would be to use program RS_ABAP_SOURCE_SCAN. You can restrict the selection by package and you can also enter a specific string to search for in the code.




回答2:


I use the transaction code_scanner (program is afx_code_scanner).

The biggest problem with this program and the RS_ABAP_SOURCE_SCAN provided above is that they won’t find everything. IMO the most important missing component to them is implicit enhancements. They can be very impactful to system functions, and if you are searching for an error message or hard coded value skipping them could mean not finding something critical.

At the time I looked (about 7 years ago), I was unable to find a delivered tool that would actually scan all the code in the system. I ended up enhancing the code_scanner to look for enhancements, WDA components, BSP code, and forms code.

I don’t know if the open source component above includes those. At first glance it doesn’t seem to, but I don’t have time to really dig into it.




回答3:


You could use a tool from the Galileo-Open Source library. This program searches ABAP Source, OTR-Texts, Message and Textpools for static Text, wildcard patterns or regex patterns.

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

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

It refers to some additional classes from the library, so you either need to copy these as well or just use ABAPgit to get the whole library. You can also contact me, so I can send you a transport containing the library.

Additional information (October 1, 2020):

I created a version of the report that you can copy/paste to the ABAP editor. It is too long to include it in the response, but you can find it here. Do not forget to copy the text elements / selection texts.

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


来源:https://stackoverflow.com/questions/64042868/search-all-programs-within-a-package-for-a-modify-statement

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!