Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

RJFSNAP - Jobvariablen von einem Snapset restaurieren

Makrotyp: S-Typ (E-Form/L-Form/D-Form/C-Form/M-Form) (siehe "Typen von Makroaufrufen")

Der Makro RJFSNAP restauriert Jobvariablen eines Pubsets aus einer Pubset-Kopie, die auf einem zugehörigen Snapset erstellt wurde. Beim Restore werden einzelne Jobvariablen von den Snapsets in den laufenden Pubset kopiert. Der Vorgang ist vergleichbar mit einem HSMS-Restore aus einem Backup-Archiv.

Mit der Snapset-Angabe kann ein bestimmter Sicherungsstand (voreingestellt ist die jüngste Snapset-Sicherung) vorgegeben werden oder es soll jede Jobvariable jeweils von dem Snapset mit dem neuesten Jobvariablenstand restauriert werden. Vor dem Restaurieren kann sich der Benutzer mit dem Makro LJFSNAP über Jobvariablen informieren, die auf einen Snapset gesichert wurden.

Alle Attribute einer restaurierten Jobvariable werden unverändert von der Originaljobvariable übernommen (auch Erstellungs- und Änderungsdatum sowie die Schutzattribute).

Der nichtprivilegierte Benutzer kann die Jobvariable einer fremden Benutzerkennung nur restaurieren, wenn er Miteigentümer ist.

Für bereits vorhandene Jobvariablen muss das Überschreiben durch das Restaurieren explizit zugelassen werden (Operand REPLACE). Für Jobvariablen, die mit Kennwort gegen unberechtigtes Überschreiben geschützt sind, muss das erforderliche Kennwort in der Kennworttabelle des Aufrufers eingetragen sein (siehe ADD-PASSWORD).

Jobvariablen können auch unter einem neuen Namen restauriert werden (Operand NEW-JV-NAME). Die Umbenennung erfolgt entweder durch Angabe einer anderen Benutzerkennung (Operand NUSERID) und/oder eines Namenspräfix (Operand NPREFIX).

Bei Bedarf kann sich der Aufrufer ein Protokoll der Restore-Verarbeitung nach SYSOUT ausgeben lassen (Operand LIST). Das Protokoll kann entweder alle Jobvariablen oder nur die Jobvariablen, die aus bestimmten Gründen nicht restauriert werden konnten, umfassen.

Die Snapsets sind temporär nicht verfügbar, wenn das Subsystem SHC-OSD zum Zeitpunkt des Pubset-Imports noch nicht aktiv war. Der Makroaufruf wird in diesem Fall mit Returncode 0622 abgebrochen. Sobald SHC-OSD aktiv ist, werden die Snapsets bei Aufruf des Kommandos SHOW-SNAPSET-CONFIGURATION nachträglich aktiviert.

Privilegierte Funktionen

Die Systembetreuung (Privileg TSOS) kann als Mit-Eigentümer alle Jobvariablen unter ihren Original-Benutzerkennungen restaurieren.

Beim Überschreiben einer noch bestehenden Jobvariable kann die Systembetreuung den Schutz mit dem Operanden IGNPROT explizit umgehen.

Das Restaurieren von Jobvariablen kann die Systembetreuung über die SECOS-Komponente SAT nur protokollieren, wenn sie die intern benutzten Aufrufe zum Löschen einer Jobvariablen (beim Überschreiben) und zum Erstellen einer Jobvariablen protokollieren lässt. 

Format

Operation

Operanden

RJFSNAP

,JVNAME = <c-string 1..80: filename 1..54 with-wild(80)> /

         <var: char:80>

,SNAPSET = <integer -52..-1> / *LATEST / *ALL

,SNAPID = <c-string 1..1: name 1..1 with-low> / <var: char 1..1>

,REPLACE = *NO / *YES / <var: enum-of_replace_s: 1>

,IGNPROT = *NO / *YES / <var: enum-of_ignprot_s: 1>

,NUSERID = <c-string 1..8: name 1..8> / <var: char:8>

,NPREFIX = <c-string 1..8: name 1..8> / <var: char:8>

,LIST = *NO / *SYSOUT / *ERRORS-TO-SYSOUT /

        <var: enum-of_list_s: 1>

,EQUATES = *YES / *NO

MF = L

MF = D,PREFIX = D / <pre>

MF = E,PARAM = <name 1..27>

MF = C / M

,PREFIX = D / <pre>

,MACID = MAR / <macid>

