Starting a Program Using a Transaction Code

You can assign a transaction code to any program. Users can then start that program by entering the code in the command field. Transaction codes are also linked to a menu path within the R/3 System.

Type 1 Programs

If you assign a transaction code to an executable program (report) with type 1, the user can then start it either directly (as described above) or using the transaction code. Even when you use the transaction code to start the program, the reporting-oriented, invisible system program is still called. For this reason, this kind of transaction is known as a report transaction.

Type M Programs

As well as executable programs (reports) with type 1, there is a further type of program in the R/3 System which you can start using a transaction code. These are programs with type M. These must be started using a transaction code, which is linked to a screen from the program (initial screen). You must define your own screens when you write programs of this kind.

When you start a program using its transaction code, the initial screen is called. This calls a dialog module belonging to the associated ABAP program (see Dialog Modules).

The remainder of the program flow can take any form. For example, the dialog module can:

Programs with type M cannot be started directly, but only via a dialog screen. They are called module pools.

It is appropriate to use module pools when you write dialog-oriented programs using a large number of screens whose flow logic largely determines the program flow.