Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zeilensequenzielle Dateien

Die zeilensequenzielle Organisation von COBOL-Dateien ist ein Sprachmittel des X/OpenStandards. Das entsprechende Sprachformat lautet:

FILE-CONTROL.
...
[ORGANIZATION IS] LINE SEQUENTIAL
...


Eine zeilensequenzielle Datei kann im BS2000 gespeichert werden

  • als katalogisierte SAM-Datei oder

  • als Element einer PLAM-Bibliothek.

Damit besteht die Möglichkeit, in einem COBOL-Programm nicht nur katalogisierte Dateien, sondern auch Dateien in Form von Bibliothekselementen zu verarbeiten.Einschränkungen gegenüber satzsequenziellen Dateien:

  • Es sind nur variabel lange Sätze zulässig (RECORD-FORMAT=V).
    Gilt nicht für ENABLE-UFS-ACCESS=YES.

  • Als Eröffnungsarten sind nur OPEN INPUT und OPEN OUTPUT ohne die Angaben REVERSED und NO REWIND zulässig.

  • Als Ein-/Ausgabeanweisungen sind nur READ (bei OPEN INPUT) und WRITE (bei OPEN OUTPUT) zulässig.

  • In der CLOSE-Anweisung ist nur die Angabe WITH LOCK zulässig.

Die Verknüpfung einer zeilensequenziellen Datei mit einer aktuellen SAM-Datei erfolgt - wie bei satzsequenziellen Dateien - mittels ADD-FILE-LINK-Kommando (siehe Abschnitt „Zuweisen von katalogisierten Dateien").
Die Verknüpfung mit einem Bibliothekselement geschieht mit dem SDF-P-Kommando SET-VARIABLE, das folgendermaßen aufgebaut sein muss:


/[SET-VAR] SYSIOL-name=’*LIBRARY-ELEMENT(bibliothek,element[version],typ)’



SYSIOL-name

S-Variable. name muss der externe Name der Datei in der ASSIGN-Klausel sein.

bibliothek

Name der PLAM-Bibliothek

element

Name des Elements

version

Versionsbezeichnung. Zulässige Angaben sind:
<alphanum-name 1..24> / *UPPER[-LIMIT] / *HIGH[EST-EXISTING] / *INCR[EMENT] (nur möglich beim Schreiben)
Wird keine Version angegeben, wird beim Schreiben die höchste mögliche Versionsangabe generiert, beim Lesen auf die höchste vorhandene Version zugegriffen.

typ

Elementtyp. Zulässig sind S, M, J, H, P, U, F, X, R, D.

Voraussetzung für die Verarbeitung zeilensequenzieller COBOL-Dateien in Bibliothekselementen ist das Vorhandensein der Bibliothek LMSLIB, die auf der TSOS-Kennung eingerichtet sein muss.
Beim Binden eines Programms, das zeilensequenzielle Dateien verarbeiten soll, muss zur Befriedigung von Externverweisen zusätzlich zu CRTE die Bibliothek $LMSLIB angegeben werden.

Beispiel 9-6

Erzeugen einer zeilensequenziellen Datei in einem Bibliothekselement

Einträge in der COBOL-Übersetzungseinheit:

...
FILE-CONTROL.
SELECT AFILE ASSIGN TO "LIBELEM"
    ORGANIZATION IS LINE SEQUENTIAL
...
PROCEDURE DIVISION.
...
    OPEN OUTPUT AFILE.
...

Zuweisung von Bibliothek und Element vor Aufruf des Programms:

/SET-VAR SYSIOL-LIBELEM=’*LIBRARY-ELEMENT(CUST.LIB,MEYER,S)’

  1. Das SET-VARIABLE-Kommando kann in eine BS2000-Prozedur eingefügt werden, sofern es sich dabei um eine strukturierte SDF-P-Prozedur handelt. Die Gestaltung einer strukturierten Prozedur ist im Benutzerhandbuch zu SDF-P [6] beschrieben.
  2. Die Angaben im SET-VARIABLE-Kommando innerhalb der ‘Hochkommata‘ sind ausnahmslos in Groß-Buchstaben zu schreiben.