JVNAME

Auswahl der Jobvariablen, die restauriert werden sollen.

=<c-string 1..80: filename 1..54 with-wild(80)>
Pfadname der Jobvariable(n) auf dem Snapset. Mit Musterzeichen kann eine Auswahlangabe für eine Jobvariablenmenge erfolgen.

Die Jobvariablen müssen folgende Voraussetzungen erfüllen:

      • Sie müssen zum Zeitpunkt der Snapset-Erstellung katalogisiert sein.

      • Der Pubset, an dem sie katalogisiert sind, muss lokal importiert sein.

Katalog- und Benutzerkennung müssen eindeutig (also ohne Musterzeichen) angegeben werden. Die Angabe von Aliasnamen (auch teilqualifiziert) ist zulässig.

Der privilegierte Benutzer (Privileg TSOS) kann Jobvariablen aller Benutzerkennungen restaurieren.

=<var: char:80>
Nur mit MF=M möglich:
Symbolische Adresse eines Speicherbereichs von 80 Byte, in dem der Pfadname bzw. die Musterzeichenfolge für die gewünschte(n) Jobvariable(n) abgelegt ist.

SNAPSET
Der Operand darf nicht zusammen mit dem Operanden SNAPID angegeben werden.
Bezeichnet den Snapset, von dem restauriert werden soll, über das relative Alter.

=<integer -52..-1>
Bezeichnet den Snapset explizit über das relative Alter. Der Wert -1 entspricht dem jüngsten Snapset (entspricht auch *LATEST).

=*LATEST
Bezeichnet den jüngsten Snapset.

=*ALL
Für die Restaurierung werden alle Snapsets des entsprechenden Pubsets als Basis herangezogen. Jede Jobvariable wird jeweils von dem Snapset mit dem neuesten Stand dieser Jobvariablen (also mit der letzten Sicherung) restauriert. Eine Jobvariable, die nicht mit dem neuesten Stand restauriert werden kann, ist in diesem Fall nicht restaurierbar (d.h. ältere Sicherungsstände werden ignoriert).

SNAPID
Der Operand darf nicht zusammen mit dem Operanden SNAPSET angegeben werden.
Bezeichnet den Snapset, von dem restauriert werden soll, über die Snapset-Id.

=<c-string 1..1: name 1..1 with-low>
Bezeichnet den Snapset explizit über die Snapset-Id. Die maximal 52 Snapsets zu einem Pubset werden unterschieden durch Snapset-Ids aus den 26 Kleinbuchstaben a bis z und den 26 Großbuchstaben A bis Z.

=<var: char 1..1>
Nur mit MF=M möglich:
Symbolische Adresse eines Speicherbereichs von 1 Byte, in dem die Snapset-Id abgelegt ist.

Hinweis

Wenn weder SNAPSET noch SNAPID angegeben sind, wird der jüngste Snapset verwendet.

REPLACE

Gibt an, ob die zu restaurierenden Jobvariablen bereits existierende Jobvariablen überschreiben dürfen.

=*NO
Bereits existierende Jobvariablen werden nicht überschrieben. Das bedeutet, dass Jobvariablen mit Namen bereits existierender Jobvariablen nicht restauriert werden.

=*YES
Bereits existierende Jobvariablen dürfen von zu restaurierenden Jobvariablen überschrieben werden, soweit die Schutzattribute dies zulassen. Für Jobvariable, die mit Kennwort gegen unberechtigtes Überschreiben geschützt sind, muss das erforderliche Kennwort in der Kennworttabelle des Aufrufers eingetragen sein (siehe Kommando ADD-PASSWORD).

=<var: enum-of_replace_s: 1>
Name des Feldes mit dem Wert für REPLACE.

IGNPROT
Der Operand steht nur dem privilegierten Benutzer (Privileg TSOS) zur Verfügung.
Gibt an, ob Jobvariablen ohne Beachtung eines bestehenden Schreibschutzes überschrieben werden sollen.

=*NO
Der Schreibschutz wird beachtet.

=*YES
Der Schreibschutz wird ignoriert.

=<var: enum-of_ignprot_s: 1>
Name des Feldes mit dem Wert für IGNPROT.

NUSERID
Gibt an, dass die Jobvariablen beim Restaurieren umbenannt und unter der angegebenen Benutzerkennung restauriert werden sollen.
Der Operand darf nicht zusammen mit dem Operanden NPREFIX angegeben werden.

