DBH und Dienstprogramme prüfen in der Regel, ob die genutzten Dateien - insbesondere die Datenbankdateien - über alle angeschlossenen Pubsets eindeutig sind. Mit einer UDS/SQL-Pubset-Deklaration können Sie diese Prüfung auf ausgewählte Pubsets beschränken.
Durch die Einschränkung der Eindeutigkeitsanforderung für Dateinamen, erhalten Sie eine größere Flexibilität bei der Organisation mehrerer UDS/SQL-Anwendungen auf einem Rechner. Rückwirkungen auf den Betrieb der UDS/SQL-Anwendungen durch Änderung der Speicherorganisation - etwa bei der aktiven Nutzung moderner Speichertechnologien auf Basis von Clones und Snaps - können vermieden werden.
Die UDS/SQL-Pubset-Deklaration stellen Sie optional in einer Pubset-Deklarations-Jobvariable bereit, auf die der DBH und die Dienstprogramme über den vorgegebenen Jobvariablen-Linknamen UDSPS01 zugreifen.
Falls beim Programmbeginn keine UDS/SQL-Pubset-Deklaration vorliegt, werden bestehende DB-Dateien, Systemdateien und Arbeitsdateien der Dienstprogramme in den Dateikatalogen jedes lokal verfügbaren Pubsets gesucht, bei dem die Benutzerkennung des ablaufenden Programmes als zugriffsberechtigt eingetragen ist. Dieses Standardverhalten entspricht einer UDS/SQL-Pubset-Deklaration "*". Auch bei Nichtverfügbarkeit des Produktes "Jobvariablen" wird als UDS/SQL-Pubset-Deklaration "*" angenommen.
Wenn während der Initialisierung des DBH oder beim Start eines Dienstprogramms eine fehlerhafte UDS/SQL-Pubset-Deklaration zugewiesen ist oder die Zuweisung der Jobvariable fehlerhaft ist, wird die Session bzw. das Dienstprogramm beendet.
Syntax der UDS/SQL-Pubset-Deklaration
Die UDS/SQL-Pubset-Deklaration in der Pubset-Deklarations-Jobvariablen besteht aus einer Folge von sogenannten Catid-Gruppen, die jeweils eine FSTAT-konforme Katalogkennungsangabe darstellen und voneinander durch ein oder mehrere Leerzeichen getrennt sind.
Die Syntax der UDS/SQL-Pubset-Deklaration ist somit wie folgt:
catid-group[ catid-group]...
Angabe einer oder mehrerer Catid-Gruppen (1- bis 4-stellige Katalogkennungen ohne „:“), die die in folgender Tabelle 22 aufgeführten Platzhalter (Wildcards) enthalten dürfen:
* | Ersetzt eine beliebige, auch leere Zeichenfolge. Ein * an erster Stelle muss verdoppelt werden, sofern dem * weitere Zeichen folgen und die eingegebene Zeichenfolge nicht mindestens einen weiteren Platzhalter enthält. |
/ | Ersetzt genau ein beliebiges Zeichen. |
<sx:sy> | Ersetzt eine Zeichenfolge, für die gilt:
|
<s1,...> | Ersetzt alle Zeichenfolgen, auf die eine der mit s angegebenen Zeichenkombinationen zutrifft. s kann auch die leere Zeichenfolge sein. Jede Zeichenfolge s kann auch eine Bereichsangabe „sx:sy“ sein. |
-s | Ersetzt alle Zeichenfolgen, die der angegebenen Zeichenfolge s nicht entsprechen. Das Minuszeichen darf nur am Beginn der Zeichenfolge stehen. Diese Angabe ist nicht mit anderen Angaben in einer UDS/SQL-Pubset-Deklaration kombinierbar. |
Tabelle 22: Platzhalter (Wildcards) für Katalogkennungen in der UDS/SQL-Pubset-Deklaration
Maximal dürfen 100 Catid-Gruppen angegeben werden.
Eine Catid-Gruppe darf maximal 26 Zeichen lang sein.
Kleinbuchstaben werden wie die entsprechenden Großbuchstaben behandelt.
Die Angabe nicht existenter oder nicht verfügbarer Katalogkennungen ist erlaubt.
Katalogkennungen dürfen auch mehrfach angeben werden.
Beispiele
Angabe | Steht für folgende Katalogkennungen |
A001 | A001 |
X/C | XAC, XBC, XCC, ..., XZC, X0C, ..., X9C |
5* | 5, 5A, ..., 59, 5AA, ..., 599, 5AAA, 5999 |
<C015:C025> | C015, C016, ..., C024, C025 |
<BE:DC> | BE, BF, BG, ..., B9, CA, ..., C9, DA, ..., DC |
<D015:D025,F015:F045> | D015, D016, ..., D024, D025, F015, F016, ..., F044, F045 |
<A:D;BE:DC> | A, B, C, D, BE, BF, BG, ..., B9, CA, ..., C9, DA, ..., DC |
-5* | Alle (1- bis 4-stelligen) Katalogkennungen, die nicht mit 5 beginnen |
Tabelle 23: Beispiele für Katalogkennungen in der UDS/SQL-Pubset-Deklaration
Kommandofolge für die Definition und Zuweisung einer UDS/SQL-Pubset-Deklaration:
/CREATE-JV JV-NAME=UDS-PUB-DECL /MODIFY-JV JV-CONTENTS=UDS-PUB-DECL, - / SET-VALUE=’A001 B001 <C015:C025> <D015:D025,F015:F045> 5*’ /SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=UDS-PUB-DECL
Kommandofolge für die Definition und Zuweisung einer UDS/SQL-Pubset-Deklaration mit Ausschlussbedingung:
/CREATE-JV JV-NAME=UDS-PUB-DECL /MODIFY-JV JV-CONTENTS=UDS-PUB-DECL,SET-VALUE=’-5*’ /SET-JV-LINK LINK-NAME=UDSPS01,JV-NAME=UDS-PUB-DECL
Der Default Public Volume Set der Ablaufkennung wird von UDS/SQL immer implizit berücksichtigt und braucht daher nicht in die UDS/SQL-Pubset-Deklaration aufgenommen zu werden. Es ist nicht möglich, den Default Public Volume Set der Ablaufkennung von der Verwendung auszuschließen.
Die Zuweisung einer UDS/SQL-Pubset-Deklaration, die nur Leerzeichen enthält, ist zulässig; es wird nur der Default Public Volume Set der Ablaufkennung berücksichtigt.
Bei Verwendung von Dateien auf Privatplatte müssen alle Pubsets in der UDS/SQL-Pubset-Deklaration enthalten sein, deren Kataloge für den Betrieb benötigte Dateien auf Privatplatte verwalten.
In die Eindeutigkeitsprüfung werden Datenbankdateien (Realms, ALOG-Dateien, HASHLIB, COSSD), Systemdateien (SLF, Temporaere Realms, RLOG-Dateien, DB-Status-Datei) und die Arbeitsdateien der Dienstprogramme einbezogen.
In die Eindeutigkeitsprüfung werden nicht einbezogen die Ladeparameterdateien des DBH, die Bibliotheksdateien für zu ladende oder nachzuladende UDS/SQL-Programmteile und Datenmodule (SSITAB, PLEX) sowie die Verteiltabellendateien fuer UDS-D.
Bei Ladeparameter PP DISTABLE, bei DAL &ADD DISTRIBUTION sowie bei DAL &SAVE DISTRIBUTION können Sie die Katalogkennung für die jeweilige Datei ohne Rückwirkung auf die UDS/SQL-Pubset-Deklaration angeben.
In der Initialisierung wird die UDS/SQL-Pubset-Deklaration vom DBH bzw. vom jeweiligen Dienstprogramm geprüft. Ebenso prüft der DBH eine mittels DAL NEW PUBSETS neu zugewiesene UDS/SQL-Pubset-Deklaration vollständig. Fehlerhafte Zuweisungen bei Session- oder Dienstprogrammbeginn führen zum Abbruch. Bei fehlerhafter Änderung der UDS/SQL-Pubset-Deklaration mittels DAL wird diese abgewiesen und die bestehende UDS/SQL-Pubset-Deklaration weiter genutzt.
Folgende Ursachen für fehlerhafte Zuweisungen können auftreten:
Eine nicht vorhandene oder nicht zugreifbare Jobvariable wird zugewiesen (DBH-Meldung UDS0752, Dienstprogramm-Meldungen 0048 und 0049).
Die Catid-Gruppen sind syntaktisch fehlerhaft angegeben (DBH-Meldung UDS0748, Dienstprogramm-Meldung 0045).
Bei der syntaktischen Prüfung einer Catid-Gruppe wird ein Fehler festgestellt (DBH-Meldung UDS0749 mit Insert CMDWCC).
Die Nutzung einer Catid-Gruppe beim Katalogzugriff während der syntaktischen Prüfung führt zu einem Fehler (DBH-Meldung UDS0749 mit Insert FSTAT, Dienstprogramm-Meldung 0055).
Die UDS/SQL-Pubset-Deklaration muss mit den Datenträgerzuweisungen für RLOG- und ALOG-Dateien verträglich sein. Der DBH prüft diese Verträglichkeit. Aktionen, die insofern zu unverträglicher Datenträgerzuweisung führen, werden abgewiesen.