Die einzelnen Ausgabedateien für BOUTLOAD können Sie mit folgenden Kommandos einrichten:
|
dbname
Name der Datenbank, die behandelt wird
nnnnn
Nummer der Rec-Ref; fünfstellig mit führenden Nullen
mmmmm
Nummer der Area-Ref; fünfstellig mit führenden Nullen;
diese Angabe ist erforderlich, wenn Sie Sätze aus nur einem Realm kopieren wollen.
SUPPORT
Mit der SPACE-Angabe des SUPPORT-Operanden können Sie die Speicherplatzgröße festlegen. Dies ist nur bei Platte zulässig.
linkname
Einen frei wählbaren Linknamen müssen Sie angeben bei Angabe von FILE-SEQUENCE=*NEW, oder bei Änderung der BUFFER-LENGTH. Zur Ausgabedatei
darf dann nur ein TFT-Eintrag existieren.
xxx
Voreinstellung
bei Platte: *STD(SIZE=4)
bei Band:
die BUFFER-LENGTH richtet sich nach der Länge der Sätze:
mindestens vier PAM-Seiten. Der Wert wird auf ein ganzzahliges Vielfaches der Satzlänge und ein ganzzahliges Vielfaches eines Doppelwortes aufgerundet.
Bei Ausgabe auf Band sollten Sie die BUFFER-LENGTH mit einer direkten Zahlenangabe angeben, nicht Standardblock, da die Angabe von Standardblöcken STD die Ausgabedatei vergrößert.
FILE-SEQUENCE=*NEW
nur bei Band zulässig, wenn bei mehreren BOUTLOAD-Läufen auf die gleiche Bandmenge zugegriffen werden soll.
Die auszugebende Datenmenge errechnen Sie so:
Anzahl der Sätze x Satzlänge Bytes
Die Länge der Sätze errechnen Sie so:
für Sätze mit Setinformation in einer 2-Kbyte-Datenbank:
Satzlänge = Satzlänge nach SIA-Protokoll - Länge der Systeminformation
+ 4 * (Anzahl der nicht-singulären Sets, in denen der Satz
Member ist + 1)+ 1 * (Anzahl der singulären Sets, in denen der Satz Member
ist, außer bei MANDATORY AUTOMATIC Membern)
für Sätze mit Setinformation in einer 4-Kbyte-/8-Kbyte-Datenbank:
Satzlänge = Satzlänge nach SIA-Protokoll - Länge der Systeminformation
+ 8 * (Anzahl der nicht-singulären Sets, in denen der Satz
Member ist + 1)+ 1 * (Anzahl der singulären Sets, in denen der Satz Member
ist, außer bei MANDATORY AUTOMATIC Membern)für Sätze ohne Setinformation:
Satzlänge = Satzlänge nach SIA-Protokoll - Länge der Systeminformation
Bei auf Realms verteilten Satzarten kommen zur Satzlänge noch fünf Bytes für die Area-Ref hinzu, wenn die Sätze aus mehreren Realms kopiert oder extrahiert werden.
Die Sätze werden nämlich immer in eine Ausgabedatei pro Satzart kopiert, wichtig für das Auftreten der Area-Reference ist also die Herkunft aus mehr als einem Realm.
Die Anzahl der Sätze können Sie mit dem Dienstprogramm BSTATUS ermitteln.
Wenn Sie die Ausgabedateien nicht vorher eingerichtet haben, legt BOUTLOAD sie auf eine gemeinschaftliche Platte. Die Größe der jeweiligen Datei errechnet BOUTLOAD aus der max. Anzahl der DBTT-Einträge der betroffenen Satzart.
CSV-Ausgabedatei
Es ist nicht zwingend erforderlich, die CSV-Ausgabedatei zu erstellen. Sie wird stets vom Hilfsprogramm BOUTLOAD auf einer gemeinschaftlichen Platte erstellt.
Der Name der CSV-Ausgabedatei besteht aus dem Dateinamen der Ausgabedatei und dem Suffix „CSV“:
dbname.RECnnnnn[.mmmmm].CSV
dbname
Name der zu verarbeitenden Datenbank.
nnnnn
5-stellige Satzreferenznummer mit führenden Nullen.
mmmmm
5-stellige Area-Referenznummer mit führenden Nullen. Diese Spezifikation ist erforderlich, wenn Sätze nur aus einem Realm kopiert werden.
CSV
Suffix für die CSV-Ausgabedatei.
Die Sätze werden stets in eine CSV-Ausgabedatei pro Satzart kopiert.
Wenn CSV-OUTPUT = *YES angegeben ist, muss der DBCOM verfügbar sein.
Aufbau des Ausgabesatzes
Wenn BOUTLOAD wegen der Anweisung SET-INFORMATION=YES die Set-Information mit ausgegeben hat, wird der Ausgabesatz in folgender Struktur angelegt:
| Database Key| Feld| Database Keys aller Owner | Benutzerteil| Area-Ref|
--------------+-----+---------------------------+-------------+----------
der Database Key des Satzes
ein ein Byte langes Feld mit dem Inhalt
X’00’ = Member eingefügt
X’FF’ = Member nicht eingefügt
(für alle singulären Sets, in denen der Satz Member ist, außer bei MANDATORY AUTOMATIC Membern)die Database Keys der Owner der nicht singulären Sets, in denen der Satz Member ist
Ist der Satz nicht im Set eingehängt, wird der Database Key des Owners auf High-Value gesetzt (X'FFFFFFFF' bei einer 2-KB-Datenbank, bzw. X'FFFFFFFFFFFFFFFF' bei einer 4/8-KB-Datenbank)
Benutzerteil
die Area-Reference (Realm-Referenz) in der Länge von fünf Byte bei auf Realms verteilten Satzarten, wenn deren Sätze aus mehreren Realms kopiert werden. Die Sätze werden nämlich immer in eine Ausgabedatei pro Satzart kopiert, wichtig für das Auftreten der Area-Reference ist also die Herkunft aus mehr als einem Realm.
Wenn BOUTLOAD Set-Informationen zu den einzelnen Sätzen ausgibt, ist im BOUTLOAD-Protokoll, das die Anweisungen für einen nachfolgenden BINILOAD-Lauf enthält, die Länge der Database-Key-Werte angegeben (Länge „4“ bei einer 2-Kbyte-Datenbank, Länge „8“ bei einer 4-Kbyte-/8-Kbyte-Datenbank).
Ohne Set-Information besteht der Ausgabesatz nur aus dem Benutzerteil.
CSV-Ausgabedaten
Das folgende Beispiel zeigt einen Teil einer Datenausgabe in eine CSV-Ausgabedatei in einem mit Microsoft EXCEL vergleichbaren Präsentationsmodus. Bei einer CSV-Datei sind die einzelnen Werte dagegen durch ein Semikolon (;) voneinander getrennt.
|
|
|
| |||||||||
|
|
| ||||||||||
|
|
| ||||||||||
|
|
| ||||||||||
|
|
| ||||||||||
|
|
| ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Die Kopfzeile der Datenausgabe enthält bis zu 6 Zeilen, wenn ein Realm-Name in COPY-RECORD angegeben wurde:
Die erste Zeile enthält den Namen der Hilfsprogrammroutine, die jeweilige Ausgabeformatversion der Hilfsprogrammroutine sowie das Datum und die Uhrzeit der CSV-Ausgabeerstellung.
Die nächsten Zeilen enthalten den Datenbanknamen, den Satznamen und die Satzreferenz. Wenn ein Realm-Name angegeben wurde, enthält die Kopfzeile auch den Realm-Namen und die Realm-Referenz.
Die Kopfzeile der Satzausgabe kann folgende Felder enthalten:
DB Key Ref, DB Key RSQ
Feldnamen für den Datenbankschlüssel des Satzes
Member set-name
Feldname für ein Feld mit einer Länge von einem Byte mit folgendem Inhalt:
Y Member in den SYSTEM-Set set-name eingefügt
N Member nicht in den SYSTEM-Set set-name eingefügt
(für alle Einzel-Sets, in denen der Satz ein Member ist, außer für MANDATORY, AUTOMATIC Member)
Owner DB Key Ref set-name, Owner DB Key RSQ set-name
Wenn der Satz ein Membersatz ist, werden Datenbankschlüssel aller Owner zusätzlich ausgegeben.
Die Feldnamen nach dem Benutzerschema
Area ref
Im Falle einer Satzart, die in Realms verteilt wird, wenn deren Sätze aus mehreren Realms kopiert werden
Wenn ein Feld Teil einer Wiederholungsgruppe oder eines Vektors ist, wird der Indexwert an den Feldnamen dieses Felds angefügt.
Felder des Typs DBKEY werden im folgenden Format ausgegeben:
DB KEY REF und DB KEY RSQ.
BOUTLOAD konvertiert binäre und numerische Daten wie folgt in ein druckbares Format:
Das Dezimalzeichen wird durch das Zeichen "Komma" (",") dargestellt.
Alphanumerische Felder mit variabler Länge werden nach der aktuellen Länge des variablen Elements ausgegeben.
Felder in einem nationalen Typ werden in einen benutzerdefinierten Zeichensatz konvertiert, wenn dies möglich ist.
Um einen benutzerdefinierten Standard-Zeichensatz zuzuweisen oder abzurufen, gehen Sie wie folgt vor:
> | Um einen benutzerdefinierten Standard-Zeichensatz zuzuweisen, verwenden Sie die Befehle ADD-USER oder MODIFY-USER. |
> | Um den benutzerdefinierten Standard-Zeichensatz abzurufen, verwenden Sie den Befehl SHOW-USER-ATTRIBUTES. |
Für die Konvertierung von einem nationalen Datentyp muss das XHCS-Subsystem im System verfügbar sein. Wenn Zeichen des nationalen Datentyps wegen eines Fehlers des XHCS-Subsystems nicht konvertiert werden können, wird die Warnung 3935 ausgegeben, die Ausgabe in die CSV-Datei wird beendet, und die CSV-Datei wird gelöscht.
3935 NATIONAL CHARACTERS CANNOT BE CONVERTED: XHCS RETURN CODE: returncode
Wenn eine Satzart einen nationalen Datentyp enthält, wird die entsprechende CSV-Datei mit dem CODED-CHARACTER-SET der USER-ID angelegt.
Wenn das CODED-CHARACTER-SET des Users nicht bestimmt werden kann, wird die Warnung 3936 ausgegebe, die CSV-Ausgabe wird für diese Satzart beendet, und die CSV-Datei wird gelöscht.
3936 USER CODED CHARACTER SET CANNOT BE DETERMINED: SRMUINFI RETURN CODE:
returncode
Wenn ein nationales Zeichen nicht in einen benutzerdefinierten Zeichensatz konvertiert werden kann (weil keine Entsprechung vorhanden ist), wird dieses nationale Zeichen als Zeichen "Punkt" (".") ausgegeben. Zusätzlich wird eine Warnmeldung ausgegeben:
3932 STRING CONVERSION WITH SUBSTITUTION BY DEFAULT CHARACTERS PERFORMED FOR RECORD recordname.
Ein Semikolon (";") wird verwendet, um die einzelnen Werte voneinander zu trennen.
Alphanumerische Werte können bestimmte Zeichen wie Trennlinien/Trennzeichen (";"), neue Zeilen oder doppelte Anführungszeichen enthalten, die in verschiedenen Systemumgebungen besondere Bedeutungen haben. Alle alphanumerischen Werte werden mit doppelten Anführungszeichen umschlossen, damit diese Werte in anderen Systemumgebungen korrekt verarbeitet werden können. Wenn ein Wert eingebettete (doppelte) Anführungszeichen enthält, werden diese doppelten Anführungszeichen als zwei (doppelte) Anführungszeichen dargestellt.