Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

WRCPT - Fixpunkt schreiben

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Fixpunktschreiben; siehe "Fixpunktschreiben"

Makrotyp:

S-Typ, MF-Format 1: 31-Bit-Schnittstelle: Standardform/L-/D-/E-Form;

siehe "S-Typ-Makroaufrufe"


Makrobeschreibung

Der WRCPT-Makro schreibt einen Fixpunkt in eine anzugebende Datei (katalogisierte PAM-Datei). Der Fixpunkt umfasst Kennungsinformationen, Programmzustand, auf Programmzustand bezogener Systemzustand und Speicherinhalt (virtueller Speicher). Ein abgebrochenes Programm kann mit dem Kommando RESTART-PROGRAM unter Bezugnahme auf einen Fixpunkt fortgesetzt werden (siehe Handbuch „Kommandos“ [19]).

Zu beachten:

  • Der OPEN auf die Datei wird von der Fixpunktroutine ausgeführt.

  • Der Operand O steuert, ob die Datei überschrieben wird oder nicht.

  • Das Verzweigen zur Fehlerroutine bzw. zur benutzereigenen Restart-Routine muss der Anwender selbst durchführen.

Makroaufrufformat und Operandenbeschreibung

WRCPT

{LINK=linkname / FILE=pfadname }

[,IDENT=fixid]

,O=NO / YES

,ENDAID=NO / YES

[,MF=L / (E,..) / D]

LINK=
bezeichnet über einen Dateikettungsnamen die Datei, in die der Fixpunkt geschrieben werden soll. Die Datei muss als PAM-Datei katalogisiert und mit diesem Dateikettungsnamen in der TFT eingetragen sein (Kommando ADD-FILE-LINK, siehe „Kommandos“ [19]).

linkname
Dateikettungsname der Datei.

FILE=

bezeichnet die Datei, in die der Fixpunkt geschrieben werden soll.
Die Datei muss bereits als PAM-Datei katalogisiert sein.

pfadname
Pfadname der Datei.

IDENT=
bezeichnet eine Zeichenfolge zur Benennung des Fixpunktes. Die Benennung erfolgt intern, wenn der Operand nicht spezifiziert wird oder die Zeichenfolge mit einem Leerzeichen beginnt.

fixid
Zeichenfolge. Länge = 6 Byte. Das erste Zeichen darf kein Leerzeichen sein.

O=
beschreibt, ob die angegebene Datei vor dem Eintragen des Fixpunktes (logisch) gelöscht werden soll oder nicht.

NO
Die angegebene Datei wird nicht gelöscht. Der Fixpunkt wird an das Ende der angegebenen Datei geschrieben.

YES
Der Inhalt der angegebenen Datei wird vor dem Eintrag des Fixpunktes gelöscht.

ENDAID=
Gibt an, ob vorhandene AID-Verbindungen beendet werden sollen.

NO
Wurde vor dem Fixpunktschreiben mit AID gearbeitet, bleiben alle AID-Maßnahmen gültig. Das Fixpunktschreiben wird mit dem Returncode '68' abgelehnt.

YES
Der Fixpunkt wird in jedem Fall geschrieben. Wurde vor dem Fixpunktschreiben mit AID gearbeitet, wird die Verbindung zu AID beendet. Alle bisher gesetzten Haltepunkte sind nach dem Fixpunktschreiben unwirksam.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.

Funktionsweise

Beim Aufruf prüft die Fixpunktroutine den Datenbereich auf Gültigkeit. Die Routine wartet auf Beendigung ausstehender Ein-/Ausgaben und bestimmt, wo in der Datei der Fixpunkt zu schreiben ist. Der Fixpunkt umfasst Kennungsinformationen, Programmzustand, dazu bezogenen Systemzustand und virtuelle Speicherinhalte. Dies wird für den logischen Wiederanlauf eines Programms bei einem Fixpunkt benötigt.

Wenn das Schreiben des Fixpunktes erfolgreich abgeschlossen ist, wird eine Nachricht auf SYSOUT gegeben, die dem Benutzer zum Wiederanlauf dient. Wenn ein Fehler während des Erstellens eines Fixpunktes erkannt wird, wird ein Fehlerschlüssel ausgegeben. Der Fehlerschlüssel wird im Standardheader des Datenbereichs hinterlegt. Die erste Ausgabe der Fixpunktverarbeitung ist eine Anzahl von PAM-Blöcken mit Kennungsinformation, notwendigen Kontrollblöcken, Informationen für das Wiedereröffnen der Datei und die Inhalte des virtuellen Speichers. Die Fixpunktverarbeitung gibt eine Meldung nach SYSOUT aus, wenn der Fixpunkt erfolgreich abgeschlossen wurde. Diese Nachricht verknüpft eine spezifizierte Kennung mit einer Halbseiten-Nummer für die folgende Verwendung beim Wiederanlauf.

