Anfang des Inhaltsbereichs

Programmeinleitende Anweisungen Dokument im Navigationsbaum lokalisieren

In der Regel ist jedem Programmtyp eine bestimmte einleitende Anweisung zugeordnet:

Programmtyp

Einleitende Anweisung

1

REPORT

M

PROGRAM

F

FUNCTION-POOL

K

CLASS-POOL

J

INTERFACE-POOL

S

PROGRAM

T

TYPE-POOL

I

-

Include-Programme vom Typ I sind keine Kompilations-, sondern reine Quelltext-Modularisierungseinheiten, die immer nur im Kontext übergeordneter Programme verwendet werden. Insofern gehört zu einem Include-Programm keine besondere programmeinleitende Anweisung.

Im folgenden wird auf die Funktionalität der einleitenden Anweisungen eingegangen:

REPORT und PROGRAM

Die programmeinleitenden Anweisungen REPORT und PROGRAM sind derzeit funktional gleichwertig. Sie können die Nachrichtenklasse für das Programm und die Aufbereitungsoptionen für die Standardliste des Programms festlegen. Ob ein Programm als Report ausführbar ist oder nur dynprogesteuert über einen Transaktionscode gestartet werden kann hängt ausschließlich am Programmtyp und nicht an der programmeinleitenden Anweisung. Dennoch sollten ausführbare Programme vom Typ 1 immer mit einer REPORT-Anweisung und Modulpools vom Typ M immer mit einer PROGRAM-Anweisung beginnen. Auch Subroutinenpools vom Typ S sollten immer mit einer PROGRAM-Anweisung beginnen.

FUNCTION-POOL

Die programmeinleitende Anweisung FUNCTION-POOL ermöglicht die Definition von Funktionsbausteinen und bewirkt zur Laufzeit, daß beim Laden des Programms eine neue Programmgruppe mit eigenen Bildschirmen und eigenen gemeinsamen Datenbereichen im internen Modus des aufrufenden Programms angelegt wird. Insofern müssen Funktionsgruppen vom Typ F immer mit einer FUNCTION-POOL-Anweisung beginnen. Die Anweisung FUNCTION-POOL wird in der Regel vom Werkzeug Function Builder generiert. Andere Programme vom Typ 1, M oder S sollten nicht mit einer FUNCTION-POOL-Anweisung eingeleitet werden, da ansonsten gemeinsame Datenbereiche beim Laden durch einen externen Unterprogrammaufruf nicht mit dem Aufrufer geteilt werden. Andererseits kann man ausnahmsweise die Verarbeitung eigener Bildschirmbilder für extern aufgerufene Unterprogramme erzwingen, wenn man Programme vom Typ 1 oder M mit FUNCTION-POOL einleitet. Wie bei REPORT und PROGRAM können mit FUNCTION-POOL die Nachrichtenklasse für das Programm und die Aufbereitungsoptionen für die Standardliste des Programms festgelegt werden.

CLASS-POOL und INTERFACE-POOL

Die programmeinleitenden Anweisungen CLASS-POOL und INTERFACE-POOL sind einzig und allein für Klassen- und Interface-Definitionen vom Typ K oder Typ J vorgesehen. In mit CLASS-POOL eingeleiteten Programmen können nur globale Typdefinitionen und Definitionen von Klassen und Interfaces stehen. In mit INTERFACE-POOL eingeleiteten Programmen kann nur die Definition eines globalen Interfaces stehen. Die Anweisungen CLASS-POOL und INTERFACE-POOL dürfen ausschließlich vom Werkzeug Class Builder generiert werden.

TYPE-POOL

Die programmeinleitende Anweisung TYPE-POOL ist einzig und allein für Typgruppen vom Typ T vorgesehen. In mit TYPE-POOL eingeleiteten Programmen können nur globale Typdefinitionen und Deklarationen von Konstanten stehen. Die Anweisung TYPE-POOL darf ausschließlich vom Werkzeug Dictionary generiert werden.

 

 

Ende des Inhaltsbereichs