Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

IMPNFIL - Katalogeintrag für Node-Files erstellen (importieren)

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

Der IMPNFIL-Makroaufruf katalogisiert auf Net-Storage-Volumes gespeicherte Node-Files, für die der aufrufende Auftrag das Eigentumsrecht hat. Das DVS legt den Katalogeintrag für ein Node-File auf einem Net-Storage-Volume vom Typ NETSTOR im TSOSCAT und im Dateikatalog des Net-Storage-Volumes anhand der Inode-Attribute auf dem NFS-Server an. Für Node-Files auf einem Net-Storage-Volume vom Typ NETVOL wird der Katalogeintrag nur im TSOSCAT, ebenfalls anhand der Inode-Attribute auf dem NFS-Server angelegt. Für Dateien auf einem Net-Storage vom Typ NETVOL gibt es keinen Dateikatalog auf dem Net-Storage-Volume.

Mit Angabe eines teilqualifizierten Dateinamens oder mit Wildcards kann der Benutzer mit einem Aufruf auch mehrere Dateien importieren.

Hinweise

  • Mit-Eigentümer einer Benutzerkennung dürfen unter dieser Kennung Node-Files importieren.

  • Wenn Einträge im Benutzerkatalog ersetzt werden müssen (REPLACE= *YES/*NFU), dürfen diese nicht gesperrt sein und Schreibzugriff muss zulässig sein.

Format

Operation

Operanden

IMPNFIL

,VOLUME = <c-string: 1..6> / <var: char:6>

,FILENAM = <c-string 1..80>:<filename 1..54

               with-wild-without-cat(80)> / <var: char:80>

,PUBSET = *STD / <c-string: 1..4> / <var: char:4>

,FILESTR = *STD / *PAM / *SAM / <var: enum-of_filestr_s: 1>

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

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

,LIST = *NO / *SYSOUT / *SYSLST / *BOTH / <var: enum-of_list_s: 1>

,REPORT = *ERROR / *FULL / <var: enum-of_report_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 = MAN / <macid>

Operandenbeschreibung

VOLUME

Archivnummer (VSN) des Net-Storage-Volumes, auf dem die zu importierenden Node-Files gespeichert sind.

=<c-string: 1..6>
VSN des Net-Storage-Volumes.

=<var: char:8>
Nur mit MF=M möglich:
Symbolische Adresse eines Speicherbereichs von 6 Byte, in dem die VSN des Net-Storage-Volumes abgelegt ist.

FILENAM
Auswahl der Node-Files, die importiert werden sollen.

=<c-string 1..80: filename 1..54 with-wild-without-cat(80)>
Pfadname des Node-Files auf dem Net-Storage-Volume. Eine Katalogkennung darf nicht angegeben werden. Die Wildcard-Angabe (Musterzeichen) ermöglicht die Auswahl einer Dateimenge.

Der nicht privilegierte Benutzer kann nur Dateien seiner Benutzerkennung importieren. Der privilegierte Benutzer (Privileg TSOS) kann auch Dateien anderer Benutzer importieren. Die Angabe von Wildcards in der Benutzerkennung ist erlaubt.

=<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.

PUBSET
Bestimmt den Pubset, in dem die Dateien katalogisiert werden sollen. Das im Operanden VOLUME angegebene Net-Storage-Volume muss dem hier angegebenen Pubset zugeordnet sein.

=*STD
Die Katalogeinträge werden im Dateikatalog des Default-Pubsets der Benutzerkennung eingerichtet.

=<c-string: 1..4>
Pubset-Id des Pubsets. Die Katalogeinträge werden im Dateikatalog des angegebenen Pubsets eingerichtet.

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

FILESTR
Bestimmt das Attribut FILE-STRUCTURE des Node-Files, das in Abhängigkeit vom Operanden REPLACE in den Dateikatalog eingetragen wird.

=*STD
Bei REPLACE=*NO/*YES gilt: Ein Node-File wird als PAM-Datei ins BS2000 importiert, wenn die Dateigröße auf dem NFS-Dateisystem ungleich Null ist. Wenn die Dateigröße auf dem NFS-Dateisystem gleich Null ist, so erhält die importierte Datei die Standard-Attribute einer mit CREATE-FILE erzeugten Datei.
Bei REPLACE=*NFU gilt: Die Katalogeinträge der Node-Files werden im BS2000 unabhängig von dem Attribut FILE-STRUCTURE aktualisiert.

=*PAM
Bei REPLACE=*NO/*YES gilt: Ein Node-File wird unabhängig von der Dateigröße auf dem NFS-Dateisystem als PAM-Datei ins BS2000 importiert.
Bei REPLACE=*NFU werden die Katalogeinträge von PAM-Node-Files im BS2000 aktualisiert.

=*SAM
Bei REPLACE=*NO/*YES gilt: Ein Node-File wird unabhängig von der Dateigröße auf dem NFS-Dateisystem als SAM-Datei ins BS2000 importiert. Das Net-Storage-Coded-Character-Set wird beim Anlegen eines Node-Files anhand seiner Definition im Benutzereintrag eingetragen. Das resultierende NETCCS der Datei wird gemäß folgender Tabelle ermittelt:

CCS-Eintrag 1

NETCCS-Eintrag 1

Resultierendes NETCCS im
Katalogeintrag des Node-Files

EDF03IRV/*NONE

*ISO

ISO88591; bei der Code-Umsetzung wird für CCS EDF041 angenommen

EDF03DRV

*ISO

ISO88591; bei der Code-Umsetzung wird für CCS EDF04DRV angenommen

EDF04DRV

*ISO

ISO88591

EDF04x

*ISO

ISO8859x mit x=1,2,..F

ISO8859x

*ISO oder *NO-CONV

ISOx

UTFx

*ISO oder *NO-CONV

UTFx

<name_a 1..8>

<name_b 1..8>

<name_b 1..8>

<name_a 1..8>

*NO-CONV

<name_a 1..8>

Benutzereintrag (SYSSRPM) bzw. Angabe im CATALOG bzw. CREATE-FILE oder MODIFY-FILE-ATTRIBUTES


Bei REPLACE=*NFU werden die Katalogeinträge von SAM-Node-Files im BS2000 aktualisiert.

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

REPLACE
Gibt an, ob im BS2000 bereits existierende Dateien ersetzt werden oder ob nur der Katalogeintrag anhand der Inode-Attribute auf dem NFS-Server aktualisiert wird.

=*NO
Bereits existierende Dateien werden weder ersetzt noch ihre Katologeinträge aktualisiert.

=*YES
Bereits existierende Dateien auf dem Pubset werden durch die angegebenen Node-Files ersetzt. Dabei werden Dateien auf Public-Space und auf Net-Storage gelöscht, und Dateien auf Privatplatte werden exportiert. Beim Importieren der Node-Files werden werden die Einträge im TSOSCAT und im Dateikatalog des Net-Storage-Volumes neu erstellt.

=*NFU
Bei bereits existierenden Dateien werden die Einträge im TSOSCAT und im Dateikatalog des Net-Storage-Volumes anhand der Inode-Attribute auf dem NFS-Server aktualisiert. Dabei bestimmt der Operand FILESTR, dass die Aktualisierung der Katalogeinträge nur für Dateien mit der angegebenen Dateistruktur erfolgt. Mit FILESTR=*STD werden die Dateien unabhängig von der Dateistruktur aktualisiert.

=<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 bereits katalogisierte Dateien 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.

LIST
Gibt an, ob ein Verarbeitungsprotokoll nach SYSOUT und/oder SYSLST ausgegeben werden soll. Voreingestellt ist *NONE, d.h. es wird kein Protokoll erstellt.

=*NO
Es erfolgt keine Ausgabe.

=*SYSOUT
Das Verarbeitungsprotokoll wird nach SYSOUT ausgegeben.

=*SYSLST
Das Verarbeitungsprotokoll wird nach SYSLST ausgegeben.

=*BOTH
Das Verarbeitungsprotokoll wird nach SYSOUT und SYSLST ausgegeben.

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

REPORT

Bestimmt den Umfang des Protokolls, wenn im Operanden LIST ein Verarbeitungsprotokoll angefordert wurde.

=ERROR
Es werden nur Dateien aufgelistet, die nicht importiert werden konnten. Die Ursache wird jeweils mit einem Meldungsschlüssel angezeigt.

=*FULL
Es werden alle Dateien aufgelistet. Für die nicht importierbaren Dateien wird die Ursache jeweils mit einem Meldungsschlüssel angezeigt.

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

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

CMS oder FILE: angeforderter Katalog nicht verfügbar

X'00'

X'40'

X'0512'

Pubsetkennung ist nicht im MRSCAT eingetragen

X'00'

X'40'

X'051B'

Benutzerkennung im angegebenen Pubset unbekannt

X'00'

X'40'

X'051C'

Benutzer hat kein Zugriffsrecht auf angegebenen Pubset

X'00'

X'40'

X'0535'

Es besteht keine Zugriffsberechtigung auf den Katalogeintrag der Datei

X'00'

X'20'

X'0578'

interner Fehler bei Dateischutzprüfung

X'00'

X'82'

X'0594'

nicht genügend virtueller Speicher verfügbar

X'00'

X'20'

X'05C7'

interner Fehler im DMS

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 Dateinamen lieferte die Funktionsausführung einen Returncode

X'00'

X'01'

X'0624'

Dateiname ungültig

X'00'

X'40'

X'0640'

Zugriff auf Net-Storage wird vom Subsystem ONETSTOR wegen Kommunikationsproblemen mit dem Net-Client abgewiesen

X'00'

X'04'

X'0642'

große Dateien auf Pubset nicht erlaubt

X'00'

X'40'

X'0643'

Net-Client meldet Zugriffsfehler

X'00'

X'40'

X'0644'

Net-Client meldet internen Fehler

X'00'

X'40'

X'0645'

Datei auf Net-Storage nicht vorhanden

X'00'

X'40'

X'0649'

Net-Server meldet ACL-Fehler

X'00'

X'40'

X'064A'

Net-Client meldet, Zugriff auf Dateien auf dem Net-Storage-Volume verboten ist

X'00'

X'40'

X'064B'

Zugriff auf Node-Files vom Net-Client nicht unterstützt

X'00'

X'40'

X'064C'

Verzeichnis der angegebenen Benutzerkennung existiert nicht auf Net-Server

X'00'

X'40'

X'064D'

Datei ist kein Node-File

X'00'

X'40'

X'064E'

Node-File liegt nicht auf dem angegebenen Net-Storage-Volume

X'00'

X'40'

X'064F'

FCB-TYPE der Datei und angegebene Dateistruktur stimmen nicht überein

X'00'

X'40'

X'0650'

kein Node-File gefunden, das importiert oder aktualisiert werden kann

X'00'

X'40'

X'0651'

Datei existiert, Import nicht möglich

X'00'

X'40'

X'06CC'

nur bei Auswahlangabe (Wildcard): Keine Datei entspricht der Auswahlangabe

X'00'

X'01'

X'FFFF'

falsche Funktionsnummer im Standardheader

X'00'

X'03'

X'FFFF'

falsche Versionsnummer im Standardheader

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:

IMPNFIL MF=D                                                            
        MFTST MF=D,PREFIX=D,MACID=MAN,ALIGN=F,                          
             DMACID=MAN,SUPPORT=(E,D,C,M,L),DNAME=MANGLPL               
DMANGLPL DSECT ,                                                        
             *,##### PREFIX=D, MACID=MAN #####                          
*   PARAMETER AREA                                                      
DMANHDR  FHDR  MF=(C,DMAN),EQUATES=NO                                   
DMANHDR  DS    0A                                                       
DMANFHE  DS    0XL8           0   GENERAL PARAMETER AREA HEADER         
*                                                                       
DMANIFID DS    0A             0   INTERFACE IDENTIFIER                  
DMANFCTU DS    AL2            0   FUNCTION UNIT NUMBER                  
*                                 BIT 15    HEADER FLAG BIT,            
*                                 MUST BE RESET UNTIL FURTHER NOTICE    
*                                 BIT 14-12 UNUSED, MUST BE RESET       
*                                 BIT 11-0  REAL FUNCTION UNIT NUMBER   
DMANFCT  DS    AL1            2   FUNCTION NUMBER                       
DMANFCTV DS    AL1            3   FUNCTION INTERFACE VERSION NUMBER     
*                                                                       
DMANRET  DS    0A             4   GENERAL RETURN CODE                   
DMANSRET DS    0AL2           4   SUB RETURN CODE                       
DMANSR2  DS    AL1            4   SUB RETURN CODE 2                     
DMANSR1  DS    AL1            5   SUB RETURN CODE 1                     
DMANMRET DS    0AL2           6   MAIN RETURN CODE                      
DMANMR2  DS    AL1            6   MAIN RETURN CODE 2                    
DMANMR1  DS    AL1            7   MAIN RETURN CODE 1                    
DMANFHL  EQU   8              8   GENERAL OPERAND LIST HEADER LENGTH    
*                                                                       
DMANVOLUM DS    CL6                       VOLUME                        
DMANFNAME DS    CL80                      FILENAME                      
DMANPUBID DS    CL4                       PUBSET                        
DMANFILS DS    FL1                       FILESTRUC                      
*   FILESTRUC VALUES                                                    
DMANSTDF EQU   0                         FILESTRUC = STD                
DMANPAMF EQU   1                         FILESTRUC = PAM                
DMANSAMF EQU   2                         FILESTRUC = SAM                
*                                                                       
DMANREPL DS    FL1                       REPLACE                        
*   REPLACE VALUES                                                      
DMANREPN EQU   0                         REPLACE=NO                     
DMANREPY EQU   1                         REPLACE=YES                    
DMANREPU EQU   2                         REPLACE=NODE FILE              
*                                                                       
DMANIGNP DS    FL1                       IGNPROT                        
*   IGNPROT VALUES
DMANIGNO EQU   0                         IGNPROT = NO                   
DMANIGYE EQU   1                         IGNPROT = YES                  
*                                                                       
DMANLIST DS    FL1                       LIST                           
*   LIST VALUES                                                         
DMANLISN EQU   0                         LIST = NO                      
DMANOUTO EQU   1                         LIST = SYSOUT                  
DMANOUTL EQU   2                         LIST = SYSLST                  
DMANOUTB EQU   3                         LIST = BOTH                    
*                                                                       
DMANREPO DS    FL1                       REPORT                         
*   REPORT VALUES                                                       
DMANREPE EQU   0                         REPORT = NO                    
DMANREPF EQU   1                         REPORT = FULL                  
*                                                                       
DMANRES1 DS    XL5                       ALIGNMENT                      
DMAN#    EQU   *-DMANHDR                                                


Beispiel für eine Aufruffolge

MVC   IMPNMFC(DMAN#),IMPNMFL                                    
         IMPNFIL MF=M,                                                 - 
               PARAM=IMPNMFC,                                          - 
               VOLUME='P@BX00',FILENAM='*',                            - 
               PUBSET='X'                                                
         IMPNFIL MF=E,PARAM=IMPNMFC                                      
             .                                                           
             .                                                           
IMPNMFC  IMPNFIL MF=C                                                    
IMPNMFL  IMPNFIL MF=L,VOLUME='*DUMMY',FILENAM='AAA'