Plattendateien vergleichen
Komponente: | BS2000 |
Funktionsbereich: | Dateiverarbeitung |
Anwendungsbereich: | FILE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando COMPARE-DISK-FILES vergleicht zwei Plattendateien blockweise (PAM) oder satzweise (SAM, ISAM) und informiert den Benutzer über das Vergleichsergebnis. Die Dateien können auf gemeinschaftlichen Datenträgern, Net-Storage-Volumes oder Privatplatten liegen. Es können permanente Dateien, temporäre Dateien oder Arbeitsdateien verglichen werden.
Dateigenerationsgruppen als Ganzes können nicht verglichen werden, wohl aber einzelne Dateigenerationen.
SAM-Node-Files werden, wie SAM-Dateien auf gemeinschaftlichen Datenträgern, satzweise verglichen. Beim Lesen konvertiert der Net-Client die Daten vom Net-Coded-Character-Set in den Coded-Character-Set. Der Vergleich findet also auf Basis des Coded-Character-Sets statt. So kann es vorkommen, dass trotz unterschiedlichem Net-Coded-Character-Set zwei SAM-Node-Files als gleich angesehen werden.
Die zu vergleichenden Dateien müssen in folgenden Merkmalen übereinstimmen:
Zugriffsmethode (FILE-STRUCTURE)
Blockformat (BLOCK-CONTROL-INFO)
Mit der Voreinstellung BLOCK-CONTROL-INFO=*IGNORE-ATTRIBUTE sind auch unterschiedliche Blockformate zulässig.Codierter Zeichensatz (CODED-CHARACTER-SET)
- LAST-BYTE-POINTER (LBP), außer von PAM-Dateien mit EOF-HANDLING=*DIFFERENT-LBP-ATTRIBUTES, zum Vergleich einer PAM-Dateien mit gültigem LBP und einer PAM-Datei ohne LBP.
für SAM-Dateien:
REC-SIZE bei REC-FORM=F
für ISAM-Dateien:
REC-SIZE bei REC-FORM=F
Merkmale des ISAM-Schlüssels (KEY-LEN, KEY-POS, LOG-FL-LEN, VAL-FL-LEN)
Merkmale des Sekundärschlüssels (KEY-LEN, KEY-POS, DUPKEY) bei NK-ISAM
für PAM-Dateien:
Blockungsfaktor (BUFFER-LENGTH)
Anzahl der belegten PAM-Seiten (HIGHEST-USED-PAGE)
Das Kommando wird abgewiesen für Dateien, die eine der folgenden Eigenschaften besitzen:
Die Datei ist leer.
Die Datei ist geöffnet.
Die Datei ist gesperrt (z.B. SECURE-Lock)
Das Kennzeichen REPAIR-NEEDED oder NO-DMS-ACCESS ist gesetzt.
PLAM-Bibliotheken sind PAM-Dateien und werden blockweise verglichen. Den Vergleich auf Elementebene ermöglicht das Dienstprogramm „LMS“ [21].
Für den Vergleich von Banddateien steht das Dienstprogramm TPCOMP2 zur Verfügung, siehe Handbuch „Dienstprogramme“ [9].
Format
| COMPARE-DISK-FILES | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Operandenbeschreibung
FILE-NAME1 = <filename 1..54>
Name der ersten zu vergleichenen Datei.
FILE-NAME2 = <filename 1..54>
Name der zweiten zu vergleichenen Datei.
BLOCK-CONTROL-INFO = *IGNORE-ATTRIBUTE / *INCLUDE-ATTRIBUTE
Das Blockformat der Dateien wird in den Vergleich mit einbezogen (*INCLUDE-ATTRIBUTE) oder nicht (*IGNORE-ATTRIBUTE).
PAMKEY-USER-INFO = *INCLUDE / *IGNORE
Nur relevant für PAM-Dateien mit BLOCK-CONTROL-INFO=*PAMKEY:
Die Benutzerinformation im PAM-Schlüssel wird in den Vergleich mit einbezogen (*INCLUDE) oder ignoriert (*IGNORE).
EOF-HANDLING = *STD / *DIFFERENT-LBP-ATTRIBUTES(...)
Nur relevant für PAM-Dateien
Gibt an, welche Dateiende-Kriterien für PAM-Dateien berücksichtigt werden.
EOF-HANDLING = *STD
Gibt an, dass nur PAM-Dateien mit den gleichen LAST-BYTE-POINT (LBP) Attributen verglichen werden, d.h. nur PAM-Dateien mit einem gültigen LBP oder PAM-Dateien ohne LBP werden mit einander verglichen.
EOF-HANDLING = *DIFFERENT-LBP-ATTRIBUTES(...)
Es werden nur PAM-Dateien mit unterschiedlichen LBP-Attributen verglichen, d.h. eine PAM-Dateien mit LBP wird nur mit einer PAM-Datei ohne LBP verglichen.
CRTE-MARKER = *NO / *YES
Gibt an, ob der CRTE-MARKER für das Dateiende einer PAM-Datei ohne LBP berücksichtigt wird.
CRTE-MARKER = *NO
In der PAM-Datei ohne gültigen LBP wird nicht noch zusätzlich nach einem Dateiende-Kriterium 'C-DATEIENDE' gesucht.
CRTE-MARKER = *YES
Nach dem, die beiden PAM-Dateien bis zum LBP der Datei mit LBP gleich sind, wird zusätzlich noch nach einem Dateiende-Kriterium 'C-DATEIENDE' in der Datei ohne LBP ab der Stelle, die durch den Wert des LBP bestimmt wird, gesucht.
Ausgabeinformationen über den Dateivergleich
Bei gleichen Dateien wird die Meldung DMS0630 ausgegeben.
Bei ungleichen Dateien wird die Meldung DMS0631 ausgegeben. Abhängig vom Dateityp werden dazu noch weitere Informationen ausgegeben:
Bei SAM-Dateien:
Die Meldung DMS0632 zeigt die Nummer des Satzes an, in dem die erste Ungleichheit auftritt. Für diese Stelle werden auch die Block- und Satznummer innerhalb des Datenblocks angezeigt.Bei ISAM-Dateien:
Die Meldung DMS0633 zeigt die Nummer des Satzes an, in dem die erste Ungleichheit auftritt.Bei PAM-Dateien:
Die Meldung DMS0634 zeigt die Nummer des 2K-Datenblocks und die Bytenummer innerhalb dieses Datenblocks an, in dem die erste Ungleichheit auftritt.
Wenn bei PAMKEY-USER-INFO=*INCLUDE die erste Ungleichheit in der Benutzerinformationen im PAM-Schlüssel gefunden wird, gibt die Meldung DMS0635 die Nummer des zugehörigen 2K-Datenblocks aus.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
|---|---|---|---|
0 | DMS0630 | Kommando fehlerfrei ausgeführt. Die Dateien sind gleich | |
0 | DMS0631 | Kommando fehlerfrei ausgeführt. Die Dateien sind nicht gleich | |
1 | CMD0202 | Syntax- oder Semantikfehler im Kommando | |
32 | DMS05C7 | Unerwarteter interner Fehler im DVS | |
64 | CMD0102 | Unterbrechung mit K2-Taste | |
64 | CMD0216 | Kommandoprivileg fehlt | |
64 | DMS0501 | Dateikatalog nicht verfügbar | |
64 | DMS0512 | Dateikatalog nicht gefunden | |
64 | DMS051B | Benutzerkennung nicht im Pubset | |
64 | DMS051C | Benutzer hat auf Pubset kein Zugriffsrecht | |
64 | DMS0535 | Angegebene Datei nicht mehrbenutzbar | |
64 | DMS0585 | Während der Katalogverarbeitung bzw. während der Mehrrechnerverarbeitung wurde ein Fehler festgestellt | |
64 | DMS05FC | Benutzerkennung nicht im Home-Pubset | |
64 | DMS0636 | Dateiattribute lassen einen Vergleich nicht zu | |
64 | DMS0637 | Eine der Dateien enthält eine Blocklücke | |
64 | DMS0638 | Coded-Character-Sets der Dateien sind unterschiedlich | |
64 | DMS0639 | LBP-Attribute der PAM-Dateien sind gleich | |
64 | DMS063A | PAM-Datei ohne LBP besitzt keinen CRTE-Marker | |
64 | DMS0684 | Datei existiert nicht | |
130 | DMS0524 | Systemadressraum erschöpft | |
130 | DMS0582 | Die Datei ist derzeit gesperrt oder in Gebrauch und kann nicht bearbeitet werden | |
130 | DMS0594 | Nicht genügend virtueller Speicherplatz vorhanden |