Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program structure 

ABAP Program Types

The type of an ABAP program determines, for example, which declarations and processing blocks a program can contain and how it can be executed in the ABAP runtime environment.

The following table lists all program types for standalone programs ( compilation units ) and what impact each of these has on their properties.

Program Type Execution Global Declarations Processing Blocks Dynpros Text Pools
Executable program SUBMIT statement or by calling a dynpro or selection screen using atransaction code Local interfaces and classes, all other declarative statements All except function modules Yes Yes
Class pool Calling a visible method using CALL METHOD or atransactions code A global class of the class library, local interfaces and classes, TYPES and CONSTANTS statements Methods only No Yes
Function group or function pool Calling a function module using CALL FUNCTION or a dynpro 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 of the class library None No No
Module pool Calling a dynpro 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 calls to 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 TYPES and CONSTANTS statements None No No

The second table column indicates the type of execution primarily intended for the program. The third column indicates which declarations can be made in the global declaration section of a program of the specified type. The fourth column indicates which processing blocks the program can contain. The fifth column indicates whether your own dynpros are supported, and the last column indicates whether you can create your own text pools.

Other versions: 7.31 | 7.40 | 7.54