Das folgende Kapitel gibt einen Überblick über die Möglichkeiten, mit LMSCONV Elemente zu bearbeiten. LMSCONV kann Elemente
in Bibliotheken aufnehmen,
in Dateien ausgeben,
in andere Bibliotheken ausgeben (kopieren),
auflisten,
löschen,
korrigieren,
und das Inhaltsverzeichnis der Bibliothek ausgeben.
Aufnehmen von Elementen in eine Bibliothek
Folgende Anweisungen nehmen Elemente in die zugewiesene Bibliothek auf: ADD-ELEMENT, COPY-ELEMENT und MODIFY-LOGGING-PARAMETERS.
Der Operand WRITE-MODE bestimmt dabei, ob ein gleichbezeichnetes Element in der Ausgabebibliothek überschrieben wird oder nicht.
ADD-ELEMENT
Die Anweisung ADD-ELEMENT (siehe "ADD-ELEMENT - Element in Bibliothek aufnehmen") nimmt Dateien, Module aus dem EAM-Bereich und Datensätze aus dem LMSCONV-Anweisungsstrom als Elemente in die zugewiesene Bibliothek auf. Wird keine Bibliothek angegeben, wird die durch Anweisung OPEN-LIBRARY eröffnete Bibliothek genommen.
Die Satzformate FIXED und UNDEFINED werden in das Satzformat VARIABLE umgewandelt; d.h. mit 4-Byte-Satzkopf versehen. Die Satzlänge inklusive Satzkopf darf 32KByte nicht überschreiten.
Wird eine ISAM-Datei aufgenommen, bestimmt der Operand SOURCE-ATTRIBUTES, ob die Dateiattribute, der ISAM-Schlüssel und Informationen über ISAM-Sekundärschlüssel mit aufgenommen werden.
Es können dann ISAM-Schlüssel bis zu einer Länge von 255 Byte abgelegt werden. Elemente mit ISAM-Schlüssel eignen sich nur für die Archivierung (siehe Hinweise unten).
Ist der Operand SOURCE-ATTRIBUTES=*KEEP gesetzt, ist es auch möglich, Dateien mit RECORD-FORMAT=FIXED aufzunehmen, ansonsten ist nur RECORD-FORMAT = VARIABLE zulässig.
Der Last Byte Pointer einer PAM-Datei bleibt stets erhalten, wenn sie als Element vom Typ X in eine Bibliothek aufgenommen wird. Wird sie dagegen als Element vom Typ C aufgenommen, bleibt ihr LBP nur bei Angabe von SOURCE-ATTRIBUTES=
*KEEP(KEEP-TYPES=*ALL) erhalten.
Der Zeichensatz von SAM-Node-Files auf Net-Storage (NETCCSN) bleibt nur erhalten, wenn sie mit ADD-ELEMENT SOURCE-ATTRIBUTES=*KEEP in die Bibliothek aufgenommen werden.
Wird die Systemdatei SYSDTA einem Element zugewiesen, das die ISAM-Schlüssel gespeichert hat, werden die ISAM-Schlüssel mitgelesen. Die ISAM-Schlüssel müssen dann vom verarbeitenden Programm selbst entfernt werden.
Dateien können unter folgenden Elementtypen abgelegt werden:
COPY-ELEMENT
Die Anweisung COPY-ELEMENT (siehe "COPY-ELEMENT - Element kopieren") kopiert Elemente von der Eingabebibliothek in die Ausgabebibliothek und legt sie dort, falls gewünscht, mit einer anderen Elementbezeichnung ab:
MODIFY-LOGGING-PARAMETERS
Die Anweisung MODIFY-LOGGING-PARAMETERS TEXT-OUTPUT=*LIBRARY-ELEMENT (siehe "MODIFY-LOGGING-PARAMETERS - Protokolleinstellungen ändern") schreibt das LMSCONV-Protokoll in das durch *LIBRARY-ELEMENT spezifizierte Element:
Ausgeben von Elementen in eine Datei
Die Elemente einer Bibliothek werden mit der Anweisung EXTRACT-ELEMENT (siehe "EXTRACT-ELEMENT- Elemente in Datei ausgeben") in eine Datei ausgegeben:
Dateiattribute, die beim Aufnehmen eines Elements gespeichert worden waren, werden beim Ausgeben des Elements wieder hergestellt. Dies gilt auch für den Last Byte Pointer (LBP) bei PAM-Dateien und den CCSN von SAM-Kontendateien im Net-Storage (NETCCSN).
LMS mit einer Version kleiner als V3.4C kann Elemente vom Typ C mit gespeicherten Dateiattributen nicht ausgeben und liefert eine leere PAM-Datei und/oder eine Fehlermeldung.
Auflisten von Elementen
Die Anweisung SHOW-ELEMENT (siehe "SHOW-ELEMENT - Elementinhalt anzeigen") zeigt den Elementinhalt an. Dabei kann bestimmt werden, in welchem Format und welche Informationsmenge ausgegeben werden soll.
Löschen von Elementen
Die Anweisung DELETE-ELEMENT (siehe "DELETE-ELEMENT - Ein Element logisch löschen") löscht Elemente in der zugewiesenen Bibliothek. Es wird zwischen logischem und physikalischem Löschen unterschieden:
Logisches Löschen
Die Einträge im Inhaltsverzeichnis werden gelöscht und der Speicherplatz des entsprechenden Elementes wird freigegeben (Freigabe erfolgt nur innerhalb der Bibliothek, d.h. die Bibliothek wird dadurch als Ganzes nicht kleiner).Physikalisches Löschen
Zusätzlich zum logischen Löschen wird der Speicherplatz des entsprechenden Elementes mit binären Nullen überschrieben.
Ein Element einer Bibliothek wird physikalisch gelöscht, wenn der Operand DESTROY-DATA=*YES gesetzt ist oder im Element ein Kennzeichen für physikalisches Löschen vorhanden ist oder der Systemparameter DESTLEV es verlangt.
Korrigieren von Elementen
LMSCONV besitzt folgende Korrekturanweisung:
MODIFY-ELEMENT (siehe "MODIFY-ELEMENT - Element verändern") korrigiert Binde-, Bindelademodule, Phasen und Textelemente über Subanweisungen (Elementtyp R, L, C und Elementtyp S, M, J, P, D, X).
Das Korrigieren dieser Elemente wird durch verschiedene Subanweisungen gesteuert. Diese werden unmittelbar hinter MODIFY-ELEMENT bis zur Subanweisung END-MODIFY aus dem Anweisungsstrom gelesen.
Das korrigierte Element wird dann in die zugewiesene Bibliothek zurückgeschrieben. Es kann dabei eine neue Elementbezeichnung erhalten.
Für Typ R, L und C sind folgende Funktionen möglich:
Textsätze korrigieren
Korrekturen rückgängig machen
Satzarten aus dem Eingabeelement löschen
Zusätzlich sind nur für Typ R noch folgende Funktionen möglich:
REP-Sätze erzeugen
Merkmale der Programmabschnitte ändern
Symbole umbenennen
Für Textelemente sind folgende Funktionen möglich:
Einfügen von Sätzen
Löschen von Sätzen
Inhaltsverzeichnis einer Bibliothek ausgeben
Die Anweisung SHOW-ELEMENT-ATTRIBUTES (siehe "SHOW-ELEMENT-ATTRIBUTES - Elementeigenschaften anzeigen") protokolliert die Inhaltsverzeichniseinträge der angegebenen Elemente oder der gesamten Bibliothek.
Das Inhaltsverzeichnis wird immer nach dem Elementtyp sortiert ausgegeben. Die weitere Sortierreihenfolge bestimmt der Operand SORT. Die Elementbezeichnungen werden standardmäßig nach Typ, Namen und Version sortiert ausgegeben.
Um das vollständige Inhaltsverzeichnis einer Bibliothek zu erhalten, genügt die Angabe der Anweisung SHOW-ELEMENT-ATTRIBUTES ohne weitere Operanden, sofern über MODIFY-DEFAULTS kein bestimmter Elementtyp festgelegt wurde.
Speichern von Prozeduren
LMSCONV ermöglicht dem Benutzer Prozeduren und ENTER-Jobs als Elemente in Bibliotheken abzulegen (Elementtyp J).
Bestehende Prozedurdateien können mit ADD-ELEMENT als Elemente in Bibliotheken aufgenommen werden.
Durch das Speichern von Prozeduren kann, insbesondere bei kleinen Kommandodateien, Speicherplatz eingespart werden. Die Zahl der Katalogeinträge wird verringert.
Es ist jedoch darauf zu achten, dass aus den Elementen, die evtl. vorhandene ISAM-Schlüssel mitgespeichert haben (siehe "Bearbeiten von Elementen"), diese Schlüssel vor dem Aufruf der Prozedur entfernt werden.
Ein Bibliothekselement kann auch als Systemeingabedatei (SYSDTA) mit /ASSIGN-SYSDTA zugewiesen werden (siehe Handbuch „Kommandos“ [1]).