
Transaction SAMT allows you to perform tests on sets of associated programs. To do this, you specify a subroutine that you call with an external PERFORM for each individual program. A program name and the associated TRDIR entry is then passed to a test subroutine.
If the test detects any problem, it analyzes the information, error or warning and outputs a note on the program location (external PERFORM SAMT_HINT(SAPRSAMT)). One note can have several messages consisting of any amount of text (external PERFORM SAMT_MESSAGE(SAPRSAMT)).

Special Functions
- Transporting tests
- This function allows you to transport a test to another system, but the system transports only a table entry, not the associated test program. Transported tests are usually displayed in green. These transports are only deleted irrevocably if the deletion was also transported.
- Creating program sets
- With this function, you create a program set belonging to a particular test. You can describe the set on the next selection screen. If you want to enable certain program sets with a complicated selection to be created several times, you can define a variant of the program RSAMTSEL (in the usual way). If you want to determine the program set according to different criteria, you can use your own subroutine. This must be part of the main program for the test, have the name DETERMINE_PROGRAMSET and the following interface:
FORM DETERMINE_PROGRAMSET.
TABLES P_PROGRAMS TYPE PROGRAMS
USING P_FORM TYPE FORM
CHANGING P_SHORTTEXT TYPE SHORTTEXT.
- Executing a test
- The subroutine belonging to the test is called for each program in a program set (in alphabetical order). Since locks are set, several different sessions can perform tests on the same program set at the same time. This means you can reduce considerably the total amount of time needed to process a program set. There is also a function to execute tests in the background. The function for performing a test on all machines initiates the scheduling of a background job that executes a test on all “suitable” machines (with RFC). Since this function increases the load on the entire system considerably, this type of background job should only be run at night.
- Copying a program set
- This function creates a new version of an existing program set. You can execute the test for all the programs concerned. In this way, you can detect any change in the results.
- Extracting a program set
- With this function, you create a new program set from an existing program set. For example, you can extract just the programs that cause errors.
- Copying a program set to another test
- This function copies a program set from one test to another test.
- User statistics
- If you want to determine the persons responsible for all the program classes and development classes of the selected programs, you can generate a list of all the relevant user names. This is accompanied by statistics giving the number of programs, informations, warnings and errors.
- Code statistics
- You can also generate a statistic containing all the notes codes that have occurred. The text for a code is any first line of a note belonging to the code. You can branch to the relevant results displayed from either the user statistic or the code statistic.
- Displaying the results
- There are two types of results display – standard display and private display using your own program. You can reduce the standard display by specifying certain criteria. If you want to perform non-standard results analyses, you can handle the display and processing of test results yourself. To do this, you call the program containing the test subroutine directly (with SUBMIT … VIA SELECTION-SCREEN). The test, program set and version IDs are then passed via memory.
- Since this involves a lot of programming and assumes some knowledge of the structure of results tables, you are advised against such results analysis. Instead, you should make a development request for this transaction in order to get any defective function included in the standard.
- Editing
- By double-clicking on a message for a note in the standard display, you can go into the ABAP/4 editor and jump to the relevant place in the program.
- Refreshing
- You can refresh display lists at any time. This makes changes made by other modi visible.
How to use tcode IB01 for mass processing, using abap a few program which is ZMIPxxxx, its any guide to do that…tq