Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

LJFSNAP - Jobvariablen von einem Snapset auflisten

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

Mit dem Makro LJFSNAP kann sich der Benutzer über Jobvariablen informieren, die bei der Pubset-Sicherung auf einen Snapset gesichert wurden. Die Informationen sind ausgerichtet auf die Restaurierbarkeit von Jobvariablen (mit dem Makro RJFSNAP bzw. dem Kommando RESTORE-JV-FROM-SNAPSET). Der zugehörige Pubset muss importiert sein.

Der nicht-privilegierte Benutzer kann sich über alle für ihn zugreifbaren Jobvariablen informieren (wie bei SHOW-JV-ATTRIBUTES, das Informationen aus dem aktuellen Dateikatalog liefert).

Informationen über alle existierenden Snapsets zu einem Pubset können mit dem Kommando SHOW-SNAPSET-CONFIGURATION eingeholt werden.

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 sich über Jobvariablen aller Benutzerkennungen informieren. Musterzeichen innerhalb der Benutzerkennung sind dabei nicht zulässig.

Format

Operation

Operanden

LJFSNAP

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

          <var: char:80>

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

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

,OUTAREA = (<var: pointer>,<integer 0..32767>)

,EQUATES = *YES / *NO

,EXPAND = PARAM / OUTPUT

MF = L

MF = D,PREFIX = D / <pre>

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

MF = C / M

,PREFIX = D / <pre>

,MACID = MAJ / <macid>

Operandenbeschreibung

JVNAME

Auswahl der Jobvariablen, die aufgelistet werden sollen.

=<c-string 1..80: filename 1..54 with-wild(80)>
Pfadname der Jobvariablen 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.

Die Angabe von Aliasnamen ist zulässig.

Der privilegierte Benutzer (Privileg TSOS) kann sich über Jobvariablen aller Benutzerkennungen informieren. Dabei sind Musterzeichen in der Benutzerkennung nicht zulässig.

=<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 die Jobvariablen-Informationen ausgegeben werden sollen, ü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
Die Informationen werden von dem jüngsten Snapset (d.h. von der aktuellsten Pubset-Sicherung) ausgegeben.

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 die Information vom jüngsten Snapset ausgegeben.

OUTAREA
Bestimmt den Ausgabebereich, in dem die Informationen abgelegt werden sollen.

=(<var: pointer>,<integer 0..32767>)
Gibt Adresse und Länge des Ausgabebereichs an.

EQUATES

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

= *YES
Bei der Expansion des Parameter- oder Ausgabebereichs werden auch Equates für die Werte der Felder des Parameter- oder Ausgabebereichs generiert.

= *NO
Bei der Expansion des Parameter- oder Ausgabebereichs werden keine Equates für die Werte der Felder des Parameter- oder Ausgabebereichs generiert.

XPAND

Steuerungs-Operand nur für MF=C und MF=D:
Es wird festgelegt, welche Struktur zu expandieren (erzeugen) ist. Angaben bei diesem Operanden werden bei anderen MF-Werten ignoriert.

= PARAM
Das Layout der Parameterliste wird expandiert.

= OUTPUT
Das Layout des Ausgabebereiches wird expandiert.

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 LJFSNAP 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'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'0594'

nicht genügend virtueller Speicher

X'00'

X'01'

X'05AB'

Adresse des Ausgabebereichs falsch/nicht angegeben

X'02'

X'00'

X'05B6'

fehlerhafte Zeitkonvertierung GTIME-Makro

X'00'

X'20'

X'05C7'

interner Fehler im DVS

X'00'

X'40'

X'05FC'

angegebene Benutzerkennung nicht im Home-Pubset

X'00'

X'40'

X'0622'

Snapset nicht verfügbar

X'00'

X'40'

X'0624'

JV-Name ungültig

X'00'

X'40'

X'0682'

JV Fehler beim Zugriff auf JV

X'02'

X'00'

X'06CB'

Ausgabeinformation nicht vollständig übertragen

X'00'

X'01'

X'06CB'

Ausgabebereich zu klein

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 und EXPAND=PARAM, sowie Standardwerten für EQUATES, PREFIX und MACID:

         LJFSNAP MF=D,XPAND=PARAM                                    
