‎2014 Sep 02 6:36 AM
Hi,
I need to scan all custom Reports, BAPI's, IDOCS,Workflows,Transactions e.t.c and find what are the following used in them.
1) Function Modules ( Call Function)
2) Transactions ( Call Transactions)
3) Methods
4) Workflows
5) BDC
I am thinking to use SCAN ABAP PROGRAM for that, please suggest how to make use of it.
In this scenario, i should find all the above list if available, There is no concept like finding a string in a program as with RPR_ABAP_SOURCE_SCAN.
Thanks
‎2014 Sep 02 6:44 AM
Open the package in SE80 , where your custom programs are saved. You will find the list of function module, transactions etc used for the program.
Also you can try the report AFX_CODE_SCANNER.
BR,
Abhinab
‎2014 Sep 02 7:21 AM
Hi Kv,
This statement will put all the ABAP keywords and literal as well as objects names in the statement into a internal table. Just see the internal table content and you will know which field to compare for the literal you are searching.
Thanks
Rakesh
‎2014 Sep 02 7:41 AM
HI,
I need to find the names of Function Modules, Transactions ( Call Transactions tcode ex: MM01),
Methods, whatever are used in the program.
Thanks
‎2014 Sep 02 7:52 AM
use this report- RPR_ABAP_SOURCE_SCAN
Get the name of program used in MM01: SAPLMGMM
and do as shown below.
thanks,
vidyasagar
‎2014 Sep 02 8:05 AM
Based on your question history you seem to building a really interesting tool there, which was maybe invented already by someone.
Can you disclose more about what your overall project is about, and what your deadline is?
Thomas
‎2014 Sep 02 8:41 AM
Hi Thomas,
what i need to do is
1) Get all the custom objects in the system (i.e Reports, Transactions, Bapis, Class Methods ,
Smartforms , e.t.c ).
2) Now , for each custom object for (ex: Report) i need to find what are the standard and
custom Function Modules , Transactions , Methods , Workflows e.t.c used in it.
3) If they are Standard ones ( ex: Standard transaction MM01 or FM - Reuse_alv_grid_display
Function Modules) i need to get the package of it and get it's component by using table - TDEVC, so
that i can find which module it is.., wheather SD / MM / FI ....
4) If they are Custom ones ( Ex; Custom FM / Transactions / Methods ) i need to read entire
program behind them and find further standard / custom in them ,,, finally to get it's component
SD/MM/FI
5) Finally i need to conclude that the custom object comes under which module SD/MM/FI .....
‎2014 Sep 05 1:56 PM
Sounds like overall less work to manually go through the Z-packages and assign a proper application component, but technically not so interesting, of course...
What you actually seem to require is a nested environment analysis, as in SE38 -> Utilities -> Environment analysis. You should have a look at function module REPOSITORY_ENVIRONMENT_ALL.
Not sure about the workflows, though...this does not seem to be a standard "where-used" link.
"Nested" means that you start with object A which might use objects B and C (level 1), object B uses D and E (level 2), C uses D as well (level 2), D uses F (level 3), and so on...beware, this can explode quite quickly.
Thomas
‎2014 Sep 05 2:21 PM
I used REPOSITORY_ENVIRONMENT_ALL for a single program.
It's taking much time to execute , and i got error
SAP paging overflow when storing data in the ABAP/4 memory.
‎2014 Sep 05 2:29 PM
I used it too, without such problems, but only to list all customer objects (software component HOME), if you scan for SAP objects as well, then it will explode already on level 2 or 3.
Make sure you set parameter DEEP, default is "0" which probably led to your issue.
Thomas
‎2014 Sep 05 2:31 PM
And one has to avoid infinite loop during recursion. The explosion can be contained by using Dijkstra's algorithm
I had tried to use this algorithm to find out answer to Sokoban but soon ran out of patience.
‎2014 Sep 05 2:45 PM
‎2014 Sep 05 3:26 PM
no, not 0, set to 1 or maybe 2 and see what happens. "0" means no limit
Thomas
‎2014 Sep 05 3:47 PM