Execute a Function Module without using SE37
A number of companies restrict the execution of function modules in quality, pre-prod and prod environments, for good reason. Therefore you may find you do not have access to the transaction code SE37. Generally experienced developers may however have access to SE38.
So how do you execute or test a function module in a system/client but wish to get around the authorization issue? Simply use SE38 with program RSFUNCTIONBUILDER.
TIP – You can sometimes use the same technique by using SE93 with the problem transaction and using the program name however do not expect to be able to bypass all authorizations.
What to use to measure performance improvement
You know of ST05, ST01 and SE30. But do you know why you would use one transaction code and not the other? What are the main purposes of each one when it comes to performance improvement and measurement?
To measure and improve performance of ABAP programs – Use SE30 to measure:
- Excessive or unnecessary use of modularization units
- CPU-intensive program functions
- User-specific functions that could be replaced with ABAP statements
- Inefficient or redundant database access.
In addition you may want to analyze or fine-tune a program’s database accesses – Use ST05 to measure:
- Database accesses (SQL trace)
- Table buffers
- RFC calls
- Lock operations (client side)
If you wishto fine tune the system – use ST01 to measure:
- Authorization checks
- Kernel functions
- Kernel module
In addition ST01 encompasses the majority of the functionality of ST05.
SAP Table Editing Function
This is a SAP Trick that is possibly too powerful, if authorizations are not in place in your system you dont want to use this too liberally:
To edit the contents of a table (Virtually any table from customizing to database records):
- Use transaction SE16n or in some systems transaction n.
- Enter the table name and see the records. (Sometimes you may be able to change a tables contents depending on its attributes.)
However if you wish to change most tables regardless of table attributes/control you can do the following:
- Use transaction SE16n or in some systems transaction n.
- Then enter &sap_edit in the command field.
- You will see a message “SAP editing function is activated”.
- Now enter the table name and execute to see the records. You will now be able to change the contents of the table.
This SAP technique may be useful to maintain faulty data in your system. But should only be used by a very experienced person.
Send a SAP message via a dialog box in the GUI
This one has been a personal trick of mine for a few years. Use it with caution and hopefully all you system administrators have restricted this functionality (Function Module testing) to responsible users.
There are a number of requirements where you may wish to send a message to a specific user or all users in a system. Yes there are alternative solutions in doing this, but here is a simple and powerful method.
You can send a message which will be pushed to the user on the users desktop via a dialog box through the SAP GUI. To do this simply use SE37 and the Function Module “TH_POPUP”.
Beware what values you use in the import parameters.
If you do not use a user ID, the system will send the message to everyone in the system.
If you use a user ID the system will send the message to that user only. The user must be logged into the system to receive the message.
An example of settings you can use:
- CLIENT 211 (Your client)
- USER S1010631 (Your user ID)
- MESSAGE PLEASE RELEASE SALES DOC 1234567 URGENTLY (Any Message)
- MESSAGE_LEN 0
- CUT_BLANKS
Great SAP Authority Check Search
Talking about authority checks, I love using the transaction SUIM to analyse authorization objects and values for users.
But one could also use a program such as RSABAPSC which can be used to trace the authority-check commands used in a program and its sub programs.
Also as a general rule of thumb you could check for the AUTHORITY_CHECK statement to identify the authority objects in programs.
However both of these methods RSABAPSC and the AUTHORITY_CHECK statement will not catch all authority checks.
Remember to use SU53 to see the details of a failed authority check object.
Authorization Information
If you need to analyse an authorization issue try the following:
You can display the Authorization data for your own user with SU53.
This will show you the authorization object which failed.
If you need to go further back in your history you can access your user buffer with transaction SU55.
TIP Read more 