Der Benutzer kann den Zeitaufwand bei der Fixpunktverarbeitung reduzieren, wenn er die Speicherplatzzuweisung für die Datei kontrolliert. Die geschätzte Anzahl von PAM-Blöcken für einen einzelnen Fixpunkt kann mit folgender Formel errechnet werden:

P = 2n + 12

wobei n die Anzahl der virtuellen Seiten ist, die dem Programm zur Zeit des Fixpunktes zugewiesen sind. Es folgt daraus, dass der Fixpunkt dann genommen werden sollte, wenn der Bedarf an Klasse-5- und Klasse-6-Speicher für ein Programm gering ist.

Weiterhin sollte die anfängliche Zuweisung des Speicherplatzes für die Datei groß genug sein, um alle angestrebten Fixpunkte unterzubringen und Sekundärzuweisungen zu vermeiden. Wenn das nicht ausführbar ist, ist sicherzustellen, dass die Sekundärzuweisung gleich oder größer als die Anforderung für einen Fixpunkt ist.

Bei einem Wiederanlauf (RESTART) an der Stelle eines mit WRCPT geschriebenen Fixpunktes wird das Programm mit dem den WRCPT-Aufruf folgenden Befehl fortgesetzt. Damit der Anwender die Möglichkeit hat zu entscheiden, ob zuvor die Fixpunktroutine oder die Wiederanlaufroutine aktiv war, wird von der Wiederanlaufroutine der sekundäre Returncode im Byte 5 des Standardheaders auf „R“ gesetzt. Der Anwender kann so entscheiden, ob eine eigene Routine zur Behandlung des Wiederanlaufs durchlaufen werden soll.

Hinweise zum Makroaufruf

  • Bei Angabe eines WRCPT-Makros werden die vorhandenen Kopien (S.IN.tsn. ..) von Prozedur-/ENTER-Dateien zum LOGOFF-Zeitpunkt nicht gelöscht. Diese Dateien müssen für einen problemlosen Wiederanlauf vorhanden sein.

  • Ein Fixpunkt kann nicht gesetzt werden:

    • bei Programmen, die Intertaskkommunikation verwenden.

    • in Programmen, die als Shared-Code laufen, von Shared-Code-Programmen aufgerufen werden oder die Shared-Code-Programme aufrufen.

    • in Programmen, die gemeinsamen Speicherbereich (Memory Pool), Serialisierung, ISAM SHARED UPDATE, UPAM SHARED UPDATE benutzen.

    • wenn RFA-Verbindungen geöffnet sind.
    • in Programmen, die Bänder im Multi-Auftragsverwaltungs-Mode MAV bearbeiten.

  • Das RESTART-PROGRAM-Kommando muss in der gleichen Rechner- und Gerätekonfiguration und mit demselben System angegeben werden, in der auch der Makro WRCPT aufgerufen wurde.

  • Bei Dateigenerationsgruppen, die während des WRCPT-Zeitpunktes eröffnet waren, darf der Basiswert zwischen dem WRCPT- und dem RESTART-Zeitpunkt nicht verändert werden.

  • Zum Fixpunktzeitpunkt aktive AUDIT-Funktionen werden ausgeschaltet.

  • Der Zustand der Benutzerdaten wird zum Zeitpunkt des Wiederanlaufs nicht automatisch wiederhergestellt. Dafür muss der Benutzer vor dem Wiederanlauf in geeigneter Weise selbst sorgen.

  • Während der Fixpunktausgabe kann eine Nutzerdatei von HSMS nicht auf eine Hinter-grund-Speicherebene verdrängt werden; das MIGRATE-Bit im Katalogeintrag wird auf den Wert INHIBIT gesetzt (siehe Handbuch „DVS Makros“ [7]).
    Wenn beim Wiederanlauf die Nutzerdatei auf eine Hintergrund-Speicherebene verdrängt ist, muss das RESTART-PROGRAM-Kommando mit dem Operanden FILE-CHANGE=ALLOWED angegeben werden. In diesem Fall wird die Coded File Identification (CFID) nicht geprüft.

  • Wird der Fixpunkt in einer Prozedur geschrieben, dann wird nach dem Kommando RESTART-PROGRAM nicht nur das Programm weiter durchlaufen, sondern auch die Prozedur.

