Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

RESTART-PROGRAM

&pagelevel(3)&pagelevel

Programm an seinem Fixpunkt starten (Wiederanlauf)

Komponente:

CPR                                                                                                         

Funktionsbereich:

Programm-Steuerung

Anwendungsbereich:

PROGRAM

Privilegierung:

STD-PROCESSING
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Funktionsbeschreibung

Das Kommando RESTART-PROGRAM veranlasst den Wiederanlauf eines Programms an einem festgehaltenen Fixpunkt. Das Programm wird in dem Zustand geladen, den es zum Zeitpunkt der Fixpunktschreibung hatte. Dateien, Datenträger und Geräte müssen zur Verfügung stehen. Das Kommando RESTART-PROGRAM ist in Dialog- und Batchbetrieb anwendbar. Der Fixpunkt kann z.B. mit dem Assembler-Makroaufruf WRCPT geschrieben werden.
Die Bandgeräte, die zum Zeitpunkt des Fixpunktschreibens mit dem Programm verknüpft sind, werden zugewiesen und die Bänder auf die entsprechenden Blöcke positioniert.

Wird das den Fixpunkt schreibende Programm in einer Prozedur aufgerufen, so ist das Verhalten des RESTART-PROGRAM abhängig davon, ob der Fixpunkt im Dialog- oder im Batchbetrieb geschrieben wurde. Im Dialog wird nicht nur das Programm, sondern auch die Prozedur wiedergestartet.
Eine Prozedur, die mit ENTER-PROCEDURE aufgerufen wurde, kann jedoch nicht neu gestartet werden, da die Kopie der Prozedurdatei nicht mehr verfügbar ist (siehe Kommando ENTER-PROCEDURE, „Verfahren“). Das Kommando RESTART-PROGRAM wird in diesem Fall nicht ausgeführt. 

Format

RESTART-PROGRAM    

 FILE-NAME = <filename 1..54 without-gen>

,FILE-CHANGE = *NOT-ALLOWED / *ALLOWED

,DUMMY-FILES = *NONE / list-poss(2000): <partial-filename 2..53> / <filename 1..54 without-gen>

,LOOSE-DEBUGGING = *NO / *YES

,RESTART-OPTIONS = *START-PROGRAM(...) / *LOAD-ONLY(...)


*START-PROGRAM(...)



|

CHECKPOINT = *LAST / *NAME(...) / *NUMBER(...) / *VOLUME-SEQUENCE(...)



|


*NAME(...)



|



|

NAME = <name 1..6>



|


*NUMBER(...)



|



|

NUMBER = <integer 1..16777215>



|


*VOLUME-SEQUENCE(...)



|



|

VOL-SEQUENCE-NUMBER = *LAST / <integer 1..255>



|

,MONJV = *NONE / <filename 1..54 without-gen-vers>


*LOAD-ONLY(...)



|

CHECKPOINT = *LAST / *NAME(...) / *NUMBER(...)



|


*NAME(...)



|



|

NAME = <name 1..6>



|


*NUMBER(...)



|



|

NUMBER = <integer 1..16777215>

,RECONSTRUCTION-LIMIT = *NO / <integer 1..255>

Operandenbeschreibung

FILE-NAME = <filename 1..54 without-gen>
Die unter FILE-NAME angegebene Datei ist die Checkpoint-Datei, die beim Fixpunktschreiben erstellt wurde und die das zu ladende Programm enthält. Die Datei muss lokal verfügbar sein.

FILE-CHANGE = *NOT-ALLOWED / *ALLOWED
Das DVS überprüft die systemintern verschlüsselten Dateinamen (CFID) der benötigten Dateien. Der Anwender kann angeben, ob der Wiederanlauf bei festgestellten Änderungen abgebrochen werden soll oder nicht.

FILE-CHANGE = *NOT-ALLOWED
Das DVS prüft die verschlüsselten Dateinamen (CFID) der beim Wiederanlauf benötigten Dateien. Hat sich einer dieser Namen verändert, seit die Checkpoint-Datei erzeugt wurde, wird der Wiederanlauf abgebrochen.

FILE-CHANGE = *ALLOWED
Änderung der CFID wird ignoriert.

