Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

RERUN-Klausel

&pagelevel(4)&pagelevel

Funktion

Eine RERUN-Klausel zeigt an, wann und wohin Wiederanlaufpunkte auszugeben sind. Ein Wiederanlaufpunkt beschreibt den Zustand des Programms zu einem angegebenen Zeitpunkt der Programmausführung. Er wird vom Betriebssystem auf Anforderung des Programmes erzeugt und enthält alle nötigen Informationen, um das Programm an diesem Punkt wieder anlaufen zu lassen. Die RERUN-Klausel steuert solche Anforderungen des COBOL-Programms. Nähere Informationen zur RERUN-Klausel siehe Handbuch
„COBOL2000 Benutzerhandbuch“ [1]

Durch die RERUN-Klausel wird ein Wiederanlauf von Programmen ermöglicht, die eine SORT- oder MERGE-Anweisung enthalten.

Format 1 für sequenzielle Dateiorganisation


RERUN [ON {dateiname-1 | herstellername}]
       EVERY {  { [END OF] {REEL | UNIT} | ganzzahl-1 RECORDS } OF dateiname-2
              | ganzzahl-2 CLOCK-UNITS
              | bedingungsname
             }


Format 2 für relative und indizierte Dateiorganisation


RERUN [ON {herstellername | dateiname-1}]
       EVERY {  ganzzahl-1 RECORDS OF dateiname -2
              | ganzzahl-2 CLOCK-UNITS
              | bedingungsname
             }


Syntaxregeln

  1. dateiname-1 muss der Name einer sequenziellen Banddatei sein; sie muss in der FILE SECTION beschrieben sein.
  2. herstellername hat das Format
    SYSnnn,
    wobei 000 ≤ nnn ≤ 244.

    nnn bestimmt die Art der Verarbeitung:Ist nnn ≥ 200, werden Wiederanlaufpunkte abwechselnd in zwei Wiederanlaufdateien geschrieben. Das abwechselnde Schreiben auf zwei Dateien macht einen Wiederanlauf von den letzten zwei Wiederanlaufpunkten möglich.

  3. Kommt der gleiche Herstellername auch in der SELECT-Klausel vor, so muss er zu einer Banddatei gehören.

  4. Die END OF REEL/UNIT-Angabe darf nur benutzt werden, wenn dateiname-2 eine sequenzielle Datei beschreibt. REEL und UNIT haben die gleiche Bedeutung.

  5. herstellername muss in der RERUN-Klausel verwendet werden, wenn ganzzahl-1 RECORDS oder ganzzahl-2 CLOCK-UNITS angegeben ist.

  6. Unter Beachtung folgender Einschränkungen können für dateiname-2 mehrere RERUN-Klauseln angegeben werden:

    1. Sind mehrere ganzzahl-1 RECORDS-Angaben angegeben, darf der gleiche dateiname-2 nur einmal darin vorkommen.

    2. Sind mehrere END OF REEL- bzw. END OF UNIT-Angaben angegeben, darf der gleiche dateiname-2 nur einmal darin vorkommen.

  7. dateiname-1 bzw. herstellername bezeichnet die Datei, auf die Wiederanlaufpunkte ausgegeben werden sollen.

  8. Wiederanlaufpunkte werden wie folgt geschrieben:

    1. Ist dateiname-1 angegeben, werden die Wiederanlaufpunkte auf jede Spule oder jeden Datenträger ausgegeben, die oder der für dateiname-1 zugewiesen ist.

    2. Ist herstellername angegeben, werden die Wiederanlaufpunkte folgendermaßen geschrieben:
      Wenn herstellername einem Dateinamen aus der SELECT-Klausel zugewiesen ist, muss es sich dabei um eine Banddatei handeln. Die Wirkung für die Ausgabe der
      Wiederanlaufpunkte ist die gleiche, als ob der Dateiname direkt in der RERUN-Klausel angegeben worden wäre (siehe a).
      Wenn herstellername keiner Datei aus einer SELECT-Klausel zugewiesen ist, muss zur Laufzeit eine Plattenspeicherdatei zugewiesen sein, sonst wird vom Laufzeitsystem eine Datei mit dem Namen progid.RERUN.herstellername zugewiesen. Nur in diesem Fall werden Wiederanlaufpunkte auf Plattenspeicher geschrieben.

    3. Sind in der ASSIGN-Klausel und in der RERUN END OF REEL-Klausel die gleichen SYS-Nummern angegeben, wird der Wiederanlaufpunkt ans Ende des Ausgabebandes geschrieben.

  9. Es gibt vier Arten der RERUN-Klausel, abhängig von den Bedingungen, unter denen Wiederanlaufpunkte verlangt werden.

    1. END OF REEL oder END OF UNIT ohne ON-Klausel:
      Wiederanlaufpunkte werden nach dateiname-2 geschrieben, der eine Ausgabedatei bezeichnen muss.

    2. END OF REEL oder END OF UNIT mit dateiname-1 in der ON-Klausel:
      Wiederanlaufpunkte werden nach dateiname-1 geschrieben, der eine Ausgabedatei bezeichnen muss. Zusätzlich wird die übliche Spulenendebehandlung für dateiname-2 durchgeführt. dateiname-2 kann eine Ein- oder Ausgabe-Datei sein.

    3. END OF REEL oder END OF UNIT mit herstellername in der ON-Klausel:
      Wiederanlaufpunkte werden in eine getrennte Datei geschrieben (siehe 8b). dateiname-2 kann eine Ein- oder Ausgabe-Datei sein.

    4. ganzzahl-1 RECORDS:
      Wiederanlaufpunkte werden immer dann in die durch dateiname-1 bzw. herstellername bezeichnete Datei geschrieben, wenn ganzzahl-1 Datensätze verarbeitet wurden. dateiname-2 kann eine Ein- oder Ausgabe-Datei sein mit beliebiger Organisation oder Zugriff; sie darf nicht in der USING/GIVING-Angabe oder in einer INPUT/OUTPUT-Prozedur beim Sortieren angesprochen werden (siehe Abschnitt „Sortieren von Datensätzen").

  10. Die CLOCK-UNITS-Angabe fasst der Compiler als Kommentar auf.

  11. Die Bedingungsnamen-Angabe fasst der Compiler ebenfalls als Kommentar auf. 12. Wird mit dateiname-1 eine externe Datei angegeben, ist das Verhalten undefiniert.

Format 3 für Sortieren von Datensätzen


RERUN ON {dateiname-1 | herstellername} EVERY SORT [OF dateiname-2 ... ]


Syntaxregeln

  1. dateiname-2... muss in einer FD-Erklärung definiert sein.

  2. dateiname-1 darf nicht in einer FD-Erklärung definiert sein.

  3. herstellername darf in keiner SELECT-Klausel vorkommen.

Allgemeine Regeln

  1. Wird OF nicht angegeben, wird die Fixpunktausgabe vor jedem Sortiervorgang ausgeführt.

  2. Ist dateiname-2 angegeben, werden Fixpunkte nur für diesen spezifischen Sortiervorgang ausgegeben.