Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Scan Abap program to identify Functionmodules, Transactions,Methods,Workflows

Former Member
0 Likes
4,376

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

13 REPLIES 13
Read only

Former Member
0 Likes
3,225

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

Read only

Former Member
0 Likes
3,225

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

Read only

0 Likes
3,225

HI,

I need to find the names of Function Modules, Transactions ( Call Transactions tcode  ex: MM01),

Methods, whatever are used in the program.

Thanks


Read only

0 Likes
3,225

use this report- RPR_ABAP_SOURCE_SCAN

Get the name of program used in MM01: SAPLMGMM

and do as shown below.

thanks,

vidyasagar

Read only

ThomasZloch
Active Contributor
0 Likes
3,225

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

Read only

0 Likes
3,225

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 .....


Read only

0 Likes
3,225

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

Read only

0 Likes
3,225

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.


Read only

0 Likes
3,225

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

Read only

0 Likes
3,225

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.

Read only

0 Likes
3,225

I set the parameter DEEP to '0'.  The error remains same.

Read only

0 Likes
3,225

no, not 0, set to 1 or maybe 2 and see what happens. "0" means no limit

Thomas

Read only

0 Likes
3,225

Just like blank select-options mean select all