DUMMY-FILES = *NONE / list-poss(2000): <partial-filename 2..53> / <filename 1..54 without-gen>
Die hier aufgelisteten Benutzerdateien werden als DUMMY-Dateien behandelt, d.h. sie brauchen beim Wiederanlauf nicht zur Verfügung zu stehen (siehe auch Kommando ADD-FILE-LINK, Operand FILE-NAME=*DUMMY). Maximal 255 Dateien sind zulässig.
Nicht zu DUMMY-Dateien erklärt werden können die logischen Systemdateien (SYSLST etc.). Eine Benutzerdatei darf nur dann zur DUMMY-Datei erklärt werden, wenn nicht RECONSTRUCTION-LIMIT=*NO vereinbart wurde.

LOOSE-DEBUGGING = *NO / *YES
Gibt an, ob der Debugging-Kontext der aufrufenden Task bei Wiederanlauf des Programms abgebaut werden darf.

LOOSE-DEBUGGING = *NO
Ein ggf. vorhandener Debugging-Kontext der aufrufenden Task soll erhalten bleiben. Das Kommando RESTART-PROGRAM wird mit der Meldung EXC030B abgelehnt, wenn in der aufrufenden Task vor dem Kommandoaufruf mit der Dialogtesthilfe AID gearbeitet wurde.

LOOSE-DEBUGGING = *YES
Ein ggf. vorhandener Debugging-Kontext der aufrufenden Task darf abgebaut werden. Das Kommando RESTART-PROGRAM wird auch ausgeführt, wenn vor dem Wiederanlauf mit der Dialogtesthilfe AID gearbeitet wurde. Mit AID gesetzte Haltepunkte sind nach dem Wiederanlauf jedoch nicht mehr verfügbar.

RESTART-OPTIONS = *START-PROGRAM(...) / *LOAD-ONLY(...)
Gibt an, ob das Programm zu starten oder nur zu laden ist.

RESTART-OPTIONS = *START-PROGRAM(...)
Das Programm soll gestartet werden (siehe Kommando START-EXECUTABLEPROGRAM).

CHECKPOINT = *LAST / *NAME(...) / *NUMBER(...) / *VOLUME-SEQUENCE(...)
Art der Fixpunkt-Identifikation.

CHECKPOINT = *LAST
Das Programm wird beim letzten Fixpunkt gestartet.

CHECKPOINT = *NAME(...)
Die Fixpunkt-Identifikation erfolgt über den Fixpunkt-Namen.

NAME = <name 1..6>
nur für Plattendateien: <name> ist eine sechs Byte lange Kennung, die den Fixpunkt identifiziert, auf dem das Kommando das RESTART-Programm aufsetzt. Diese Kennung wird beim Schreiben des Fixpunktes zusammen mit einer PAM-Seitennummer (siehe CHECKPOINT=*NUMBER) auf SYSOUT ausgegeben. Existieren für eine Benutzerdatei mehrere Fixpunkte, deren Kennungen identisch sind, so bezeichnet NAME den zuletzt gesetzten Fixpunkt. Ein vorher gesetzter Fixpunkt kann nur über CHECKPOINT=*NUMBER ausgewählt werden.

CHECKPOINT = *NUMBER(...)
Die Fixpunkt-Identifikation erfolgt über die Fixpunkt-Nummer.

NUMBER = <integer 1..16777215>
Nummer der PAM-Seite, an der der Fixpunkt beginnt; diese Nummer wird beim Fixpunktschreiben auf SYSOUT ausgegeben.
NUMBER muss angegeben werden, wenn das Programm nicht am letzten Fixpunkt gestartet werden soll (siehe CHECKPOINT=*NAME).

CHECKPOINT = *VOLUME-SEQUENCE(...)
Die Fixpunkt-Identifikation erfolgt über die Dateiabschnittsnummer.

VOL-SEQUENCE-NUMBER = *LAST / <integer 1..255>
nur für Banddateien mit Standardkennsätzen, die mit FILE-SEQUENCE=1 katalogisiert sind: Bezeichnet den Dateiabschnitt, an dem der Wiederanlauf beginnt.

VOL-SEQUENCE-NUMBER = *LAST
Der Wiederanlauf beginnt am letzten Dateiabschnitt.

