SET-REORGANIZE-PPP-PARAMETERS legt die Parameter fest, die benötigt werden, um die Ausführung einer REORGPPP-DML zu ermöglichen. Die PPP-Reorganisation findet in einer Sequenz von Reorganisationsaktionen statt, die in einer oder mehreren aufeinander folgenden Online-Hilfsprogramm-Ausführungen ausgeführt werden. Hier behält der DBH die übergreifenden Transaktionsinformationen zum Fortschritt der PPP-Reorganisation, z. B. die aktuelle Seitennummer, intern bei. Diese Informationen gehen verloren, wenn die Session oder der Session-Abschnitt endet oder wenn die Datenbank des betroffenen Realms getrennt wird.
SET-REORGANIZE-PPP-PARAMETERS | ||
SUBSCHEMA-NAME = <structured-name 1..30>
|
SUBSCHEMA-NAME = <structured-name 1..30>
Name des Subschemas. Nur Namen von Benutzersubschemas sind zulässig.
REALM-NAME = <structured-name 1..30>
Name des Realms. Der Realm-Name muss ein gültiger Name im definierten Subschema sein. Nur Namen des Benutzerrealms sind zulässig. Namen von temporären Realms sind nicht zulässig. Das Subschema muss auch alle Realms enthalten, die die DBTTs enthalten, deren Einträge auf Sätze und Tabellen in dem Realm verweisen, in dem PPPs (Probable Position Pointer) aktualisiert werden müssen. Die entsprechende Prüfung findet nur statt, wenn die DMLs ausgeführt werden. Satzarten und Realm-Sets müssen dagegen nicht vollständig in dem angegebenen Subschema enthalten sein. Die Reorganisation von Pointern in Sätzen und Tabellen findet insoweit unabhängig von den Spezifikationen im Subschema statt.
INITIALIZE =
Definiert das Verhalten der REORGPPP-DML, wenn die PPP-Reorganisation in einem Realm über mehrere Online-Hilfsprogramm-Ausführungen verteilt ist.
Die Initialisierung der aktuellen Seite findet statt, wenn INITIALIZE = *ANY oder *YES. Insbesondere wird die aktuelle Seitennummer nach einer vollständigen PPP-Reorganisation nicht automatisch neu initialisiert. Eine weitere Ausführung von Aktionen zur PPP-Reorganisation über INITIALIZE = *NO oder INITIALIZE = *ANY führt zur Rückgabe der Information, dass es nichts mehr zu tun gibt.
INITIALIZE = *ANY
Die aktuelle Seitennummer wird nach den folgenden Bedingungen neu initialisiert:
Wenn die PPP-Reorganisation bereits in einer früheren HIlfsprogramm-Routine-Ausführung gestartet wurde, wird diese Reorganisation fortgesetzt. Die aktuelle Seitennummer wird nicht neu initialisiert.
Wenn keine PPP-Reorganisation in einer früheren Online-Hilfsprogramm-Ausführung in diesem Session-Abschnitt oder im Zeitraum seit der letzten Verbindung des betroffenen Realms gestartet wurde, führt die erste Aktion zur PPP-Reorganisation implizit zur Initialisierung der aktuellen Seitennummer.
INITIALIZE = *YES
Die aktuelle Seitennummer wird immer neu initialisiert.
Die PPP-Reorganisation beginnt entsprechend erneut.
Sie können diese Einstellung verwenden, um PPP auf diesen Seiten retroaktiv neu zu organisieren. Dies vor allem, wenn ein früherer Parameter CLASH-HANDLING=*SKIP-PAGE anzeigt, dass Zugriffskonflikte mit anderen Benutzertransaktionen zum Überspringen bestimmter Seiten geführt haben.
INITIALIZE = *NO
Die aktuelle Seitennummer wird nicht neu initialisiert.
Eine PPP-Reorganisation, die bereits in der früheren Online-Hilfsprogramm-Ausführung gestartet wurde, wird fortgesetzt. Wenn keine PPP-Reorganisation gestartet wurde, wird die aktuelle Seitennummer nicht initialisiert.
PAGES-PER-DML = <integer 1..16777215>
Legt die maximale Anzahl an Seiten fest, auf denen PPPs mit einer REORGPPP-DML aktualisiert werden müssen. Standardwert: 1
CLASH-HANDLING =
Legt fest, wie sich die REORGPPP-DML verhält, wenn eine durch eine andere Transaktion gesperrte Seite als nächste bearbeitet werden soll.
CLASH-HANDLING = *BREAK-DML
Die REORGPPP-DML wird abgebrochen, aber alle PPP-Reorganisationen, die bereits in dieser DML oder in früheren DMLs derselben Transaktion ausgeführt wurden, werden beibehalten. Mit der nächsten REORGPPP-DML, normalerweise in einer neuen Transaktion und wenn möglich nach einer Verzögerung im UDS-Online-Hilfsprogramm, wird erneut versucht, die PPP-Reorganisation auf dieser Seite auszuführen.
Wenn CLASH-HANDLING=*BREAK-DML, werden PPPs auf allen erforderlichen Seiten aktualisiert, wenn die letzte Seite im Realm erreicht wird. Bei Konflikten können jedoch zusätzliche REORGPPP-DMLs für diesen Zweck erforderlich sein.
CLASH-HANDLING = *SKIP-PAGE
Die Seite wird übersprungen. Bei einer nachfolgenden DML wird nicht versucht, die PPP-Reorganisation für diese Seite zu wiederholen. Wenn jedoch zu viele Seiten in einer REORGPPP-DML übersprungen werden, wird die DML abgebrochen.
Wenn CLASH-HANDLING=*SKIP-PAGE, wird die erforderliche Anzahl an Seiten (Parameter PAGES-PER-DML) generell mit einer REORGPPP-DML bearbeitet. Es kann jedoch passieren, dass nicht alle erforderlichen Seiten in einem REORGPPP-Zyklus bearbeitet werden. In diesem Fall kann eine Folgeaktion (INITIALIZE=*YES) verwendet werden, um die PPP-Reorganisation später abzuschließen, wenn zum Beispiel entsprechende Konflikte weniger wahrscheinlich sind.
CLASH-HANDLING = *WAIT-FOR-TRANSACTION
Die REORGPPP-Transaktion wartet bis die gesperrte Seite von der sperrenden Transaktion freigegeben wird.