What are the program types based on how they coded?
There are various types of ABAP programs in R/3 system. The program type specifies the basic technical attributes of the program. We should decide the program type when we create it. The main difference between the program types is the way how the processing blocks called by the runtime environment.
The below are the program types related to ABAP application programming –
Type 1
Type 1 programs have the important feature that they do not have to be controlled using user-defined screens. Instead, they are controlled by the runtime environment.
We can start running a type 1 program using the SUBMIT statement in another ABAP program or by entering the program name. Therefore, we describe type 1 programs as executable programs.
The flow of a type 1 program is focused on towards reporting, whose main tasks are to read data from the database, process it, and display the results. Therefore, executable programs (type 1) in the R/3 System are often referred to as reports.
Type M
The most important technical aspect of a type M program is that it can only be controlled using screen flow logic. We should start them using a transaction code that is linked to the program and one of its screens.
ABAP programs with type M contain the dialog modules belonging to the various screens. They are therefore known as module pools.
Type F
Type F programs are containers for function modules and cannot be start running “using a transaction code” or “by entering their program name directly”.
Type F programs are known as function groups. Function modules may only be programmed in function groups. The Function Builder is a tool in the ABAP Workbench used to create function groups and function modules.
Type K
We cannot start running type K programs “using a transaction code” or “by entering the program name”. They are containers for global classes in ABAP Objects. Type K programs are known as class definitions. The Class Builder is a tool in the ABAP Workbench used to create class definitions.
Type J
We cannot start running type J programs “using a transaction code” or “by entering the program name”. They are containers for global interface in ABAP Objects. Type J programs are known as interface definitions. We create interface definitions in the Class Builder like class definitions.
Type S
We cannot start running a type S program “using a transaction code” or “by entering the program name”. We can call externally from other ABAP programs. Instead, they are containers for subroutines. Type S programs are known as subroutine pools. They cannot contain screens.
Type I
Type I programs are called as includes. Includes are the blocks of program code into smaller, more manageable units. We can insert the coding of an include program at any point in another ABAP program using the INCLUDE statement. The ABAP Workbench has a mechanism for automatically splitting up module pools and function groups into include programs.