VOL-SEQUENCE-NUMBER = <integer 1..255>
Der Wiederanlauf beginnt an der angegebenen Dateiabschnittsnummer.
Zu den Begriffen „Dateiabschittsnummer“ und „Dateifolgenummer“ siehe Handbuch „Einführung in das DVS“ [13] bzw. die Operanden START-POSITION und FILE-SEQUENCE im Kommando ADD-FILE-LINK.

MONJV = *NONE / <filename 1..54 without-gen-vers>

Gibt den Namen einer Jobvariablen an, die das neu gestartete Programm überwacht. Während des Programmlaufs setzt das Betriebssystem die Jobvariable entsprechend dem Programmzustand auf die Werte $R, $T oder $A, sodass sich der Anwender über die Jobvariable jederzeit über den Programmzustand informieren kann:

$R

Programm läuft

$TProgramm beendet
$AProgramm abnormal beendet

Näheres ist dem Handbuch „Jobvariablen“ [20] zu entnehmen.

RESTART-OPTIONS = *LOAD-ONLY(...)
Das Programm wird nur geladen, nicht gestartet (siehe Kommando LOAD-EXECUTABLEPROGRAM).

CHECKPOINT =
Art der Fixpunkt-Identifikation.

CHECKPOINT = *LAST
Das Programm wird beim letzten Fixpunkt gestartet.

CHECKPOINT = *NAME(...)
nur für Plattendateien:
Das Programm wird bei dem Fixpunkt gestartet, dessen Fixpunktkennung im untergeordneten Operanden NAME angegeben wird.

NAME = <name 1..6>
Bezeichnet eine sechs Byte lange Kennung, die den Fixpunkt identifiziert, auf dem das Kommando RESTART-PROGRAM aufsetzt. Diese Kennung wird beim Schreiben des Fixpunktes zusammen mit einer PAM-Seitennummer (siehe CHECKPOINT=*NUMBER(...)) ausgegeben.
Existieren für eine Benutzerdatei zwei Fixpunkte, deren Kennungen identisch sind, so bezeichnet NAME den zuletzt gesetzten Fixpunkt. Ein vorher gesetzter Fixpunkt kann nur über CHECKPOINT=*NUMBER(...) ausgewählt werden.

CHECKPOINT = *NUMBER(...)
Das Programm wird bei dem Fixpunkt gestartet, der auf der im untergeordneten Operanden NUMBER angegegebenen PAM-Seite beginnt.

NUMBER = <integer 1..16777215>
Nummer der PAM-Seite, an der der Fixpunkt beginnt; diese Nummer wird beim Fixpunktschreiben auf SYSOUT ausgegeben. NUMBER muss angegeben werden, wenn das Programm nicht am letzten Fixpunkt gestartet werden soll (siehe CHECKPOINT=*NAME(...)).

RECONSTRUCTION-LIMIT = *NO / <integer 1..255>
nur für Banddateien: Gibt an, wie viele Dateiabschnitte zu rekonstruieren sind.
Dieser Operand erlaubt, bei einem gegebenen Fixpunkt aufzusetzen und nach der Anzahl der geschriebenen Fixpunkte wieder abzubrechen. Die Kennungen der Fixpunkte werden wieder eingesetzt.

RECONSTRUCTION-LIMIT = *NO
Es wird keine Grenze für zu rekonstruierende Dateiabschnitte angegeben.

RECONSTRUCTION-LIMIT = <integer 1..255>
Der Benutzer gibt an, wie viele Dateiabschnitte repariert werden sollen.

Kommando-Returncode

Das Kommando RESTART-PROGRAM wird innerhalb einer Prozedur von SDF zurückgewiesen. Aber nur in diesem Fall kann der Kommando-Returncode auch ausgewertet werden. Die allgemeinen Kommando-Returncodes von SDF sind im Abschnitt„Kommando-Returncode" beschrieben.

