In the R/3 System, there are various ABAP program types. The program type determines the basic technical attributes of the program, and you must set it when you create it.Type 1 Type 1 do not have to be controlled using user-defined screens. These are controlled by the runtime environment. Type 1 are called as Executable programs as they can be executed by typing the name of the program directly. Type 1 are also called as Online program. Type 1 in the R/3 System are often referred to as reports. type 1 do not require any user dialog. You can also assign a transaction code to an executable program. This kind of transaction is called a report transaction.Type M Type M can only be controlled using screen flow logic. You must start them using a transaction code, which is linked to the program and one of its screens (initial screen). You must define your own screens in the Screen Painter (although the initial screen can be a selection screen). Type M are called as Module pools or Dialogue programs.Type F Type F are containers for function modules. They cannot be started using a transaction code or by entering their name directly. They can be called from other executable programs or Module Pool programs by inserting the code of the Function Module. Type F are called as Function groups. Function modules may only be programmed in function groups. Apart from function modules, function groups can contain global data declarations and subroutines. These are visible to all function modules in the group. Function Modules and Function groups can be created using transaction code SE37 or SE80.Type K Type K are containers for global classes in ABAP Objects. They cannot be started by using a program name or using a Transaction Code. Type K programs are known as Class definitions or Class pool. Type K are created using a Class Builder (SE 24).Type J You cannot start Type J programs using a transaction code or by entering the program name directly. They are containers for global interface in ABAP Objects. Type J are known as Interface definitions or Interface pool. You create interface definitions in the Class Builder.Type S Type S are known as Subroutine pools. They are containers for subroutines. You cannot start a type S using a transaction code or by entering the program name. Instead, they are containers for subroutines, which you can call externally from other ABAP programs. They cannot contain screens.Type I Type I are called as Includes or Include program. They are used to make code simpler by breaking it into smaller units. You can insert the coding of an include program at any point in another ABAP program using the INCLUDE statement. There is no technical relationship between include programs and processing blocks. They cannot be run using the program name or a transaction code.