Start of Content Area

Executing ABAP Program Units  Locate the document in its SAP Library structure

ABAP programs can be executed only on a NetWeaver Application Server ABAP. The NetWeaver Application Server ABAP contains a component Kernel & Management Services, which serves as the platform-independent runtime environment for ABAP programs (see NetWeaver AS ABAP: Overview).

Each ABAP program consists of self-contained processing blocks, which may occur in any order in the source code. Processing blocks are sections of programs, made up of structure blocks. They are processed sequentially. A processing block can be called either from outside the ABAP program, or from a processing block within the same ABAP program (see also Structure of the Processing Logic). When a processing block is called from outside the program, it can be called either by the ABAP runtime environment or another ABAP program.

This graphic is explained in the accompanying text

To start an ABAP program, at least one of its processing blocks must be started from outside the program itself. Each ABAP program has a program type, which determines whether and how a program can be run.

Programs that can be run

These programs can be run by a user by entering the program name or a transaction code. They are the actual application programs, and are explained in more depth later on.

Executable Programs

Executable programs can be started by entering the program name. When you start an executable program, processors are started in the runtime environment that call a series of processing blocks (event blocks) in a predefined sequence. The sequence is oriented towards reporting tasks. This is why executable programs were also known as reports. For more information, see Direct Execution.

A special property of executable programs is the fact that they can be linked to logical databases. A logical database contains subroutines that are called by an invisible system program in a prescribed sequence for executable programs. The subroutines make certain reporting functions reusable. For further information, refer to Logical Databases.

Module Pools

You can only start module pools using a transaction code. A transaction code starts a screen, which consists of the screen itself and its flow logic. Screen flow logic can call special processing blocks (dialog modules) in the corresponding ABAP program. They are named module pools after these dialog modules. For more information on executing modules pools, see Transactions.

 

Note

As of release 6.10, the public methods of global and local classes can be attached to transaction codes, which makes their framework programs “executable“ via transaction codes.

 

Programs that Cannot Be Run Directly

These programs cannot be started directly by a user. Instead, they contain processing blocks or other source code that can only be used by an application program that is already running. They are described in more detail in a later section.

Function Groups

They serve as a container for function modules. When you call a function module from an ABAP program, the entire main program is loaded into the internal session of the current program. Function modules  are a type of procedure. They are described in more detail in the Procedures section.

Class Pools

Class pools serve as containers for global classes. Classes  belong to ABAP Objects  and are described in more detail in that section.

Interface Pools

Interface pools serve as containers for global interfaces. Interfaces  belong to ABAP Objects  and are described in more detail in that section.

Subroutine Pools

Subroutine pools are container programs for subroutines that should only be called externally. When you call a subroutine from an ABAP program, the entire main program is loaded into the internal session of the current program. Subroutines  are a type of procedure. They are described in more detail in the Procedures section.

Include Programs

Include programs do not contain any callable processing blocks. They are used exclusively for modularizing ABAP source code, and are included in other programs. Include programs are described in more detail in the Source Code Modules section.

Note

As of release 6.10, function groups, class pools and subroutine pools can be started via transaction codes, which are attached to the public methods of local or global classes of these programs.

Starting Programs in ABAP

For all programs that can be started directly, there are ABAP statements that you can use to call a program from another application program that is already running. For further information, refer to Calling Programs.

 

 

End of Content Area