Normalkonvertierung
Es wird davon ausgegangen, dass sich Quell- und Zieldatei bei einer Konvertierung auf gemeinschaftlichen Datenträgern befinden.
Diesen Fall könnte man als Regelfall bezeichnen. Zur Konvertierung muss der Platz für beide Dateien verfügbar sein. Ist dies nicht der Fall, so muss eine Konvertierung über eine Zwischendatei vorgenommen werden.
Konvertierung über Zwischendatei
Allgemeines
Für die Konvertierung einer Datei gilt, dass die Zieldatei den etwa gleichen Speicherbedarf auf Magnetplatte benötigt wie die Quelldatei. Eine „in-sich“- Konvertierung, die ohne zusätzlichen Platzbedarf auskommt, ist mit PAMCONV nicht möglich. Das bedeutet, dass für die Zieldatei noch genügend Plattenspeicherplatz zur Verfügung stehen muss. Ist dies aber nicht der Fall, ist die Konvertierung unter Verwendung einer Zwischendatei auf Magnetband oder Privatplatte möglich.
Der Operand FILE-DISPOSAL der Anweisung CONVERT-FILE (gibt an, wie mit der erzeugten Datei nach der Konvertierung verfahren werden soll) wird bei Konvertierung über Zwischendatei nicht berücksichtigt.
Bei dieser Konvertierungsart wird bereits beim Erstellen der Zwischendatei geprüft, ob die Datei konvertierbar ist. Dies soll verhindern, dass sich eine Zwischendatei nicht mehr in die Zieldatei umsetzen lässt.
Konvertierung über Zwischendatei in zwei Schritten
Diese Art der Konvertierung ist explizit durch zwei CONVERT-FILE-Anweisungen vorzunehmen.
Die beiden Anweisungen können im selben Programmlauf oder in getrennten Programmläufen gegeben werden.
Erster Schritt
Konvertierung der Quell-(Magnetplatten)-Datei auf Band oder Privatplatte.Zweiter Schritt
Konvertierung der Zwischendatei von Magnetband oder Privatplatte auf die Zieldatei.
Konvertierung über Zwischendatei in einem Schritt
Die oben angeführte Dateikonvertierung in zwei Schritten wird zu einer Aufgabe zusammengefasst und nur durch eine CONVERT-FILE-Anweisung ausgeführt. Dies kann erreicht werden, wenn für den Operanden DEVICE-FOR-TEMPFILE der Wert DISK oder TAPE angegeben wird.
Nach der erfolgreichen Umsetzung der Quell- auf die Zwischendatei wird die Quelldatei gelöscht und somit Platz für die Zieldatei geschaffen.
Für diese Zwischendatei wird ein Dateiname mit folgendem Aufbau gebildet:
SYSTMP.<tsn>.PAMCONV.<ss>.<cpusec>
Die Zwischendatei wird nach erfolgreicher Umsetzung auf die Zieldatei gelöscht, andernfalls kann die Zwischendatei über diesen Namen für eine weitere Verarbeitung angesprochen werden.
Programmintern wird die Konvertierung in den oben erwähnten zwei Schritten durchgeführt. Der Benutzer wird jedoch erst wieder zur Eingabe von Anweisungen aufgefordert, wenn beide Konvertierungsschritte durchgeführt worden sind.
Spezifikation der Konvertierungsvarianten
Die Auswahl der Konvertierungsvarianten wird auf Grund der Spezifikation der Quell- und Zieldatei und der Angabe im Operanden DEVICE-FOR-TEMPFILE der Anweisung CONVERT-FILE vorgenommen:
DEVICE-FOR-TEMPFILE=*NONE
Es wird keine Zwischendatei auf einem privaten Datenträger erzeugt, außer sie wird durch
/ADD-FILE-LINK
vereinbart.Es sind folgende Varianten möglich:
Die Quelldatei ist als Magnetplattendatei spezifiziert und für die Zieldatei existiert weder ein Katalogeintrag noch ist sie durch
/ADD-FILE-LINK
spezifiziert oder die Zieldatei ist als Magnetplattendatei angegeben:Konvertierung von Quelldatei auf Magnetplatte nach Zieldatei auf Magnetplatte. (Normalkonvertierung)
Die Quelldatei ist als Magnetplattendatei und die Zieldatei ist als Magnetbanddatei angegeben:
Konvertierung von Quelldatei auf Magnetplatte nach Zwischendatei auf Magnetband. (Konvertierung über Zwischendatei auf Magnetband in zwei Schritten: Erster Schritt.)
Die Quelldatei ist als Magnetbanddatei spezifiziert und für die Zieldatei existiert weder ein Katalogeintrag noch ist sie durch
/ADD-FILE-LINK
spezifiziert oder die Zieldatei ist als Magnetplattendatei angegeben:Konvertierung von Quelldatei auf Magnetband (muss eine von PAMCONV erzeugte Zwischendatei sein) nach Zieldatei auf Magnetplatte.
(Konvertierung über Zwischendatei auf Magnetband in zwei Schritten: Zweiter Schritt.)
Die Spezifizierung von Quell- und Zieldatei als Magnetbanddatei ist nicht zulässig.
Dies bedeutet auch, dass eine Datei auf Magnetband immer eine PAMCONV-Zwischendatei sein muss, andernfalls wird die Konvertierung abgewiesen.
DEVICE-FOR-TEMPFILE=*TAPE
Es wird in jedem Fall eine Zwischendatei auf einem Magnetband erzeugt. Eine gleichzeitige Spezifizierung der Quell- und/oder Zieldatei durch
/ADD-FILE-LINK
als Magnetbanddatei ist nicht zulässig.Es sind folgende Varianten möglich:
Die Quelldatei ist als Magnetplattendatei spezifiziert und für die Zieldatei existiert weder ein Katalogeintrag noch ist sie durch
/ADD-FILE-LINK
spezifiziert oderdie Zieldatei ist als Magnetplattendatei spezifiziert:
Konvertierung von Quelldatei auf Magnetplatte nach Zieldatei auf Magnetplatte. (Konvertierung über Zwischendatei auf Magnetband in einem Schritt.)
DEVICE-FOR-TEMPFILE=*DISK
Es wird in jedem Fall eine Zwischendatei auf einer Privatplatte erzeugt. Eine gleichzeitige Spezifizierung der Quell- und/oder Zieldatei durch
/ADD-FILE-LINK
als Magnetbanddatei ist nicht zulässig. Wird die Quell- und/oder Zieldatei durch/ADD-FILE-LINK
(auf Privatplatte) spezifiziert, darf der in diesem Kommando angegebene Datenträger nicht gleich mit dem im Operanden DEVICE-FOR-TEMPFILE angegebenen Datenträger der Privatplatte sein.Es sind folgende Varianten möglich:
Die Quelldatei ist als Magnetplattendatei spezifiziert und für die Zieldatei existiert weder ein Katalogeintrag noch ist sie durch
/ADD-FILE-LINK
spezifiziert oderdie Zieldatei ist als Magnetplattendatei spezifiziert:
Konvertierung von Quelldatei auf Magnetplatte nach Zieldatei auf Magnetplatte. (Konvertierung über Zwischendatei auf Magnetplatte in einem Schritt.)
Format der Zwischendatei auf Magnetband
Die Quell-(Magnetplatten)-Dateien können SAM-, ISAM-, oder PAM-Dateien sein.
Die Zugriffsmethode ISAM ist für Bänder nicht definiert. Daher wird gleich ein einheitliches Format für die Zwischendatei auf Band verwendet. Sie ist eine SAM-Datei und enthält die Datensätze der Quelldatei (ISAM: aufsteigend, nach Schlüsseln sortiert). Ein Satz besteht bei allgemeinen PAM-Dateien und Phasen aus einem 8 Byte langen Feld mit dem User-Teil des PAM-Schlüssels und einem 2048 Byte langen Feld mit dem PAM-Block.
Zusätzliche Dateimerkmale werden in einem eigenen Benutzerkennsatz (UHL) abgelegt.
Eine solche Zwischendatei ist nur als Zwischendatei für eine Konvertierung gedacht. Es müssen Magnetbänder mit Standardkennsätzen verwendet werden.
Konvertierung über Zwischendatei auf Band in zwei Schritten
Sollen mehrere Dateien gleichzeitig konvertiert werden, so muss
/ADD-FILE-LINK
mit SUPPORT=TAPE(FILE-SEQUENCE =...) eingegeben werden, da sonst die Zwischendatei auf Band überschrieben wird.Dateiattribute
Eine Zwischendatei auf Magnetband hat folgende Eigenschaften:
FCBTYPE = SAM BLKSIZE = (STD,16) RECFORM = VARIABLE LABEL = STD BLKCTRL = PAMKEY
Im Übrigen gelten die Standardwerte aus dem Makro FCB.
Wie aus folgendem Diagramm ersichtlich, ist eine Zwischendatei auf Magnetband immer eine K-SAM-Datei, unabhängig vom Key-Format oder FCBTYPE der Quell- und Zieldatei.
Benutzerkennsätze
Für die Speicherung der Dateieigenschaften der Quelldatei wird der Benutzerkennsatz UHL1 mit folgendem Aufbau verwendet:
Stellen
Inhalt
Bedeutung
1..4
UHL1
Kennzeichen des Benutzerkennsatzes
5..12
PAMELA-I
Kennzeichen: ISAM-Zwischendatei
5..12
PAMELA-S
Kennzeichen: SAM-Zwischendatei
5..12
PAMELA-P
Kennzeichen: PAM-Zwischendatei
13..66
CL54
Dateiname der Quelldatei
67
AL1(b)
BLKSIZE=(STD,b)
68
X'02'
RECFORM=VARIABLE
68
X'04'
RECFORM=FIXED
69..70
AL2(r)
RECSIZE=r
71..72
AL2(p)
KEYPOS=p
73
AL1(k)
KEYLEN=k
74
X'00'
VALPROP=MIN
74
X'01'
VALPROP=MAX
75
AL1(f1)
LOGLEN=f1
76
AL1(f2)
VALLEN=f2
77
X'80'
DUPEKY=YES
77
X'00'
DUPEKY=NO
78
AL1
Druckersteuerzeichen (IDCEDMS)
79
CL1
Bibliothekstyp ('P': PLAM)
80
AL1
Datei-Indikator (X'40': FGG)
Format der Zwischendatei auf Privatplatte
Eine Zwischendatei auf Privatplatte besitzt (im Gegensatz zur Zwischendatei auf Magnetband) kein eigenes Format. Sie ist immer eine Kopie der Quell- bzw. Zieldatei, abhängig von der Konvertierungsrichtung. Die Zwischendatei wird immer als NK-Datei erzeugt. Daher ist man vom Key-Format der Privatplatte unabhängig.
Aus folgendem Diagramm ist ersichtlich, in welchem Format die Zwischendatei auf der Privatplatte eingerichtet wird und von welcher Datei (abhängig von der
Konvertierungsrichtung) die Kopie erstellt wird.