=<c-string 1..8: name 1..8>
Benutzerkennung.

=<var: char:8>
Nur mit MF=M möglich:
Symbolische Adresse eines Speicherbereichs von 8 Byte, in dem die Benutzerkennung abgelegt ist.

NPREFIX=

Gibt an, dass die Jobvariablen beim Restaurieren umbenannt werden und dabei den angegebenen Namenspräfix erhalten sollen.
Der Operand darf nicht zusammen mit dem Operanden NUSERID angegeben werden.

=<c-string 1..8: name 1..8>
Namenspräfix.

=<var: char:8>
Nur mit MF=M möglich:
Symbolische Adresse eines Speicherbereichs von 8 Byte, in dem der Namenspräfix abgelegt ist.

LIST
Gibt an, welche Verarbeitungsergebnisse nach SYSOUT protokolliert werden sollen.

=*NO
Es erfolgt keine Ausgabe nach SYSOUT.

=*SYSOUT
Es werden alle Jobvariablen aufgelistet. Für die nicht restaurierbaren Jobvariablen wird die Ursache jeweils mit einem Meldungsschlüssel angezeigt.

=*ERRORS-TO-SYSOUT
Es werden nur Jobvariablen aufgelistet, die nicht restauriert werden konnten. Die Ursache wird jeweils mit einem Meldungsschlüssel angezeigt.

=<var: enum-of_list_s: 1>
Name des Feldes mit dem Wert für LIST.

EQUATES

Steuerungs-Operand nur für MF=C und MF=D:
Gibt an, ob bei der Expansion des Parameterbereichs auch Equates für die Werte der Felder des Parameterbereichs generiert werden sollen.

= *YES
Bei der Expansion des Parameterbereichs werden auch Equates für die Werte der Felder des Parameterbereichs generiert.

= *NO
Bei der Expansion des Parameterbereichs werden keine Equates für die Werte der Felder des Parameterbereichs generiert.

Returncodes

Der Returncode wird im Standardheader des Parameterbereichs abgelegt. Der Parameterbereich darf dann nicht im Read-only-Bereich liegen, sonst erfolgt Programmterminierung.

Standardheader: ccbbaaaa

Über die Ausführung des Makros RJFSNAP wird im Standardheader folgender Returncode übergeben (cc = SUBCODE2, bb = SUBCODE1, aaaa = MAINCODE):

X'cc'

X'bb'

X'aaaa'

Erläuterung

X'00'

X'00'

X'0000'

kein Fehler

X'00'

X'40'

X'0433'

JV nicht katalogisiert

X'00'

X'40'

X'0435'

JV nicht zugreifbar

X'00'

X'40'

X'0440'

JV Name unzulässig

X'00'

X'40'

X'04A0'

JV Subsystem nicht zugreifbar

X'00'

X'40'

X'04B1'

Kennwort nicht angegeben

X'00'

X'40'

X'04B6'

Freigabedatum noch nicht erreicht

X'00'

X'40'

X'04B8'

nur Lesezugriff erlaubt

X'00'

X'40'

X'04BF'

Zugriff wegen JV-Schutz nicht erlaubt

X'00'

X'40'

X'0501'

angeforderter Katalog nicht verfügbar

X'00'

X'40'

X'0505'

Fehler bei der Rechner-Kommunikation

X'00'

X'40'

X'0512'

angeforderter Katalog nicht gefunden

X'00'

X'40'

X'051B'

gewünschte Benutzerkennung nicht im Pubset

X'00'

X'40'

X'051D'

LOGON-Passwort auf angegebenem Pubset anders

X'00'

X'20'

X'0531'

Unerwarteter Fehler beim Katalogzugriff

X'00'

X'82'

X'053C'

im Katalog des Pubsets ist kein Platz

X'00'

X'20'

X'0584'

interner Fehler

X'00'

X'82'

X'0594'

nicht genügend virtueller Speicher

X'02'

X'00'

X'05B6'

fehlerhafte Zeitkonvertierung GTIME-Makro

X'00'

X'20'

X'05C7'

interner Fehler im DVS

X'00'

X'01'

X'05EE'

Pfadname nach Komplettierung zu lang

X'00'

X'40'

X'05FC'

angegebene Benutzerkennung nicht im Home-Pubset

X'00'

X'40'

X'0610'

mindestens für einen der ausgewählten J- Namen liefert die Funktionsausführung einen Returncode

X'00'

X'40'

X'0620'

