Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

START-Anweisung

&pagelevel(4)&pagelevel

Gilt für relative und indizierte Dateiorganisation.

Funktion

Die START-Anweisung legt den logischen Ausgangspunkt innerhalb einer Datei für nachfolgende sequenzielle Leseoperationen fest.

Format



START  dateiname  [WITH NO LOCK]  [ KEY

{ IS EQUAL TO
| IS =  
| IS GREATER THAN 
| IS > 
| IS NOT LESS THAN 
| IS NOT < 
| IS GREATER THAN OR EQUAL TO
| IS >= 
| IS LESS THAN 
| IS < 
| IS LESS THAN OR EQUAL TO 
| IS <= 
| IS NOT GREATER THAN 
| IS NOT > 
} datenname]

[INVALID KEY unbedingte-anweisung-1]

[NOT INVALID KEY unbedingte-anweisung-2]

[END-START]


Die Formaterweiterung (WITH NO LOCK), die bei der Simultanverarbeitung wirksam wird, ist im Handbuch „COBOL2000 Benutzerhandbuch“ [1] beschrieben.

Syntaxregeln

  1. Vergleichsoperatoren sind notwendige Trennsymbole. Im Format sind sie der Übersichtlichkeit wegen nicht unterstrichen.

  2. dateiname muss eine Datei im sequenziellen oder dynamischen Zugriffsmodus bezeichnen.

  3. datenname kann gekennzeichnet sein.

  4. Für relativ organisierte Dateien muss datenname der Name des für diese Datei erklärten RELATIVE KEY-Datenfeldes sein.

  5. Für indiziert organisierte Dateien muss datenname der Name eines für diese Datei erklärten RECORD KEY- oder ALTERNATE RECORD KEY-Datenfeldes oder ein alphanumerisches oder nationales Datenfeld sein, welches dem RECORD KEY- oder ALTERNATE RECORD KEY-Datenfeld untergeordnet ist. In diesem Fall muss die erste Zeichenposition beider Datenfelder identisch sein.

  6. Die Angabe INVALID KEY muss vorhanden sein, falls keine entsprechende USE-Prozedur angegeben ist.

Allgemeine Regeln

Für relative und indizierte Dateiorganisation gilt:

  1. Die durch dateiname angegebene Datei muss zum Zeitpunkt der Ausführung der START-Anweisung durch INPUT oder I-O eröffnet sein (siehe „OPEN-Anweisung").

  2. Falls die Angabe KEY in der START-Anweisung fehlt, wird der Vergleichsoperator EQUAL angenommen.

  3. Nach Ausführung einer START-Anweisung wird der Inhalt des FILE STATUS-Datenfeldes (falls angegeben) der Datei aktualisiert (siehe „FILE STATUS-Klausel").

  4. Die Vergleichsoperatoren haben folgende Wirkung:

    1. Bei den Vergleichsoperatoren EQUAL, GREATER, GREATER OR EQUAL, NOTLESS und ihren Äquivalenten wird der Dateipositionsindikator auf den ersten Datensatz gesetzt, der die Vergleichsbedingung erfüllt.

    2. Bei den Vergleichsoperatoren LESS, LESS OR EQUAL, NOT GREATER und ihren Äquivalenten wird der Dateipositionsindikator auf den letzten Datensatz gesetzt, der die Vergleichsbedingung erfüllt.

    3. Falls für keinen Datensatz der Datei die Vergleichsbedingung erfüllt ist, tritt eine INVALID-KEY-Bedingung auf, der Dateipositionsindikator zeigt „ungültig“ an, und die START-Anweisung ist erfolglos.

  5. Der weitere Programmablauf nach der START-Anweisung hängt davon ab, ob sie eine INVALID KEY- bzw. eine NOT INVALID KEY-Angabe enthält (siehe "Schlüsselfehler-Bedingung").

    Nur für relative Dateiorganisation gilt:

  6. Die Ausführung der START-Anweisung verändert weder den Inhalt des Satzbereichs noch den des RELATIVE KEY der Datei noch den eines Datenfeldes einer DEPENDING ON-Angabe in einer RECORD-Klausel für diese Datei.

  7. Die Art des Vergleichs wird durch den Vergleichsoperator in der KEY-Angabe festgelegt. Die Position eines jeden Satzes in der durch dateiname bezeichneten Datei wird mit dem Inhalt des durch datenname bezeichneten Datenfeldes (RELATIVE KEY) verglichen.

    Nur für indizierte Dateiorganisation gilt:

  8. Die Ausführung der START-Anweisung verändert weder den Inhalt des Satzbereichs noch den des RECORD KEY der Datei noch den eines Datenfeldes einer DEPENDING ON-Angabe in einer RECORD-Klausel für diese Datei.

  9. Wird in der KEY-Angabe der START-Anweisung ein Alternativschlüssel verwendet, so gilt dieser als Bezugsschlüssel für die nachfolgenden READ-Anweisungen (Format 2).

  10. Die Art des Vergleichs wird durch den Vergleichsoperator in der KEY-Angabe festgelegt. Der logische Schlüssel jedes Satzes in der durch dateiname bezeichneten Datei wird mit dem Inhalt des durch datenname bezeichneten Datenfeldes (RECORD KEY oder ALTERNATE RECORD KEY) verglichen. Ist die Länge von datenname und die des RECORD KEY- bzw. ALTERNATE RECORD KEY-Datenfeldes verschieden, so wird der Vergleich so durchgeführt, als würde das größere Datenfeld von rechts auf die Länge des kleineren Datenfeldes abgeschnitten. Alle Schlüsselvergleiche erfolgen auf der Basis der maschineneigenen Sortierfolge, d.h. als wäre keine PROGRAM COLLATING SEQUENCE IS NATIVE oder gar keine PROGRAM COLLATING SEQUENCE angegeben.