Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program structure 

ABAP Program Types

The type of an ABAP program determines (among other things) which declarations and processing blocks a program can contain and how the program can be executed in the ABAP runtime environment.

The following table shows all program types for standalone programs (compilation units) and how the attributes of the programs are affected by the type.

Program Type Execution Global Declarations Processing Blocks Dynpros Text Pools
Executable program Statement SUBMIT or a dynpro or selection screen is called using atransaction code Local interfaces and classes, all other declarative statements All (except function modules) Yes Yes
Class pool Call of a visible method or a call using a transaction code A global class from the class library, local interfaces and classes, statements TYPES and CONSTANTS Methods only No Yes
Function group or function pool A function module is called using CALL FUNCTION or a dynpro is called using atransaction code Local interfaces and classes, all other declarative statements All (except event blocks for reporting events) Yes Yes
Interface pool None A global interface from the class library None No No
Module pool A dynpro is called using a transaction code Local interfaces and classes, all declarative statements All (except function modules and event blocks for reporting events) Yes Yes
Subroutine pool External call of local procedures (subroutines or methods) Local interfaces and classes, all other declarative statements Event block LOAD-OF-PROGRAM, subroutines, methods No Yes
Type group or type pool None Statements TYPES and CONSTANTS None No No

The second column of the table shows which category of execution the program type is designed for. The third column shows which declarations can be made in the global declaration section of a program with the specified type. The fourth column shows which processing blocks the program can contain. The fifth indicates whether the program can support its own dynpros. The final column indicates whether the program can create its own text pools.

Other versions: 7.31 | 7.40 | 7.54