Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

LFFSNAP - Dateien von einem Snapset auflisten

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

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

Der nicht-privilegierte Benutzer kann sich über alle für ihn zugreifbaren Dateien informieren (wie bei dem FSTAT-Makro bzw. bei dem Kommando SHOW-FILE-ATTRIBUTES, die Informationen aus dem aktuellen Dateikatalog liefern).

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

Format

Operation

Operanden

LFFSNAP

,PATHNAM = <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 = MAL / <macid>

Operandenbeschreibung

PATHNAM

Auswahl der Dateien, die aufgelistet werden sollen.

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

Es werden nur Dateien aufgelistet, die 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.

      • Sie dürfen nicht auf Privatplatte liegen.

Die Angabe von Aliasnamen ist zulässig. Einzelne Dateigenerationen können angegeben werden. Bei Angabe einer Dateigenerationsgruppe werden die Dateigenerationen mit ausgegeben.

Der privilegierte Benutzer (Privileg TSOS) kann sich über Dateien 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) Datei(en) abgelegt ist.

SNAPSET

Der Operand darf nicht zusammen mit dem Operanden SNAPID angegeben werden.
Bezeichnet den Snapset, von dem die Datei-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 die Datei-Informationen ausgegeben werden sollen.

=<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 LFFSNAP 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'40'

X'0535'

angegebene Datei nicht zugreifbar

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'0615'

Datei liegt auf einem nicht verfuegbaren Volume Set

X'00'

X'40'

X'0616'

Volume Set in SM-Pubset nicht zugreifbar

X'00'

X'40'

X'0622'

Snapset nicht verfügbar

X'00'

X'40'

X'0624'

Dateiname ungültig

X'00'

X'40'

X'0684'

Datei existiert nicht

X'02'

X'00'

X'06CB'

Ausgabeinformation nicht vollständig übertragen

X'00'

X'01'

X'06CB'

Ausgabebereich zu klein

X'00'

X'40'

X'06CC'

kein Dateiname entspricht der angegebenen Musterzeichenfolge

X'00'

X'01'

X'06F7'

Ungültiger Operandenwert

X'00'

X'01'

X'06FD'

Parameterbereich ungültig oder nicht zugreifbar

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:

         LFFSNAP MF=D,XPAND=PARAM                                     
DMALLFPL DSECT ,                                                      
DMALHDR  DS    0A                                                     
DMALFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER      
DMALIFID DS    0A              0   INTERFACE IDENTIFIER               
DMALFCTU DS    AL2             0   FUNCTION UNIT NUMBER               
DMALFCT  DS    AL1             2   FUNCTION NUMBER                    
DMALFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER  
DMALRET  DS    0A              4   GENERAL RETURN CODE                
DMALSRET DS    0AL2            4   SUB RETURN CODE                    
DMALSR2  DS    AL1             4   SUB RETURN CODE 2                  
DMALSR1  DS    AL1             5   SUB RETURN CODE 1                  
DMALMRET DS    0AL2            6   MAIN RETURN CODE                   
DMALMR2  DS    AL1             6   MAIN RETURN CODE 2                 
DMALMR1  DS    AL1             7   MAIN RETURN CODE 1                 
DMALFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH 
*                                                                     
DMALPNAM DS    CL80                      PATHNAM                      
DMALSNAP DS    FL1                       SNAPIND                      
*   SNAPSET - VALUES                                                  
DMALSNIN EQU   0                         SNAPSET=<integer>            
DMALSNCH EQU   1                         SNAPSET=<char>               
DMALSNLT EQU   2                         SNAPSET=*LATEST              
*                                                                     
DMALSNID DS    CL1                       SNAPID                       
DMALSNVL DS    H                         SNAPVALUE                    
DMALARAD DS    A                         OUTAREA=(<addr>,...)         
DMALARLN DS    F                         OUTAREA=(...,<length>)       
DMAL#    EQU   *-DMALHDR 

Format des Ausgabebereiches

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

         LFFSNAP MF=D,XPAND=OUTPUT                            
         MFTST MF=D,PREFIX=D,MACID=MAL,ALIGN=F,                       
               DMACID=MAL,SUPPORT=(E,D,C,M,L),DNAME=MALOUTL           
DMALOUTL DSECT ,                                                       
*,##### PREFIX=D, MACID=MAL #####                      
*   Snapset Output                                                    
DMALFSIZ DS    F                         FILESIZE    
DMALOPNM DS    CL54                      PATHNAME                     
DMALSTATE DS    FL1                       STATE                       
*   STATE = VALUES                                                     
DMALSTOP EQU   0                         STATE = OPENED               
DMALSTCL EQU   1                         STATE = CLOSED               
DMALSTNR EQU   2                         STATE = NOREST               
*                                                                      
DMALFTYPE DS    FL1                       FILETYPE                    
*   FTYPE = VALUES                                                    
DMALFTPB EQU   0                         FTYPE = PUBLIC               
DMALFTMG EQU   1                         FTYPE = MIGRATED             
DMALFTFG EQU   2                         FTYPE = FGG                  
DMALFTWR EQU   3                         FTYPE = WORK                 
DMALFTPD EQU   4                         FTYPE = PRDISK               
DMALFTTP EQU   5                         FTYPE = TAPE                 
DMALFTNT EQU   6                         FTYPE = NET                  
*                                                                      
*                                                                     
DMALCRDT DS    0XL16                     Creation Date                
DMALCRYE DS    CL4                       YEAR                         
DMALCRMO DS    CL2                       MONTH                        
DMALCRDA DS    CL2                       DAY                          
DMALCRHO DS    CL2                       HOURS                        
DMALCRMI DS    CL2                       MINUTES                      
DMALCRSE DS    CL2                       SECONDS                      
DMALCRUS DS    CL2                       UNUSED                       
*                                                                     
*                                                                     
DMALLCDT DS    0XL16                     Last Change Date             
DMALLCYE DS    CL4                       YEAR                         
DMALLCMO DS    CL2                       MONTH                        
DMALLCDA DS    CL2                       DAY                                                                                
DMALLCHO DS    CL2                       HOURS                        
DMALLCMI DS    CL2                       MINUTES                      
DMALLCSE DS    CL2                       SECONDS                      
DMALLCUS DS    CL2                       UNUSED                       
*                                                                     
DMALENLT DS    FL1                       END Indicator                
*                                                                     
DMALSNXT EQU   0                         FURTHER ENTRY                
DMALSNED EQU   1                         LAST ENTRY                   
DMALSNNS EQU   2                         NOT ENOUGH SPACE             
*                                                                     
DMALUNUS DS    XL3                       UNUSED                       
DMALOUTPUT# EQU  *-DMALFSIZ                                            

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

         LFFSNAP MF=D,XPAND=OUTPUT                                      
             .                                                          
             .                                                          
         MVC   LFFSMFC(DMAL#),LFFSMFL                                   
         LFFSNAP MF=M,PATHNAM=':X:T.1',PARAM=LFFSMFC,PREFIX=X,         *
               SNAPSET=-1,OUTAREA=(AREAAD,100)                          
         LFFSNAP MF=E,PARAM=LFFSMFC                                     
             .                                                          
             .                                                          
LFFSMFC  LFFSNAP MF=C,PREFIX=X,XPAND=PARAM                              
LFFSMFL  LFFSNAP MF=L,PATHNAM='X'                                       
AREA     DS    CL100                                                    
AREAAD   DC    A(AREA)                                                  
            .
            .