How many exit routines are active in your SAP ERP system?
Let's check with X-it RAY Eye
In all upgrade projects in which I was involved I prepared a checklist of standard modifications and implemented userexits.
This kind of analysis performed before the upgrade, as well as give an overview of the system complexity, is helpful to prepare the testing sessions and identify a dangerous situations such as the missing call to an exit routine.
Standard tools?
The question is: how do I get a list of these customizations with minimal effort? Which are the available SAP tools?
The standard modifications can be identified using the transaction SE95 (Modification browser) that is, in my opinion, the most effective tool for this type of analysis.
But for the userexit? Is it possible to draw a map of all exit routines active in SAP ERP before an Upgrade ?
There are different types of exits in an ERP system and many tools that you can use to perform an analysis, but the result can not be achieved in a short time ...
Let’s start with the cataloguing ...
Userexits and VOFM Routines
The Modification browser is helpful if you have to look up at the implementations of include Userexits and VOFM Routines
It's not a simple task, but it is better than search the userexits among the transport requests or recognize “custom” VOFM form routines by browsing directly in the transaction VOFM...
Inside transaction VOFM you have to:
Select the Category Group
Select the Custom Routine...
and finally access to the source code
Field-Exits
Fortunately for the Field-Exits the manual effort is reduced to the minimum because there is the standard report RSMODPRF
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/Rsmodprf.png)
The function key "Edit FM" allows to access directly to the source code
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/Field.Exit.png)
Validations and Substitutions Exits
Managing the Validation Exit and the Substitution Exit from the maintenance transactions can become extremely boring!!!
It is necessary to explode all validation/substitution steps 'till you find a step that contains an exit routine...
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/Validations.png)
Otherwise, there are reports RGUGBR31 (Validation Directory) and RGUGBR32 (Substitution Directory) but they are not interactive reports
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/Validation.Dir.png)
So the formpool must be determined into the view V_T80D
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/Formpools.png)
Customer Exits, Screen Exits and Menu Exits
Customer Exit, Screen Exit and Menu Exit are managed by transaction CMOD where the situation is slightly better.
Again, in order to access to the source code of the exit many steps are required.
First of all you need to select the active projects; so from CMOD transaction select in the menu: GOTO -> FIND
Then deselect the "Inactive" enhancement component checkbox
and for each project selected you have to jump to the assigned components and to the implementations
Select the project...
Access to the components list...
And then jump to the implementation...
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/CMOD.ZXInclude.png)
Business Transaction Events (BTEs)
Active Business Transaction Events can be reached by transaction BERE but again many steps are required!
Run the report with the checkbox "Only BTEs with active Products" selected...
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/BERE.Selection.png)
Then select the event from the list...
Last but not least BAdI Implementations.
The Modification Browser transaction (SE95) returns the list of BAdI implementations regardless of activation status (On/Off) but I personally prefer the Respository Browser (SE84) because is possible to select "Only Active" implementations
![image](https://weblogs.sdn.sap.com/weblogs/images/1678/BADI.Impl.Sel.png)
The selection result...
I would like an ABAP that...
Customers and colleagues often asked me if I knew a single tool that lists all the active userexits. I always answered no, proposing as approach the list of steps shown above.
Across the years I have tried to collect and automate (the first version dates back to the release 3.1I) every step of analysis in an ABAP program, but I never had time to optimize the code, so I always quickly adapted the same source to the various releases, making it unreadable and impossible to share.
One day my colleague Sergio Ferrari (SAP Mentor) asked me: "Hey Andrea, why don't you take a look to the Abap SNIF?"
I must be honest, I understood everything by that name...
What's SNIF?
Finally the SAP has developed a kind of "Exit Browser" that avoids launching dozen of transactions in the system (excluding the various checks).
I investigated thru the implementation of this program concluding that even if the idea is wonderful and the program is useful it could be enhanced to include other type of exits And now I’m glad to share with the great SDN Community my own extended version of the SNIF that detects all types of missing exits.
X-it RAY EYE was born
X-it RAY Eye means ... X-Ray Eye + X-it (= Exit) => X-it RAY Eye
Thus the abap that I would like to share in this blog is the "son" of the SNIF program, because it uses his "architecture" with the difference that extends the search to the following types of exit:
-
Include USEREXITS
-
VOFM Form Routines
-
Exit for VALIDATIONS
-
Exit for SUBSTITUTIONS
-
SCREEN EXIT
-
MENU EXIT
-
CHANGED KEYWORDS
The ECC Version of X-it Ray Eye extends the search to the enhancement implementations:
-
SOURCE CODE Enhancements
-
FUNCTION Enhancements
-
CLASS Enhancements
-
BAdI Enhancements
Some of these items are not properly ABAP, however I've collected them in the tool.
Selection Screen:
Output results:
Navigation:
Download results in Excel:
I summarize briefly the main features:
-
The X-it Scanner detects only the active implementations of existing exit routines developed in the customer name range with the exception of include userexits and Vofm routines
-
For the VOFM routines the "customer" name range is determined by the group indicator
-
The original section of the "BAPI usage" by custom programs has been removed
-
In the X-it Scanner version for SAP R/3 Enterprise 4.7 the new concept of Enhancement introduced by ECC is out of scope
- Original language: EN English
Out of Scope:
-
Screen Variants & Transaction variants
Versions:
- ZSDN_EXIT_SCANNER for SAP R/3 Enterprise
- ZSDN_EXIT_SCANNER60 for SAP ECC
Related Content
Userexit in Validations and Substitutions Rules
The new Enhancement Framework and the new kernel-based BAdI
Relevant SAP Notes
381348 - Using Userexit, Customer Exit, VOFM in SD
842318 - FAQs about validations + substitutions
356737 - Customer name range for VOFM routines
327220 - VOFM function and its objects
29377 - FAQs: Field exits (CMOD)
729358 - Display report to find active customer enhancements
Special thanks
I would like to thanks my colleagues @ Techedge:
Sergio Ferrari (SAP Mentor) for his advices
-
Related Weblogs: How many lines of custom ABAP code are inside your system?
Ivan Femia for his help
-
Related Weblogs: Simple ABAP Clone Hunter
and Enzo Gala my friend and SAP Admin @ Bayer Business Solutions for his support during the unit test phase in rel. 4.7 Enterprise.
How to install?
Download the nugget file from http://code.google.com/p/abapexitrayeye/ and import it in your SAP system using SAPLink.
Then goto your inactive object list and activate all objects
At last, run ZSDN_EXIT_SCANNER by SE38 and... Scan'em All!
I hope you like it.
Andrea Olivieri is a senior consultant for www.techedge.it
Add to: del.icio.us | Digg | Reddit
Showing messages 1 through 5 of 5. | ||
| ||
Titles Only | Main Topics | Oldest First |
-
Thank you so much
2009-05-24 08:10:26 Pablo Casamayor Business Card [Reply]
This is what´s SDN all about.
Thanks for sharing your work and making the life of developers easier.
Thanks again.
-
Great Work
2009-05-22 23:01:43 Vinod Iyer Business Card [Reply]
Hi Andrea,
You have done a great job!! Thank you so much
Regards,
Vinod
-
This looks great...
2009-05-22 12:01:52 Rockford Patrick Business Card [Reply]
This looks like a great tool. I can't wait to try it out. Thank you so much for sharing.
-
Great work
2009-05-22 11:55:40 Silvio Miranda Business Card [Reply]
A very good work Andrea!
This toll will be very helpfull to me.
Thank you!!!
Silvio Miranda