DMAJLFPL DSECT ,                                                     
DMAJHDR  DS    0A                                                    
DMAJFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER     
DMAJIFID DS    0A              0   INTERFACE IDENTIFIER              
DMAJFCTU DS    AL2             0   FUNCTION UNIT NUMBER              
DMAJFCT  DS    AL1             2   FUNCTION NUMBER                   
DMAJFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER 
DMAJRET  DS    0A              4   GENERAL RETURN CODE               
DMAJSRET DS    0AL2            4   SUB RETURN CODE                   
DMAJSR2  DS    AL1             4   SUB RETURN CODE 2                 
DMAJSR1  DS    AL1             5   SUB RETURN CODE 1                 
DMAJMRET DS    0AL2            6   MAIN RETURN CODE                  
DMAJMR2  DS    AL1             6   MAIN RETURN CODE 2                
DMAJMR1  DS    AL1             7   MAIN RETURN CODE 1                
DMAJFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
*                                                                    
DMAJJVNM DS    CL80                      JVname                      
DMAJSNAP DS    FL1                       Snapind                     
*   SNAPSET - VALUES                                                 
DMAJSNIN EQU   0                         SNAPSET=<integer>           
DMAJSNCH EQU   1                         SNAPSET=<char>              
DMAJSNLT EQU   2                         SNAPSET=*LATEST             
*                                                                    
DMAJSNID DS    CL1                       Snapid                      
DMAJSNVL DS    H                         SnapValue                   
DMAJARAD DS    A                         Outarea=(<addr>,...)        
DMAJARLN DS    F                         Outarea=(...,<length>)      
DMAJ#    EQU   *-DMAJHDR 

Format des Ausgabebereiches

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

         LJFSNAP MF=D,XPAND=OUTPUT                          
DMAJOUTL DSECT ,                                         
*   Output List                                          
DMAJJSIZ DS    F                         JVSIZE          
DMAJOJVN DS    CL54                      JVNAME          
DMAJUNU1 DS    XL2                       UNUSED          
*                                                        
DMAJCRDT DS    0XL16                     Creation Date   
DMAJCRYE DS    CL4                       YEAR            
DMAJCRMO DS    CL2                       MONTH           
DMAJCRDA DS    CL2                       DAY             
DMAJCRHO DS    CL2                       HOURS           
DMAJCRMI DS    CL2                       MINUTES         
DMAJCRSE DS    CL2                       SECONDS         
DMAJCRUS DS    CL2                       UNUSED          
*                                                        
*                                                        
DMAJEXDT DS    0XL16                     Expiration Date 
DMAJEXYE DS    CL4                       YEAR            
DMAJEXMO DS    CL2                       MONTH           
DMAJEXDA DS    CL2                       DAY             
DMAJEXHO DS    CL2                       HOURS           
DMAJEXMI DS    CL2                       MINUTES         
DMAJEXSE DS    CL2                       SECONDS         
DMAJEXUS DS    CL2                       UNUSED          
*                                                        
DMAJENLT DS    FL1                       END Indicator   
*                                                        
DMAJSNXT EQU   0                         FURTHER ENTRY   
DMAJSNED EQU   1                         LAST ENTRY      
DMAJSNNS EQU   2                         NOT ENOUGH SPACE
*                                                        
DMAJUNU2 DS    XL3                       UNUSED          
DMAJOUTPUT# EQU  *-DMAJJSIZ 

Bei Ausgabe der Snapset-Information in den Ausgabebereich des Anwenders werden folgende Fälle unterschieden:

  • Die Ausgabe war vollständig möglich
    Der Ausgabebereich wird mit der gewünschten Information überschrieben, der Aufrufer erhält den Returncode 0. Der Ausgabebereich wird nicht bis zum Ende durchgelöscht, sondern nur so weit beschrieben wie erforderlich.

  • Keine Dateien entsprechen den Auswahlkriterien
    Der Ausgabebereich wird überhaupt nicht beschrieben. Der Aufrufer erhält den Returncode 0684 oder 06CC (bei Musterzeichen/Teilqualifizierung).

  • Die Ausgabe war nicht möglich
    Der Ausgabebereich konnte nicht beschrieben werden (Returncode 05AB nach Validierung des Ausgabebereichs bzw. der Adresse) oder er ist zu klein um eine Ausgabeinformation zu übertragen (Returncode 06CB).

  • Die Ausgabe war nicht vollständig möglich
    Einige Datei-Informationsblöcke konnten nicht übertragen werden. Zusätzlich zur entsprechenden Anzeige im Ausgabebebereich (NOT ENOUGH SPACE) wird Returncode 06CB mit Subreturncode2 X'02' ausgegeben.

Beispiel für eine Aufruffolge

      LJFSNAP MF=D,XPAND=OUTPUT
           . 
           . 
      MVC   LJFSMFC(DMAL#),LJFSMFL 
      LJFSNAP MF=M,PREFIX=X,JVNAME=':X:JV.1',OUTAREA=(AREAAD,100),  *
            PARAM=LJFSMFC 
      LJFSNAP MF=E,PARAM=LJFSMFC                                                   
           .  
           .  
LJFSMFC  LJFSNAP MF=C,PREFIX=X,XPAND=PARAM 
LJFSMFL  LJFSNAP MF=L,PATHNAM='X'
AREA     DS    CL100 
AREAAD  DC    A(AREA)