As ABAP developers, we work with user exits a lot. Their big advantage is the possibility to modify the behavior of standard SAP ERP programs without actually doing a modification. Consequently, it is very important to know which user exits are available for certain transactions. In this posting, I’ll show you a few ways to find user exits for transactions in SAP ERP.
Step 1: Find the Package of the Transaction
Our first step is to find out which package our transaction belongs to. There are several ways to achieve that. Here on dev-workbench.com, we have a directory of all SAP transactions, in which you can also find the package of the respective transaction. Take transaction IW31 as an example. If you visit its page, you will find out it belongs to the SAP package IWO1.
Another method is to execute the transaction, then go to System -> Status in the menu. You will receive the status screen. Double-click the transaction name to see its package.
Step 2: Find User Exits for the SAP Package
Once you know the package, you will need transaction SMOD. Run it, then press F4 on the single input field. In the value entry popup, enter the package name you found out earlier.
Enter the package name and you will be rewarded with a list of all SAP customer exits relevant for that transaction or package.
Finding All Implemented Customer Exits in SAP
Sometimes, we do not need a list of all user exits. Instead, we want to find out which customer exits already have an implementation in SAP ERP. The transaction CMOD has been designed to do exactly that. Run it to browse so-called modification projects. Within those, you will find all users exits that already have an implementation. If your user exit is not in a modification project, it has not been implemented yet.
Finding Data Elements with Field Exits
An even more specialized task is to find all data elements that have a certain field exit in SAP ERP. The report RSMODPRF has been designed to achieve that task.
Enter the data element you want to check, and you will get the field exits registered for it. If you want to search for a field exit, use the F4 help here. It will show you all data elements that have the field exit registered on them.