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 - Create (import) catalog entries for node files

Macro type: type S (E form / L form / D form / C form / M form) (see "Macro types")

The IMPNFIL macro catalogs node files stored on Net-Storage volumes for which the calling job has the ownership right. DMS creates the catalog entry for a node file in the TSOSCAT and in the file catalog of the Net-Storage volume of the NETSTOR type on the basis of the Inode attributes on the NFS server. For node files on a Net Storage volume of the NETVOL type, the catalog entry is only created in TSOSCAT, also based on the inode attributes on the NFS server. There is no file catalog on the Net-Storage volume for files on a Net-Storage of the NETVOL type.

By specifying a partially qualified file name or wildcard the user can also import more than one file with one call.

Notes

  • Co-owners of a user ID may import node files under this ID.

  • When entries in the user catalog need to be replaced (REPLACE= *YES/*NFU), these may not be locked and write access must be permissible.

Format

Operation

Operands

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>


Operand descriptions

VOLUME

Volume serial number (VSN) of the Net-Storage volume on which the node files to be imported are stored.

=<c-string: 1..6>
VSN of the Net-Storage volume.

=<var: char:8>
Only possible with MF=M:
Symbolic address of a memory area of 6 bytes in which the VSN of the Net-Storage volume is stored.

FILENAM
Selection of the node files which are to be imported.

=<c-string 1..80: filename 1..54 with-wild-without-cat(80)>
Path name of the node file on the Net-Storage volume. A catalog ID may not be specified. Specification of a wildcard enables the selection of a file set.

Nonprivileged users can only import files of their user ID. Privileged users (TSOS privilege) can also import files of other users. Wildcards may be specified in the user ID.

=<var: char:80>
Only possible with MF=M:
Symbolic address of a memory area of 80 bytes in which the path name or the wildcard string for the desired file(s) is stored.

PUBSET
Determines the pubset in which the files are to be cataloged. The Net-Storage volume specified in the VOLUME operand must be assigned to the pubset specified here.

=*STD
The catalog entries are configured in the file catalog of the default pubset of the user ID.

=<c-string: 1..4>
Pubset Id of the pubset. The catalog entries are configured in the specified pubset’ file catalog.

=<var: char:4>
Only possible with MF=M:
Symbolic address of a memory area of 4 bytes in which the pubset Id is stored.

FILESTR
Determines the FILE-STRUCTURE attribute of the node file which is entered in the file catalog in accordance with the REPLACE operand.

=*STD
The following applies when REPLACE=*NO/*YES: A node file is imported into BS2000 as a PAM file when the file size on the NFS file system is not equal to zero. If the file size on the NFS file system is equal to zero, the imported file is assigned the default attributes of a file generated with CREATE-FILE.
The following applies when REPLACE=*NFU: The catalog entries of the node files are updated in BS2000 irrespective of the FILE-STRUCTURE attribute.

=*PAM
The following applies when REPLACE=*NO/*YES: A node file is imported into BS2000 as a PAM file irrespective of the file size on the NFS file system.
When REPLACE=*NFU, the catalog entries of PAM node files in BS2000 are updated.

=*SAM
For REPLACE=*NO/*YES the following applies: a node file will be imported into BS200 as a SAM file, irrespective of the file size on the NFS file system. At node file creation, the Net-Storage coded character set is entered according to its definition in the user entry. The resulting NETCCS of the file is identified based on the following table:

CCS entry 1

NETCCS entry 1

Resulting NETCCS in the catalog entry of the node file

EDF03IRV/*NONE

*ISO

ISO88591; during code conversion, EDF041 is assumed for CCS

EDF03DRV

*ISO

ISO88591; during code conversion, EDF04DRV is assumed for CCS

EDF04DRV

*ISO

ISO88591

EDF04x

*ISO

ISO8859x with x=1,2,..F

ISO8859x

*ISO or *NO-CONV

ISOx

UTFx

*ISO or *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>

1User entry (SYSSRPM) or CATALOG or CREATE-FILE or MODIFY-FILE-ATTRIBUTES entry

If REPLACE=*NFU, the catalog entries of SAM node files are updated in BS2000.

=<var: enum-of_filestr_s: 1>
Name of the field with the value for FILESTR.

REPLACE
Specifies whether files which already exist in BS2000 are replaced or whether only the catalog entries are updated on the NFS server on the basis of the Inode attributes.

=*NO
Files which already exist are not replaced, nor are their catalog entries updated.

=*YES
Files which already exist on the pubset are replaced by the specified node files. Any files on public space or on Net-Storage are deleted, and files on private disk are exported. When the node files are imported, the entries in the TSOSCAT and in the file catalog of the Net-Storage volume are created anew.

=*NFU
In the case of files which already exist, the entries in the TSOSCAT and in the file catalog of the Net-Storage volume are updated on the basis of the Inode attributes on the NFS server. Here the FILESTR operand determines that the update of the catalog

entries only takes place for files with the specified file structure. When FILESTR=*STD, the files are updated irrespective of the file structure.

=<var: enum-of_replace_s: 1>
Name of the field containing the value for REPLACE.

IGNPROT
This operand is only available to privileged users (TSOS privilege).
Specifies whether files which are already cataloged are to be overwritten regardless of an existing write protection.

=*NO
The write protection is observed.

=*YES
The write protection is ignored.

=<var: enum-of_ignprot_s: 1>
Name of the field containing the value for IGNPROT.

LIST
Specifies whether a processing log is to be output to SYSOUT and/or SYSLST. The default value is *NONE, i.e. no log is created.

=*NO
No output takes plce.

=*SYSOUT
The processing log is output to SYSOUT.

=*SYSLST
The processing log is output to SYSLST.

=*BOTH
The processing log is output to SYSOUT and SYSLST.

=<var: enum-of_list_s: 1>
Name of the field containing the value for LIST.

REPORT
Determines the scope of the log when a processing log was requested in the LIST operand.

=ERROR
Only files which could not be imported are listed. The reason is displayed in each case with a message code.

=*FULL
All files are listed. The reason is specified with a message code for each file which could not be imported.

=<var: enum-of_report_s: 1>
Name of the field containing the value for REPORT.

EQUATES

Control operand only for MF=C and MF=D:
Specifies whether equates should also be generated for the values of the parameter area’s fields when the parameter area is expanded.

= *YES
Equates are also generated for the values of the fields of the parameter area when the parameter area is expanded.

= *NO
No equates are generated for the values of the fields of the parameter area when the parameter area is expanded.

Return codes

The return code is placed in the standard header of the parameter area. The parameter area may then not be located in the read-only area, otherwise the program terminates.

Standard header: ccbbaaaa

The following code relating to execution of the IMPNFIL macro is returned in the standard header (cc = SUBCODE2, bb = SUBCODE1, aaaa = MAINCODE):

X'cc'

X'bb'

X'aaaa'

Meaning

X'00'

X'00'

X'0000'

No error

X'00'

X'40'

X'0501'

CMS or FILE: Requested catalog not available

X'00'

X'40'

X'0512'

Pubset Id is not entered in the MRSCAT

X'00'

X'40'

X'051B'

User ID not known in specified pubset

X'00'

X'40'

X'051C'

User has no access right to specified pubset

X'00'

X'40'

X'0535'

There is no access right to the file catalog entry

X'00'

X'20'

X'0578'

Internal error in the file protection check

X'00'

X'82'

X'0594'

Not enough virtual memory available

X'00'

X'20'

X'05C7'

Internal error in DMS

X'00'

X'01'

X'05EE'

Path name too long after completion

X'00'

X'40'

X'05FC'

Specified user ID not on home pubset

X'00'

X'40'

X'0610'

Execution of the function returned a return code for at least one of the selected file names

X'00'

X'01'

X'0624'

File name invalid

X'00'

X'40'

X'0640'

Access to Net-Storage is rejected by the ONETSTOR subsystem because of communication problems with the net client

X'00'

X'04'

X'0642'

Large files not permitted on pubset

X'00'

X'40'

X'0643'

Net client reports access error

X'00'

X'40'

X'0644'

Net client reports internal error

X'00'

X'40'

X'0645'

File does not exist on Net-Storage

X'00'

X'40'

X'0649'

Net server reports ACL error

X'00'

X'40'

X'064A'

Net client reports that access to files on the Net-Storage volume is forbidden

X'00'

X'40'

X'064B'

Access to node files from the net client not supported

X'00'

X'40'

X'064C'

Directory of the specified user ID does not exist on net server

X'00'

X'40'

X'064D'

File is not a node file

X'00'

X'40'

X'064E'

Node file not located on the specified Net-Storage volume

X'00'

X'40'

X'064F'

FCB-TYPE of file and specified file structure do not match

X'00'

X'40'

X'0650'

No node file found which can be imported or updated

X'00'

X'40'

X'0651'

File exists, import not possible

X'00'

X'40'

X'06CC'

Only with wildcard selection: No file matches the specified selection entry

X'00'

X'01'

X'FFFF'

Wrong function number in standard header

X'00'

X'03'

X'FFFF'

Wrong version number in standard header

Further return codes, whose meanings are defined by conventions valid for all macros, can be found in the table on "Standard header" (standard header).

The calling program is terminated if one of the following errors occurs with respect to the parameter list:

  • the list is not assigned to the caller

  • the list is not aligned on a word boundary

  • the list is write-protected.

Layout of the operand list

Macro expansion with MF=D, and default values for EQUATES, PREFIX and 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                                                           


Sample calling sequence

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'