Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Anwendungsglobaler Pool

Ein anwendungsglobaler Pool wird für Module verwendet, die in mehreren Anwendungen gebraucht werden wie beispielsweise Formate, Verbindungsmodul für Formatierung, Datenbank-Verbindungsmodule, Sprach-Laufzeitmodule, gemeinsam nutzbare Datenbereiche, aber auch Routinen in Teilprogrammen und der Meldungsmodul.

Ein anwendungsglobaler Pool wird von der ersten Task der ersten UTM-Anwendung eingerichtet. An diesen Pool können sich alle weiteren Tasks derselben und anderer Anwendungen anschließen, d.h. der Pool wird im Sinne der Memory-Pool-Verwaltung des BS2000-Systems mit SCOPE=GLOBAL angelegt.

Ein anwendungsglobaler Pool bietet ähnliche Vorteile wie ein anwendungslokaler Pool. Er hat jedoch den Nachteil, dass die in einen solchen Pool geladenen Programme während eines Anwendungslaufs nicht dynamisch ausgetauscht werden können.

Werden globale Common Memory Pools gleichen Inhalts/Namens in mehreren UTM-Anwendungen verwendet, muss in der KDCDEF-Anweisung MPOOL der Parameter PAGE=X’xxxxxxxx’ mit gleicher Adresse in allen Anwendungen angegeben werden. Die mit PAGE= angegebene Adresse ist so zu wählen, dass der damit reservierte Adressbereich in all diesen Anwendungen verfügbar ist.

Beispiel

Anwendung 1 verwendet den globalen Pool MPEINS. Anwendung 2 verwendet ebenfalls diesen Pool und zusätzlich den Pool MPZWEI. Folgende KDCDEF-Steueranweisungen werden benötigt:

UTM-Generierung Anwendung 1:

MPOOL MPEINS, SCOPE=GLOBAL, PAGE=X’01000000’, SIZE=...

UTM-Generierung Anwendung 2:

MPOOL MPZWEI, SCOPE=GLOBAL, SIZE=...

MPOOL MPEINS, SCOPE=GLOBAL, PAGE=X’01000000’, SIZE=...

Eine Alternative für die Verwendung von PAGE= ist, die gemeinsamen Pools in allen Anwendungen in der gleichen Reihenfolge zu generieren. Diese MPOOL-Anweisungen müssen außerdem als erste MPOOL-Anweisungen angegeben werden.