Hinweise

  • Der Auftrag, der den Wiederanlauf verursacht, fordert den gleichen Speicher an, den der unterbrochene Auftrag besaß, als der Fixpunkt gesetzt wurde. Außerdem richtet sich nach ihm, ob der erneut gestartete Auftrag im Dialog- oder Nichtdialogbetrieb arbeitet. Dateien, die geöffnet waren, als der Fixpunkt geschrieben wurde, sind auch beim Wiederanlauf geöffnet. EAM-Dateien werden jedoch nicht rekonstruiert.

  • Sind Dateigenerationen vom Fixpunkt betroffen, sollte der Benutzer den Basiswert nicht verändern. Das Kommando RESTART-PROGRAM ignoriert nämlich eine eventuell erfolgte Aktualisierung der Dateigenerationsgruppe zwischen Fixpunkt- und RESTART-Zeit und übernimmt den Stand des Fixpunktes. Es empfiehlt sich daher, Dateigenerationsgruppen, die beim Fixpunkt verwendet wurden, bis zur RESTART-Zeit nicht mehr zu verändern.

  • Das RESTART-PROGRAM-Kommando darf nur eingesetzt werden, wenn die Systemdateien SYSDTA, SYSCMD, SYSIPT, SYSLST und SYSOUT ihre Primärzuweisung haben.

  • Der WRCPT-Makroaufruf muss in der gleichen Version des Betriebssystems BS2000 und mit der gleichen Version von SDF gegeben worden sein wie das RESTART-PROGRAM-Kommando. Andernfalls erhält der Benutzer eine Fehlermeldung.

  • Nach RESTART-PROGRAM wird die Syntaxdateiumgebung wie beim Fixpunktschreiben wiederhergestellt, mit Ausnahme der System-Syntaxdateien (Basis-System- und Subsystem-Syntaxdateien). Hier gilt weiter die aktuelle Zuweisung für den Auftrag (kann vom Benutzer nicht beeinflusst werden).

  • Sind Banddateien vom Fixpunkt betroffen, enthalten die Fixpunktdaten die nötige Information, mit der das System die Bänder auf den entsprechenden Block positionieren kann.

  • Das RESTART-PROGRAM-Kommando darf in folgenden 2 Fällen nicht angegeben werden:

    • Wenn alle Zuweisungen von Systemdateien (d.h. aller eröffneten Prozeduren), die im Dialogbetrieb durch den WRCPT-Makro gesichert wurden, eine oder mehrere Prozeduren im Unterbrechungszustand enthalten, so darf das Kommando RESTART-PROGRAM nicht im Batchbetrieb verwendet werden.

    • Wenn alle ASSIGN-...-Zuweisungen, die im Batchbetrieb durch den WRCPT-Makro gesichert wurden, eine oder mehrere Zuweisungen von SYSOUT auf eine katalogisierte Datei enthalten, so darf das RESTART-PROGRAM-Kommando nicht im Dialogbetrieb verwendet werden.

In beiden Fällen wird eine Fehlermeldung ausgegeben und der Auftrag abgebrochen.

  • Solange eine CJC-Kommandofolge wirksam ist, kann weder ein Fixpunkt geschrieben noch ein Restart durchgeführt werden.

  • Bei Klasse-5-Speichermangel wird die RESTART-Bearbeitung mit einer Fehlermeldung beendet.

  • Es ist zu beachten, dass die Lebensdauer einer temporären Datei maximal von Auftragsanfang bis Auftragsende reicht. Der Anwender muss daher entweder vor dem Kommando RESTART-PROGRAM die temporären Dateien rekonstruieren oder für den Wiederanlauf zu DUMMY-Dateien erklären (in FCB oder im Kommando ADD-FILE-LINK bzw. beim Kommando RESTART-PROGRAM, Operand DUMMY-FILES).

    Falls beim Fixpunktschreiben festgestellt wird, dass mit temporären Dateien gearbeitet wird, wird der SUBCODE2 im Standardheader auf X’44’ gesetzt, um den Anwender zu warnen, weil der geschriebene Fixpunkt wegen der begrenzten Lebensdauer der temporären Dateien nur eingeschränkt restartfähig ist. Außerdem wird eine Warnung nach SYSOUT ausgegeben (EXC0302).
    Bei der Bearbeitung des Kommandos RESTART-PROGRAM wird für jede temporäre Datei der Fixpunkt-Task überprüft, ob sie als DUMMY-Datei zu führen ist oder ob in der RESTART-Task eine temporäre Datei gleichen Namens (und mit gleichen Datei-Attributen) erzeugt worden ist. Gegebenenfalls erfolgt die Fehlermeldung „Temporäre Datei nicht vorhanden“.
    Mit CHECKPOINT/RESTART-PROGRAM kann die Lebensdauer einer temporären Datei nicht verlängert werden.

  • Nach RESTART kann nur auf temporäre Dateien der eigenen Task zugegriffen werden. Auf temporäre Dateien der Fixpunkt-Task kann daher nur zugegriffen werden, wenn Fixpunkt- und RESTART-Task identisch sind.

  • Alle EAM-Dateien des Auftrags werden gelöscht.

  • Das zum Zeitpunkt des Fixpunktschreibens eingestellte Ereignis „SVC-Unterbrechung“ ist nach RESTART-PROGRAM ausgeschaltet und muss per STXIT-Aufruf neu gesetzt werden.

  • Wenn zwischen Fixpunktschreiben und Wiederanlauf die Zuordnung der Systemdatei SYSLST wegen Platzmangels von Platte auf Band geändert wurde, muss vor Eingabe des Kommandos RESTART-PROGRAM für SYSLST wieder eine initialisierte Plattendatei zur Verfügung stehen.