Hinweise zur Fixpunktdatei

  • Liegt die Fixpunktdatei auf gemeinschaftlichem Datenträger, so darf für sie (im FCB des Makroaufrufs) nur die Katalogkennung des eigenen Systems angegeben werden, (siehe auch Handbuch „HIPLEX MSCF“ [26]).

  • Die Fixpunktdatei darf nicht auf NK4-Pubsets liegen und muss folgende Attribute haben:
    BUF-LEN = STD(1)
    BLK-CONTR != DATA

  • Die Fixpunktdatei darf nicht auf Net-Storage liegen.

Rückinformation und Fehleranzeigen

Standardheader:

+---------------+
|   |   |   |   |
|c|c|b|b| | |a|a|
+---------------+

Über die Ausführung des Makros WRCPT wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aa=Maincode):

X'cc'

X'aa'

Erläuterung

X'44'

X'00'

Erfolgreiche Fixpunktverarbeitung;
Zusatz:
Temporäre Dateien waren eröffnet oder Linkname für temporäre Jobvariablen
existiert.


X'04'

Arbeitsbereich konnte nicht zugewiesen werden.


X'08'

Operandenfehler.


X'14'

BUF-LEN der Fixpunktdatei ist != STD(1)


X'18'

Fehler beim Eröffnen der Datei; mit den Zusätzen:

X'04'

Kein Arbeitsbereich zur Verfügung.

X'08'

Anzahl der PAM-Request-Blöcke = 0 (für Fixpunktdatei).

X'1C'

Fehler im Zusammenhang mit Jobvariablen.

X'20'

Fehler bei Validierung eines eröffneten FCB.

X'28'

Fehler beim Warten auf die Beendigung einer ausstehende Ein-/Ausgabe für eine
SAM-Datei.

X'2C'

Fixpunkt kann nicht ausgegeben werden (UPAM)

X'30'

Fixpunkt kann wegen asynchroner Ein-/Ausgaben für eine BTAM-Datei nicht
ausgegeben werden.


X'1C'

Die Fixpunktdatei ist eine Banddatei mit LABEL=NSTD oder LABEL=NO;
kein Fixpunkt.


X'20'

Fehler beim Lesen des Katalogeintrags der Fixpunktdatei.


X'24'

Memory Pool wird benutzt oder ISAM-Datei wird Shared-Update verarbeitet;
kein Fixpunkt.


X'28'

Teilnahme an Serialisierung; kein Fixpunkt.


X'2C'

Teilnahme an Ereignissteuerung; kein Fixpunkt.


X'30'

Contingency-Prozess ist vorhanden; kein Fixpunkt.


X'34'

DQPAM-Fehler; kein Fixpunkt.


X'38'

Bandende wurde während der Fixpunktausgabe erreicht; kein Fixpunkt.


X'40'

Fixpunktausgabe wird im Sicheren System nicht unterstützt; kein Fixpunkt.


X'48'

Die Fixpunktdatei hat das Format BLK-CONTR=DATA;
keine Fixpunktausgabe.


X'4C'

FASTPAM ist noch aktiv; keine Fixpunktausgabe.


X'50'

Die Fixpunktdatei ist keine PAM-Datei.


X'58'

Fehler beim Zugriff auf die Fixpunktdatei. Der Fehler wird in den Subcodes näher
beschrieben.
Erläuterung des Fehlercodes (siehe Handbuch „DVS-Einführung“ [8]).
Beispiel: Datei existiert nicht zum OPEN-Zeitpunkt (FSTAT-Fehler).


X'5C'

Falscher Operand beim FILE-Aufruf für die Fixpunktdatei
(z.B SHAREUPD=YES).


X'60'

Die Fixpunktdatei ist bereits geöffnet; keine Fixpunktausgabe.


X'64'

Makrofehler während der Fixpunktausgabe; keine Fixpunktausgabe.


X'68'

Keine Fixpunktverarbeitung, wenn mit AID Haltepunkte vereinbart wurden.


X'6C'

MAREN-Fehler; keine Fixpunktausgabe.


X'7C'

Data Space wird benutzt.


X'76'

POSIX ist aktiv.


X'70'

Interner Fehler bei der PCB-Sicherung;
keine Fixpunktausgabe.


X'74'

Interne Probleme mit SYSFILE-Umgebung;
keine Fixpunktausgabe.

Bei erfolgreicher Fixpunktverarbeitung (X'00') wird Subcode1 gelöscht. Die Wiederanlaufroutine setzt Subcode1 auf C'R'.