keine restaurierbare JV gefunden

X'00'

X'40'

X'0621'

JV bereits katalogisiert, Restaurierung nicht ausgeführt

X'00'

X'40'

X'0622'

Snapset nicht verfügbar

X'00'

X'01'

X'0624'

JV Name ungültig

X'00'

X'40'

X'0682'

JV Fehler beim Zugriff auf JV

X'00'

X'01'

X'06F7'

Ungültiger Operandenwert

X'00'

X'01'

X'06FD'

Parameterbereich ungültig oder nicht zugreifbar

Die Returncodes mit dem Maincode X’04xy’ gehören zur Komponente JVS. Eine Liste mit den Erläuterungen kann mit dem Makro JVSERROR ausgegeben werden (siehe auch Handbuch „Jobvariablen“ [21]).

Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle auf "Standardheader" (Standardheader) entnommen werden.

Das aufrufende Programm wird beendet, wenn bezüglich der Parameterliste folgende Fehler auftreten:

  • Die Liste ist dem Aufrufer nicht zugewiesen.

  • Die Liste ist nicht auf Wortgrenze ausgerichtet.

  • Die Liste ist gegen Schreibzugriff geschützt.

Layout der Operandenliste

Makroauflösung mit MF=D, sowie Standardwerten für EQUATES, PREFIX und MACID:

         RJFSNAP MF=D
*   PARAMETER AREA
DMAKHDR  FHDR  MF=(C,DMAK),EQUATES=NO
DMAKHDR  DS    0A
DMAKFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
*
DMAKIFID DS    0A              0   INTERFACE IDENTIFIER
DMAKFCTU DS    AL2             0   FUNCTION UNIT NUMBER
DMAKFCT  DS    AL1             2   FUNCTION NUMBER
DMAKFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
*
DMAKRET  DS    0A              4   GENERAL RETURN CODE
DMAKSRET DS    0AL2            4   SUB RETURN CODE
DMAKSR2  DS    AL1             4   SUB RETURN CODE 2
DMAKSR1  DS    AL1             5   SUB RETURN CODE 1
DMAKMRET DS    0AL2            6   MAIN RETURN CODE
DMAKMR2  DS    AL1             6   MAIN RETURN CODE 2
DMAKMR1  DS    AL1             7   MAIN RETURN CODE 1
DMAKFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
*
DMAKJNAM DS    CL80                      JVNAME
DMAKSNAP DS    FL1                       SNAPSET
*   SNAPSET - VALUES
DMAKSNIN EQU   0                         SNAPSET=<integer>
DMAKSNCH EQU   1                         SNAPSET=<char>
DMAKSNLT EQU   2                         SNAPSET=*LATEST
DMAKSNAL EQU   3                         SNAPSET=*ALL
*
DMAKREPL DS    FL1                       REPLACE
*   REPLACE - VALUES
DMAKREPY EQU   0                         REPLACE = YES
DMAKREPN EQU   1                         REPLACE = NO
*
DMAKIGNP  DS    FL1                      IGNPROT
*   IGNPROT VALUES
DMAKIGNO  EQU   0                        IGNPROT = NO
DMAKIGYE  EQU   1                        IGNPROT = YES
*
DMAKLIST  DS    FL1                      LIST
*   LIST - VALUES
DMAKLSTN  EQU   0                        LIST = NO
DMAKLSYO  EQU   1                        LIST = SYSOUT
DMAKLSYE  EQU   2                        LIST = ERRORS
*
DMAKNUSR  DS    CL8                      NUSERID
DMAKNPRE  DS    CL8                      NPREFIX
DMAKSNVL  DS    H                        SnapValue
DMAKSNID  DS    CL1                      Snapid
DMAKOFLG  DS    AL1                      FLAG BYTE
DMAKNUSP  EQU   X'80'                    S: NUSERID SPECIFIED
DMAKNPSP  EQU   X'40'                    S: NPREFIX SPECIFIED
DMAKRES1  EQU   X'3F'                    RESERVED
DMAK#     EQU   *-DMAKHDR


Beispiel für eine Aufruffolge

         MVC   RJFSMFC(DMAK#),RJFSMFL
         RJFSNAP MF=M,PATHNAM=':X:JV1',PARAM=RJFSMFC
         RJFSNAP MF=E,PARAM=RJFSMFC
             .
             .
RJFSMFC  RJFSNAP MF=C
RJFSMFL  RJFSNAP MF=L,...