Rückinformationen/Meldungen

Wird die Bearbeitung des Kommandos RESTART-PROGRAM mit der Meldung EXC0305 abgebrochen, enthält der Insert den Returncode (sedezimal) als Zusatzinformation:

EXC0305 I/O ERROR ’(&00)’ IN /RESTART-PROGRAM COMMAND. JOB STEP TERMINATED.
REENTER COMMAND

Folgende Returncodes sind möglich:

Insert

Bedeutung

0C

Gerät kann nicht belegt werden

04

$REQM Fehler

08

Katalogfehler (z.B. Datei nicht vorhanden)

1C

VSN kann nicht zugewiesen werden, oder Fehler bei ISAM REOPEN

10

Eine Datei ist mehrbenutzbar (shared update) eröffnet

14

Keine Erweiterung fuer SLOT-Segment vorhanden, oder die Slots konnten nicht wieder eingekettet werden

18

Fehler beim Schreiben in die Fixpunkt-Datei oder Antwort ’T’ auf vorausgehende Meldung DMS0DEE

2C

Fehler beim Wiedereröffnen einer SAM-Datei

20

Fehler im FCB

24

Anzahl der Bandgeräte für eine Datei ist kleiner als die Anzahl zum Zeitpunkt des Fixpunktes

28

Fehler in den task-spezifischen Tabellen

30

Pubset, auf dem eine Benutzerdatei liegt, kann nicht angefordert werden

34

Eine Datei existiert nicht mehr oder eine temporäre Datei hat nicht den Formatnamen einer temporären Datei

Tabelle 84: Rückinformationen bei Wiederanlauf eines Programms (Kommando RESTART-PROGRAM)
Programmüberwachung (siehe auch Handbuch „Jobvariablen“ [20])

Die Zustandsanzeige in der programmüberwachenden Jobvariablen wird zum RESTART-Zeitpunkt auf „R“ gesetzt.

Falls die Jobvariable zum Zeitpunkt der Kommandoverarbeitung nicht zugreifbar ist, wird eine Fehlermeldung nach SYSOUT ausgegeben und die Verarbeitung abgebrochen. 

Beispiel

Der Fixpunkt mit der Kennung FIX003 aus der Fixpunktdatei FPT.DATEI soll wieder gestartet werden. Die Datei OUT.FILE ist nach dem Wiederanlauf wie eine DUMMY-Datei zu behandeln.

/rest-prog f-name=fpt.datei,
           dummy-files=out.file,
           rest-opt=*start-prog(checkpoint=*name(fix003))

Das dritte Band einer Bandmenge ist zerstört. Rekonstruktion über das Kommando RESTART-PROGRAM vom davor liegenden Fixpunkt:

/restart-prog f-name=band.sich,
              check-point=*vol-seq(vol-seq=2),reconstruct=1

Das Programm wird nach dem Schreiben des ersten Fixpunkts beendet. Es erfolgt kein Katalog-Update.