Neben SAM- oder ISAM-Dateien stellen PLAM-Bibliotheken eine weitere wichtige Eingabequelle für den COBOL2000-Compiler dar.
Eigenschaften von PLAM-Bibliotheken
PLAM-Bibliotheken sind PAM-Dateien, die mit der Zugriffsmethode PLAM (Primary Library Access Method) bearbeitet werden. Für das Einrichten und Verwalten dieser Bibliotheken steht das Dienstprogramm LMS (siehe Handbuch „ LMS (BS2000/OSD)“ [11]) zur Verfügung.
Eine PLAM-Bibliothek kann als Elemente nicht nur Übersetzungseinheiten oder Programmteile (COPY-Elemente), sondern z.B. auch Module und ablauffähige Programme enthalten. Die einzelnen Elementarten werden dabei durch Typbezeichnungen charakterisiert.
In einer PLAM-Bibliothek können u.a. Elemente folgender Typen abgelegt werden:
Typbezeichnung | Inhalt der Elemente |
S | Übersetzungseinheiten, COPY-Elemente |
R | Objektmodule oder Großmodule |
C | ablauffähige Programme |
J | Prozeduren |
L | Bindelademodule (LLMs) |
P | druckaufbereitete Daten (Listen) |
X | REPOSITORY-Daten |
Tabelle 1: PLAM-Elementtypen
Eine PLAM-Bibliothek kann auch gleichnamige Elemente enthalten, die sich durch Typ- oder Versionsbezeichnung unterscheiden.
Die Vorteile der Datenhaltung in PLAM-Bibliotheken sind:
Bis zu 30% Speicherplatz können durch das Zusammenlegen verschiedener Elementtypen und zusätzliche Komprimierungstechniken eingespart werden.
Die Zugriffzeiten zu den verschiedenen Elementtypen derselben PLAM-Bibliothek sind kürzer als die Zugriffszeiten bei der herkömmlichen Datenhaltung.
Der EAM-Speicher wird entlastet, wenn Bindemodule direkt als PLAM-Bibliothekselemente abgelegt werden.
Eingabe in PLAM-Bibliotheken
PLAM-Bibliotheken können Übersetzungseinheiten aufnehmen
aus Dateien,
aus anderen Bibliotheken,
über SYSDTA bzw. SYSIPT; d.h. von einer Datenstation oder einer temporären SPOOLIN-Datei.
Wie eine Übersetzungseinheit in eine PLAM-Bibliothek eingegeben werden kann, hängt davon ab, in welcher Form sie dafür zur Verfügung steht:
Liegt sie in einer katalogisierten Datei oder als Element einer Bibliothek vor, kann sie über das Dienstprogramm LMS in eine PLAM-Bibliothek aufgenommen werden (siehe Beispiel 2-1). Bei der Übernahme einer Übersetzungseinheit aus einer ISAM-Datei mit LMS ist zu beachten, dass mit PAR KEY=YES bzw. SOURCE-ATTRIBUTES=KEEP der ISAM-Schlüssel nicht mitübernommen wird. Eine Übersetzungseinheit mit ISAM-Schlüssel kann der COBOL2000-Compiler nicht aus einer Bibliothek heraus verarbeiten.
Soll die Übersetzungseinheit neu erfasst werden, kann sie auch unmittelbar durch den Dateiaufbereiter EDT als Element in eine PLAM-Bibliothek geschrieben werden.
Beispiel 2-1
Übernahme einer Übersetzungseinheit aus einer katalogisierten Datei in eine PLAM-Bibliothek
/START-LMS —————————————————————————————————————————————————————————————(1) % LMS0310 LMS VERSION '03.3A30' STARTED //OPEN-LIBRARY LIB=PLAM.LIB,MODE=UPDATE(STATE=NEW) —————————————————————(2) //ADD-ELEM FROM-FILE=SOURCE.EINXEINS,TO-E=LIB-ELEM(ELEM=EINXEINS,TYPE=S)(3) //END ——————————————————————————————————————————————————————————————————(4) % LMS0311 LMS V03.3A30 TERMINATED NORMALLY
(1) | Das Dienstprogramm LMS wird aufgerufen. |
(2) | PLAM.LIB wird als neu einzurichtende (STATE=NEW) Ausgabebibliothek (USAGE=OUT) vereinbart. Sie wird von LMS standardmäßig als PLAM-Bibliothek eingerichtet. |
(3) | Die Übersetzungseinheit wird aus der katalogisierten Datei SOURCE.EINXEINS als Element vom Typ S unter dem Namen EINXEINS in die PLAM-Bibliothek aufgenommen. |
(4) | Der LMS-Lauf wird beendet, alle geöffneten Dateien werden geschlossen. |