Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

MODIFY-FILE-ATTRIBUTES

&pagelevel(3)&pagelevel

Modify attributes of file

Component:

BS2000

Functional area:

File processing

Domain:

FILE                                                                                                                                                  

Privileges:

STD-PROCESSING
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION
TSOS

Routing code:

$ (bei NBCONOPI=N) bzw. E (bei NBCONOPI=Y)

Function

The MODIFY-FILE-ATTRIBUTES command changes the attributes for existing catalog entries (see section "Overview of functions"). Only the owner, any co-owners (see “Privileged functions”) and systems support personnel are allowed to modify all the file’s attributes. Other users, who have write permission for the the file, are only allowed to allocate extra space or tapes and modify the CODED-CHARACTER-SET and NET-CODED-CHAR-SET entries.

If a file is write-protected by a password, the password must have been added to the password table for the job (see the ADD-PASSWORD command).

File renaming (NEW-NAME operand) and the operand settings AVAILABILITY=*HIGH (even specified implicitly by the allocation of a storage class) and MIGRATE=*FORBIDDEN are rejected if applied to a file which has been migrated from the processing level (S0) to a background level (S1 or S2) using HSMS.

For each of the operands, a value of *UNCHANGED means that the value previously specified will continue to apply. If a permanent file is recataloged as a temporary file (or vice versa), file attributes may change even if *UNCHANGED is specified (see section "Temporary files").

Privileged functions

The following functions are available to nonprivileged users only if the physical allocation of public space is allowed (see “Privileged functions” in the function description of the CREATE-FILE command):

  • explicit specification (values other than the default, *STD) of a volume or volume set in the VOLUME or VOLUME-SET operand in the structure SUPPORT=*PUBLIC-DISK (STORAGE-CLASS=*NONE(...)) when the files are contained on the pubset's disks

  • absolute space reservation using SPACE=*ABSOLUTE(...) in the structure SUPPORT=*PUBLIC-DISK(...)

  • intensified migration locking using MIGRATE=*FORBIDDEN

  • locking against migration to another volume set in the SM pubset, using S0-MIGRATION=*FORBIDDEN

Exception: Privileged functions are not available for work files if no authorization for physical allocation is given.

Systems support personnel can supplement the user information in the file catalog with one to eight bytes of information about the file (ADM-INFORMATION operand).

Systems support personnel (TSOS privilege) can have accesses to the file monitored (AUDIT operand). To configure the AUDIT function, nonprivileged users need appropriate authorization in the user entry of the pubset in which the file is to be created (see the AUDIT output field of the SHOW-USER-ATTRIBUTES) command.

By default, systems support (TSOS privilege) is a co-owner of all the files (and can, therefore, modify files under any user ID). When SECOS is used, this co-ownership can be restricted for permanent files.

Temporary files

Temporary files can be accessed only by the task which creates them and by systems support personnel. It is impossible to specify any file protection measures for them, i.e. no passwords can be defined for them, and only the standard protection attributes ACCESS= *WRITE, USER-ACCESS=*OWNER-ONLY, BASIC-ACL=*NONE, GUARDS=*NONE, and FREE-FOR-DELETION=*NONE can be assigned. The EXPIRATION-DATE operand may only be specified as *UNCHANGED (the default value in the catalog entry of a file already created with OPEN/CLOSE is <= current date, otherwise NONE). If a permanent file is recataloged (renamed) as a temporary file or vice versa, the default protection attributes are set automatically, even if the associated operand is specified as *UNCHANGED.

The attribute NUM-OF-BACKUP-VERS can be given only two values: *UNCHANGED or 0.
If a permanent file is recataloged as a temporary file, the attribute NUM-OF-BACKUP-VERS switches from *UNCHANGED to 0. If the value is specified explicitly, only *UNCHANGED or 0 are accepted.
If a temporary file is recataloged as a permanent file,  the attribute NUM-OF-BACKUP-VERS switches from *UNCHANGED to the value specified in the system parameter NUMBACK.

The BACKUP-CLASS and DISK-WRITE attributes may likewise change when a permanent file is recataloged (renamed) as a temporary file or vice versa if the associated operand is assigned the default value *UNCHANGED (see operand description).

A nonprivileged user can only generate temporary files on the default pubset of his user ID.

Verifying command execution

The DIALOG-CONTROL operand governs whether a verification dialog is to be conducted with the user. The OUTPUT operand lets the user specify whether each file name that is processed is to be logged in a guaranteed message to SYSOUT. In conjunction with the chargeable SDF-P subsystem, the processed file names can be viewed in the S variable stream for guaranteed messages (SYSMSG; see also the ASSIGN-STREAM and EXECUTE-CMD commands in the “SDF-P” manual [34]).

Physical allocation in SM pubsets

A user who is allowed to perform physical allocation of public storage space (see “Privileged functions” in the CREATE-FILE command function description) can directly specify a volume or volume set (VOLUME or VOLUME-SET operand) in the structure STORAGE-CLASS= *NONE(...) in order to select a specific volume set of an SM pubset as the storage location for a file.
The WORK-FILE attribute is specified implicitly. In addition, a lock on migration to another volume set of the SM pubset is placed on the file (S0-MIGRATION=*FORBIDDEN; see also the identically named operand in the command description).
When S0-MIGRATION=*FORBIDDEN is set (explicitly with the identically named operand or implicitly through the physical allocation of storage space), the file’s PERFORMANCE and AVAILABILITY attributes are matched to the identically named attributes of the volume set.

These attributes correspond to the levels of PERFORMANCE (STD, HIGH, VERY-HIGH) and AVAILABILITY (STD, HIGH) which are hierarchically arranged in the user catalog. To ensure that there are adequate levels of performance and availability, files with the S0-MIGRATION=*FORBIDDEN attribute are always assigned at least the PERFORMANCE and AVAILABILITY levels defined for the volume set (you can list the attributes of the volume set with the SHOW-PUBSET-DEFINITION-FILE command (and also with SHOW-PUBSET-CONFIGURATION)).
Any explicit specification of the PERFORMANCE and AVAILABILITY operands which selects a lower level in the hierarchy is ignored. The minimum value is recorded in the file’s catalog entry, and the level in the user catalog is set accordingly. Note that a file’s PERFORMANCE attribute may be higher than the maximum permissible value as set in the user entry (DMS-TUNING-RESOURCES output field). Then, regardless of the level that has been set, the file will at best be processed using the value which is in the user entry at the time of OPEN processing. The level settings and the value of the DMS-TUNING-RESOURCES attribute can be viewed in the output of the SHOW-USER-ATTRIBUTES command, INFORMATION =*PUBSET-ATTRIBUTES operand.

  
Example

Together with the operand setting S0-MIGRATION=*FORBIDDEN or in conjunction with physical allocation, the user specifies PERFORMANCE=*HIGH or *STD (or this applies implicitly, since it is the default), but the attribute of the chosen volume set is PERFORMANCE=*VERY-HIGH. The file will then automatically be assigned the attribute PERFORMANCE=*VERY-HIGH. If the user entry includes DMS-TUNING-RESOURCES=*NONE, the file will actually only be processed with a setting of PERFORMANCE=*STD.

Work files

A file which is in an SM pubset and does not yet occupy any storage space can be defined as a work file by the user in one of the following ways:

  • explicitly by setting the operand value WORK-FILE=*YES.

  • implicitly by physical allocation in a volume set for work files (VOLUME-SET operand)

  • implicitly by assignment to a storage class with the attribute WORK-FILE=*YES

Work files are created as permanent files in a volume set defined for that purpose. Systems support personnel can delete work files again at times which it defines.
By default, work files are not backed up.
The WORK-FILE attribute cannot be changed for files which already occupy storage space, i.e. that a “normal” file cannot be recataloged as a work file and vice versa.
Only a storage class with the attribute WORK-FILE=*YES can be assigned to a work file. The only possible setting for the AVAILABILITY attribute for work files is *STD, i.e. AVAILABILITY=*HIGH will be rejected.

Files in SM pubsets

The storage location for a file on an SM pubset can be selected on the basis of a storage class. This simplifies the automatic management of storage space on an SM pubset (for details see the “Introduction to System Administration” [14] or the “System-Managed Storage” manual [45]).
Systems support personnel allocates to a storage class certain file attributes which are implicitly set for all files assigned to that storage class. If a storage class is specified, there is no need to explicitly specify values for the WORK-FILE, VOLUME-SET, VOLUME, DEVICE-TYPE, IO-ATTRIBUTES, DISK-WRITE, FILE-PREFORMAT, and AVAILABILITY operands.
The SHOW-STORAGE-CLASS command allows users to find out which storage classes of the SM pubset are available to them and which file attributes are set.

If the requirements for the file’s storage location are changed (explicitly or implicitly by way of the storage class), the storage location may change automatically, with the result that the file is moved to a different volume set.
The change of storage location is a synchronous process involving copying of the file. The file is not accessible to other tasks while copying is in progress.

An automatic change of storage location and the recataloging of a permanent file as a temporary file (or vice versa) cannot be performed at the same time.

Files on tapes and tape cartridges

When the catalog entries for tape files are being accessed or created, the special features associated with this storage medium must be taken into account.

For files with standard labels, the specifications for shareability (USER-ACCESS), access type (ACCESS) and passwords will be transferred from the catalog entry into the file labels at the time the file is created.

Since the file labels on a tape cannot be amended without corrupting the file (hardware restriction), and the contents of the catalog entry for each file must agree with the contents of its file labels, it will not be possible to amend the access rights and expiration date using a MODIFY-FILE-ATTRIBUTES command after the file has once been correctly opened and closed again. This means that the file protection attributes can only be changed before the file is opened for the first time. These attributes will then be transferred unchecked into the labels when the file is created. This allows attributes, e.g. write protection (MODIFY-FILE-ATTRIBUTES...ACCESS=*READ) to be defined for a file which has yet to be created. The file can then be opened as an output file, and created; the write protection will take effect after this.

If password protection is specified for a tape file, then when the file is created, the label processing routines will transfer the passwords from the catalog entry to the HDR3 labels, without checking them (conversely, the passwords will be transferred from the HDR3 label to the catalog entry if the file is imported).

For file processing in batch mode, if ADD-FILE-LINK...PROTECTION-LEVEL=*LOW is specified, the file owner can bypass the checking of the passwords if his user entry includes TAPE-ACCESS=*PRIVILEGED

If systems support specified password encryption using the system parameter ENCRYPT, then the encryption indicator in the HDR3 label will be set to “1”. 

 

Overview of functions

Function / Meaning

Level 1 operands                              

Level 2/3 operands

Name of the catalog entry which is to be changed

FILE-NAME =

                                           

New name of the file

NEW-NAME =


Specify the volume

SUPPORT


Volume: pubset and Net-Storage

SUPPORT = *PUBLIC-DISK(...)


  • Specify storage type


STORAGE-TYPE =

    • File type (on Net-Storage)


FILE-TYPE =

  • Define storage class


STORAGE-CLASS =

    • Define work file attribute


WORK-FILE =

    • Performance requirements

      • Performance attribute

      • type of I/O operations


IO-ATTRIBUTES =

    • Define time when data consistency is required after write operations


DISK-WRITE =

    • preferred file format


FILE-PREFORMAT =

    • Define availability requirements


AVAILABILITY =

    • Specify volume set


VOLUME-SET =

    • Specify the volume


    • Specify device type


DEVICE-TYPE =

    • Change of volume set allowed


S0-MIGRATION =

  • Storage space allocation


SPACE =

  • HSMS storage management class


MANAGEMENT-CLASS =

  • user information


USER-INFORMATION =

  • systems support information


ADM-INFORMATION =

Volume: private disk

SUPPORT = *PRIVATE-DISK(...)


  • Specify device type


DEVICE-TYPE =

  • Request volume(s)


VOLUME =

  • Storage space allocation (allocate,change, release)


SPACE =

  • Time of disk mounting


VOLUME-ALLOCATION =

  • Separate storage of data/index for ISAM files


DATA-SUPPORT =

Volume: pubset or private disk

SUPPORT = *ANY-DISK(...)


  • Specify device type


DEVICE-TYPE =

  • Specify the volume


  • Storage space allocation (allocate,change, release)


SPACE =

Volume: tape

SUPPORT = *TAPE(...)


  • Request volume(s)


VOLUME =

  • Specify device type


DEVICE-TYPE =

  • Request tape device


PREMOUNT-LIST =

Define protection attributes

PROTECTION =*PARAMETERS(...)


  • Import protection attributes from file


PROTECTION-ATTR =

  • Access rights


ACCESS =

  • Shareability


USER-ACCESS =

  • Basic access control list


BASIC-ACL =

  • Password protection


GUARDS =

  • Define passwords


WRITE-PASSWORD =

  • Physical deletion (overwrite with binary zeros)


DESTROY-BY-DELETE =

  • Monitoring of DMS accesses via SAT/System Exit Routines


AUDIT =

  • Lock to prevent release of reserved storage space (disk files only)


SPACE-RELEASE-LOCK =

  • Date when file is freed for updating


EXPIRATION-DATE =

  • Date when file is freed for deletion


Only for files on disk and Net-Storage:
Type and frequency of automatic data backup by ARCHIVE or HSMS

SAVE =


  • Backup frequency


BACKUP-CLASS =

  • Scope of backup


SAVED-PAGES =

  • Maximum number of file versions in the version backup archive


Only for files on disk and Net-Storage:
Whether migration is possible if the software product HSMS is used (automatic management of public storage space) is used


  • Migration allowed

= *ALLOWED


  • Migration lock

= *INHIBITED


  • Intensified migration lock

= *FORBIDDEN


Code table (XHCS)

CODED-CHARACTER-SET =


Only for node files: character set with which the file is created on Net-Storage

NET-CODED-CHAR-SET =


Verification of multiple file specifications:



File selection dialog



  • User intervention in command execution not possible (default setting for procedures and batch mode)

DIALOG-CONTROL = *NO


  • Dialog when more than one file is referenced if the file name specified is not fully qualified (default setting for interactive mode)

DIALOG-CONTROL = *MORE-THAN-ONE-FILE


  • Dialog when an error occurs

DIALOG-CONTROL = *ERROR


  • Dialog when catalog ID changes

DIALOG-CONTROL =*CATALOG-CHANGE


  • Dialog for each selected file that is to be processed

DIALOG-CONTROL = *FILE-CHANGE


  • Dialog when user ID changes

DIALOG-CONTROL = *USER-ID-CHANGE


Guaranteed message for successfully modified catalog entries

OUTPUT =


  • Suppress

=*NO


  • Output to SYSOUT

=*SYSOUT


Table 54: Overview of MODIFY-FILE-ATTRIBUTES command functions

Format

MODIFY-FILE-ATTRIBUTES

Alias: MD / MDFA

FILE-NAME = <filename 1..54 without-gen with-wild(80)>

,NEW-NAME = *SAME / <filename 1..54 with-wild-constr(80)>

,SUPPORT = *UNCHANGED / *PUBLIC-DISK(...) / *PRIVATE-DISK(...) / *ANY-DISK(...) / *TAPE(...)


*PUBLIC-DISK(...)



|

STORAGE-TYPE = *UNCHANGED / *STD / *PUBLIC-SPACE / *NET-STORAGE(...)



|


*NET-STORAGE(...)



|



|


FILE-TYPE = *UNCHANGED / *STD / *BS2000 / *NODE-FILE



|

,STORAGE-CLASS = *UNCHANGED / *STD / *UPDATE / <composed-name 1..8> / *NONE(...)



|


*NONE(...)



|



|


WORK-FILE = *UNCHANGED / *NO / *YES



|



|


,IO-ATTRIBUTES = *UNCHANGED / *PARAMETERS(...)



|



|



*PARAMETERS(...)



|



|




|

PERFORMANCE = *UNCHANGED / *STD / *HIGH / *VERY-HIGH / *USER-MAXIMUM



|



|




|

,USAGE = *UNCHANGED / *READ-WRITE / *WRITE / READ



|



|


,DISK-WRITE = *UNCHANGED / *IMMEDIATE / *BY-CLOSE



|



|


,AVAILABILITY = *UNCHANGED / *STD / *HIGH



|



|


,FILE-PREFORMAT = *STD / *K / *NK2 / *NK4



|



|


,VOLUME-SET = *STD / *CONTROL-VOLUME-SET / <cat-id 1..4>



|



|


,VOLUME = *UNCHANGED / list-poss(255): <vsn 1..6>



|



|


,DEVICE-TYPE = *UNCHANGED / <device>



|



|


,S0-MIGRATION = *UNCHANGED / *ALLOWED / *FORBIDDEN



|

,SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)



|


*RELATIVE(...)



|



|


PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>



|



|


,SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>



|


*ABSOLUTE(...)



|



|


FIRST-PAGE = <integer 1..2147483647>



|



|


,SIZE = <integer 1..2147483647>



|


*RELEASE(...)



|



|


NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE



|



|


,KEEP-MIN-ALLOCATION = *NO / *YES



|

,MANAGEMENT-CLASS = *UNCHANGED / *NONE / <composed-name 1..8>



|

,USER-INFORMATION = *UNCHANGED / *NONE / <c-string 1..8 with-low>




,ADM-INFORMATION = *UNCHANGED / *NONE / <c-string 1..8 with-low>


*PRIVATE-DISK(...)



|

VOLUME = *UNCHANGED / [*ANY](...) / list-poss(255): <alphanum-name 1..6>



|


[*ANY](...)



|



|


NUMBER-OF-DEVICES = 1 / <integer 1..9>



|

,DEVICE-TYPE = *UNCHANGED / <device>



|

,SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)



|


*RELATIVE(...)



|



|


PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>



|



|


,SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>



|


*ABSOLUTE(...)



|



|


FIRST-PAGE = <integer 1..2147483647>



|



|


,SIZE = <integer 1..2147483647>



|


*RELEASE(...)



|



|


NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE



|

,VOLUME-ALLOCATION = *IMMEDIATE / *DELAYED



|

,DATA-SUPPORT = *UNCHANGED / [*PARAMETERS](...)



|


[*PARAMETERS](...)



|



|


DATA-DEVICE-TYPE = *UNCHANGED / <device>



|



|


,DATA-VOLUME = *UNCHANGED / list-poss(255): <alphanum-name 1..6>



|



|


,DATA-SPACE = *RELATIVE(...) / *ABSOLUTE(...)



|



|



*RELATIVE(...)



|



|




|

PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>



|



|




|

,SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>



|



|



*ABSOLUTE(...)



|



|




|

FIRST-PAGE = <integer 1..2147483647>



|



|




|

,SIZE = <integer 1..2147483647>


*ANY-DISK(...)



|

VOLUME = *UNCHANGED / list-poss(255): <alphanum-name 1..6>



|

,DEVICE-TYPE = *UNCHANGED / <device>



|

,SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)



|


*RELATIVE(...)



|



|


PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>



|



|


,SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>



|


*ABSOLUTE(...)



|



|


FIRST-PAGE = <integer 1..2147483647>



|



|


,SIZE = <integer 1..2147483647>



|


*RELEASE(...)



|



|


NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE


*TAPE(...)



|

VOLUME = *NO / [*ANY](...) / *REMOVE-UNUSED / list-poss(255): <alphanum-name 1..6>



|


[*ANY](...)



|



|


NUMBER-OF-DEVICES = 1 / <integer 1..9>



|

,DEVICE-TYPE = *UNCHANGED / <device>



|

,PREMOUNT-LIST = *NONE / list-poss(255): <integer 0..255>

,PROTECTION = *UNCHANGED / [*PARAMETERS](...)


[*PARAMETERS](...)



|

PROTECTION-ATTR = *UNCHANGED / *BY-DEF-PROT-OR-STD / *STD / *FROM-FILE(...)



|


*FROM-FILE(...)



|



|


FILE-NAME = <filename 1..54 without-gen>



|

,ACCESS = *BY-PROTECTION-ATTR / *UNCHANGED / *WRITE / *READ



|

,USER-ACCESS = *BY-PROTECTION-ATTR / *UNCHANGED / *OWNER-ONLY / *ALL-USERS /



|






*SPECIAL



|

,BASIC-ACL = *BY-PROTECTION-ATTR / *UNCHANGED / *NONE / *PREVIOUS / *STD /



|







[*PARAMETERS](...) / *OWNER-RX / *OWNER-WRX / *OWNER-ONLY /



|








*GROUP-X / *GROUP-RX / *GROUP-WRX / *EXCEPT-OTHERS / *OTHERS-X /



|








*OTHERS-RX / *OTHERS-WRX / *ALL-X / *ALL-RX / *ALL-WRX



|


[*PARAMETERS](...)



|



|


OWNER = *UNCHANGED / *NO-ACCESS / [*PARAMETERS](...)



|



|



[*PARAMETERS](...)



|



|




|

READ = *UNCHANGED / *NO / *YES



|



|




|

,WRITE = *UNCHANGED / *NO / *YES



|



|




|

,EXEC = *UNCHANGED / *NO / *YES



|



|


,GROUP = *UNCHANGED / *NO-ACCESS / [*PARAMETERS](...)



|



|



[*PARAMETERS](...)



|



|




|

READ = *UNCHANGED / *NO / *YES



|



|




|

,WRITE = *UNCHANGED / *NO / *YES



|



|




|

,EXEC = *UNCHANGED / *NO / *YES



|



|


,OTHERS = *UNCHANGED / *NO-ACCESS / [*PARAMETERS](...)



|



|



[*PARAMETERS](...)



|



|




|

READ = *UNCHANGED / *NO / *YES



|



|




|

,WRITE = *UNCHANGED / *NO / *YES



|



|




|

,EXEC = *UNCHANGED / *NO / *YES



|

,GUARDS = *BY-PROTECTION-ATTR / *UNCHANGED / *NONE / [*PARAMETERS](...)



|


[*PARAMETERS](...)



|



|


READ = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>



|



|


,WRITE = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>



|



|


,EXEC = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>



|

,WRITE-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /



|



<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET



|

,READ-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /



|



<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET



|

,EXEC-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /



|



<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET



|

,DESTROY-BY-DELETE = *BY-PROTECTION-ATTR / *UNCHANGED / *NO / *YES



|

,AUDIT = *UNCHANGED / *NONE / *SUCCESS / *FAILURE / *ALL



|

,SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR / *UNCHANGED / *NO / *YES



|

,EXPIRATION-DATE = *BY-PROTECTION-ATTR / *UNCHANGED / *TODAY / *TOMORROW /



|



<date with-compl> / <integer 0..99999 days>



|

,FREE-FOR-DELETION = *BY-PROTECTION-ATTR / *UNCHANGED / *NONE / <date> /



|





<integer 0..99999>

,SAVE = *UNCHANGED / [*PARAMETERS](...)


[*PARAMETERS](...)



|

BACKUP-CLASS = *UNCHANGED / *A / *B / *C / *D / *E



|

,SAVED-PAGES = *UNCHANGED / *COMPLETE-FILE / *MODIFIED-PAGES



|

,MODIFY-FILE-ATTRIBUTES (BS2000 V21 Commands SP23.1, #271) = *UNCHANGED / <integer 0..32>

,MIGRATE = *UNCHANGED / *ALLOWED / *INHIBITED / *FORBIDDEN

,CODED-CHARACTER-SET = *UNCHANGED / *USER-DEFAULT / *NONE / <name 1..8>

,NET-CODED-CHAR-SET = *UNCHANGED / *USER-DEFAULT / *ISO / *NO-CONVERSION / <name 1..8>

,DIALOG-CONTROL = *STD / *NO / *ERROR / *FILE-CHANGE / *MORE-THAN-ONE-FILE /

*USER-ID-CHANGE / *CATALOG-CHANGE

,OUTPUT = *NO / *SYSOUT

Operands

FILE-NAME = <filename 1..54 without-gen with-wild(80)>
Name of an existing permanent or temporary file. If the file name includes wildcards, or if the specification is partially qualified, the command is executed for the associated set of files. Processing can be controlled and verified with the aid of the DIALOG-CONTROL and OUTPUT operands. Only systems support is allowed to use wildcards within the user ID. In processing a file set, no distinction is made between files and file generation groups. Changes to group entries are rejected if operands not available for file generation groups are specified in the command. The MODIFY-FILE-GROUP-ATTRIBUTES command should be used to modify group entries.

NEW-NAME = *SAME / <filename 1..54 with-wild-constr(80)>
Specifies whether the file is to be renamed.

NEW-NAME = *SAME
The default value is *SAME, i.e. the current name is retained.

NEW-NAME = <filename 1..54 with-wild-constr(80)>
The file is to be renamed. Either a new file name or the name of a new file generation is specified. The command is rejected if a file or file generation with the specified name already exists. Files which are on HSMS storage level S1 or S2 cannot be renamed (see the STORAGE-LEVEL operand in the SHOW-FILE-ATTRIBUTES command). If a set of files has been specified in the FILE-NAME operand, a constructor can be used to specify how the names of the target files are to be formed. The constructor string should be designed to ensure that the names of the target files are unique. Renaming is rejected for file names which already exist. If, for example, a fully qualified file name is specified as the new name for a set of files, only the first file can be given this name. For the following files, the name will already exist, so renaming will be rejected.

If a permanent file is recataloged as a temporary file (or vice versa), the values in the catalog entry may change even if the default value *UNCHANGED has been specified for the operand in question. A nonprivileged user can only generate temporary files on the default pubset of his user ID.

With tape files, NEW-NAME must differ from FILE-NAME by the addition of, or by a change to, the version identifier.

If a file generation is specified (relatively or absolutely), the absolute number of the new generation must either be LAST-GEN + 1 or, with LAST-GEN=9999, must be equal to 1 (see BASE-NUM and LAST-GEN output fields, SHOW-FILE-ATTRIBUTES command).

Renaming a file as a file generation: The CODED-CHARACTER-SET specified for the file must be the same as that defined in the file generation’s group entry. In an SM pubset, the WORK-FILE attributes of the file and the file generation group must also match. Any further file attribute specifications must be made in the SUPPORT operand. The other file attributes of the original file (such as its protection attributes) are automatically set to the values defined in the group entry.

SUPPORT = *UNCHANGED / *PUBLIC-DISK(...) / *PRIVATE-DISK(...) / *ANY-DISK(...) / *TAPE(...)
Type of volume on which the file is located. This entry must not contradict the specification that was made when the catalog entry was created (CREATE-FILE).

SUPPORT = *PUBLIC-DISK(...)
The file is located on a public disk or Net-Storage.

STORAGE-TYPE = *UNCHANGED / *STD / *PUBLIC-SPACE / *NET-STORAGE
Determines the storage type for the file's storage location.
Files which have already been allocated cannot be moved from public disks to Net-Storage volumes and vice versa.

STORAGE-TYPE = *STD
The file is created on the default storage type for storing files on this pubset.

STORAGE-TYPE = *PUBLIC-SPACE
The file is created on the disks of the pubset.
In addition to the entry in the file catalog, the file is also created physically with the smallest possible amount of storage space (see the SPACE operand).

STORAGE-TYPE = *NET-STORAGE(...)
The file is created on a Net-Storage volume.
The authorization NET-STORAGE-USAGE=*ALLOWED (default) must be entered in the user entry. Catalog entries are generated both on the local pubset and in the relevant file system of the Net-Server. However, the file is not created physically. If no volume is specified, the file is created on the default Net-Storage volume.

Files with a PAM key, file generation groups, work files and temporary files cannot be stored on Net-Storage.

FILE-TYPE = *UNCHANGED / *STD / *BS2000 / *NODE-FILE
Determines the file type in which the file is created. The file type can no longer be changed for files which have already been allocated.

FILE-TYPE = *STD
The file is created as a BS2000 file on a Net-Storage volume. When the volume of a private disk is specified under STORAGE-CLASS=*NONE(...), the file is created on the private disk.

FILE-TYPE = *BS2000
The file is created as a BS2000 file on a Net-Storage volume. When under STORAGE-CLASS=*NONE(...) specifications regarding the volume or device type are provided which do not permit this, the command is aborted with an error.

FILE-TYPE = *NODE-FILE
The file is created as a node file on a Net-Storage volume. When under STORAGE-CLASS=*NONE(...) specifications regarding the volume or device type are provided which do not permit this, the command is aborted with an error.

STORAGE-CLASS = *UNCHANGED / *STD / *UPDATE/ <composed-name 1..8> / *NONE(...)
Governs the properties of the file’s storage location. A storage class is a container set up by systems support to hold a defined combination of file attributes specific to an SM pubset. On the basis of the assigned volume set lists it maps these attributes onto the existing range of pubset services. This mapping may be more detailed than can be described by explicitly specifying the WORK-FILE, IO-ATTRIBUTES, DISK-WRITE, AVAILABILITY, FILE-PREFORMAT, VOLUME-SET, VOLUME, DEVICE-TYPE and S0-MIGRATION operands in the structure STORAGE-CLASS=*NONE.

At the time when the assignment is made, the storage class that is specified (even implicitly using *STD) must exist, and the user must be authorized to use it. The SHOW-STORAGE-CLASS command allows users to find out which storage classes of an SM pubset are available to them and which file attributes are set.

Assigning a storage class simplifies the automatic management of storage space in an SM pubset (for details see the “Introduction to System Administration” [14] or the “System-Managed Storage” manual [45]).

The WORK-FILE attribute of the storage class must be the same as that of the file.

Defining a different storage class (STORAGE-CLASS unequal to *NONE) can result in the file being relocated (reallocated) from its current volume set to another volume set which is better suited to this storage class. The following cases can occur here:

      • If the storage class contains AVAILABILITY=*HIGH and the existing volume set has AVAILABILITY=*STD, the file must be reallocated to a volume set with the attribute AVAILABILITY=*HIGH. If reallocation is not possible, the command is rejected.

      • If the storage class contains a volume set list and the file is not located on a volume set of this volume set list, the file is, if possible, reallocated to a volume set from this list. If reallocation is not possible, the command is executed without it.

During reallocation, the file is open. Accesses from other tasks are rejected.

STORAGE-CLASS = *STD
A file in an SM pubset is assigned the default storage class from the user entry for that pubset. If there is no default storage class defined, or if the file is stored in an SF pubset, the file is given the same attributes as with STORAGE-CLASS=*NONE with default values.

STORAGE-CLASS = *UPDATE
The operand is evaluated only for files on SM pubsets to which a storage class has already been assigned.
The attributes are once more read from the storage class catalog and assigned to the file.

STORAGE-CLASS = <composed-name 1..8>
A file in an SM pubset is assigned the specified storage class. This specification is ignored for a file in an SF pubset; the file is then given the same attributes as with STORAGE-CLASS=*NONE with default values.

STORAGE-CLASS = *NONE(...)
The value has the same effect as *UNCHANGED if all the following conditions are fulfilled:

      • The file was or is being created on a volume set for permanent data storage.

      • A default storage class is assigned to the user ID at the SM pubset in question.

      • Physical allocation is not permitted.

Only in this case are the WORK-FILE, PERFORMANCE, USAGE, DISK-WRITE and AVAILIBILITY operands and the S0-MIGRATION=*ALLOWED specification ignored.

In all other cases, the properties of the file’s storage location are determined on the basis of the following operands and no storage class is assigned to the file or a storage class which is already assigned is withdrawn.

WORK-FILE = *UNCHANGED / *NO / *YES
The operand is evaluated only for files in SM pubsets. Specifies whether the file is a work file which systems support is allowed to delete at a time which it defines. If the file already occupies storage space, the only value allowed is *UNCHANGED.

WORK-FILE = *NO
The file is not to be a work file.

WORK-FILE = *YES
The file is to be a work file.

IO-ATTRIBUTES = *UNCHANGED / *PARAMETERS(...)
Specifies the performance requirements demanded by the user for input/output operations. Whether such requirements are satisfied and the extent to which they are fulfilled depends on the cache medium that is defined for the associated pubset (see the output of the SHOW-MASTER-CATALOG-ENTRY command).
Read and write access is performed through a fast cache. The number of disk accesses and the access times are reduced. Performance attributes for processing can also be defined in the TFT (see the ADD-FILE-LINK command).

IO-ATTRIBUTES = *PARAMETERS(...)
Performance attributes are determined by the values of the PERFORMANCE and USAGE operands.

PERFORMANCE = *UNCHANGED / *STD / *HIGH / *VERY-HIGH / *USER-MAXIMUM
Specifies the file’s performance attribute. It indicates the priority required for the I/O operations selected in the USAGE operand. The highest performance attribute allowed is defined in the user entry (see also the DMS-TUNING- RESOURCES output field in the output of the SHOW-USER-ATTRIBUTES command).

PERFORMANCE = *STD
The file has no special performance attribute and is therefore not processed via a cache. The USAGE operand does not affect the processing of the file in this case.

PERFORMANCE = *HIGH
The file is to be processed through a cache (high performance priority). This specification is only possible for users who have the DMS tuning privilege CONCURRENT-USE or EXCLUSIVE-USE for the pubset (see the output field DMS-TUNING-RESOURCES in the output of the SHOW-USER-ATTRIBUTES command).

PERFORMANCE = *VERY-HIGH
The file is to be processed through a cache. The referenced data in the file is to be kept permanently in the cache (highest performance priority). The cache data is only evicted from the cache when the file is closed. Specification is only possible for users who have the DMS tuning privilege EXCLUSIVE-USE for the pubset (see the output for the SHOW-USER-ATTRIBUTES command, output field DMS-TUNING-RESOURCES). 


Note

All cache segments used for this file are locked until the file is closed. If there are many files open with this attribute at the same time, the cache memory available for normally cached files may as a result be so greatly restricted that data accesses to such files can no longer be implemented with an adequate level of performance.

PERFORMANCE = *USER-MAXIMUM
The file is assigned the highest performance attribute contained in the user catalog for the user.

USAGE = *UNCHANGED / *READ-WRITE / *WRITE / *READ
Specifies the I/O operations for which enhanced performance (caching) is required. The default setting is *READ-WRITE, i.e. the requirements apply to read and write operations. If the file does not have a particular performance attribute (PERFORMANCE= *STD) and if the cache area for the pubset is not defined in such a way that all existing files are served (see the operand CACHED-FILES=*ALL for the MODIFY-PUBSET-CACHING-ATTRIBUTES command), then the USAGE operand has no effect on processing.

USAGE = *READ-WRITE
The performance requirements apply both to read and to write operations.

USAGE = *WRITE
The performance requirements apply to write operations only.

USAGE = *READ
The performance requirements apply to read operations only.

   
Note

With USAGE=*READ-WRITE or *WRITE, write caching is performed only if the conditions for the DISK-WRITE file attributes are met (see CREATE-FILE or MODIFY-FILE-ATTRIBUTES). In the case of DISK-WRITE= *IMMEDIATE, the cache medium used for write caching has to be failsafe (see the output for the command SHOW-MASTER-CATALOG-ENTRY INFORMATION=*USER, output field CACHE-MEDIUM).

DISK-WRITE = *UNCHANGED / *IMMEDIATE / *BY-CLOSE
Specifies the time at which the data must be on a nonvolatile medium (disk or fail-safe cache medium) after a write operation. If a volatile cache medium is used as the write cache, data in the file will not be in a consistent state until CLOSE processing has been completed because the write data is written out to disk during CLOSE processing. System errors during the processing phase may lead to inconsistencies. Write caching for files containing data which cannot easily be restored should be performed using only fail-safe cache media, i.e. data consistency after each write operation should be requested with DISK-
WRITE=*IMMEDIATE.

DISK-WRITE = *UNCHANGED
When a temporary file is recataloged to a permanent file, DISK-WRITE=IMMEDIATE is set. DISK-WRITE=BY-CLOSE is set for the reverse case.

DISK-WRITE = *IMMEDIATE
Data contained in the file must be on a nonvolatile medium immediately after a write operation. Write caching is performed for files marked in this way only if a nonvolatile cache area is active for the pubset (see the CACHE- MEDIUM=NONVOLATILE output field of the SHOW-MASTER-CATALOG-ENTRY command with INFORMATION= *USER). If a volatile cache area is active for the pubset (CACHE-MEDIUM=VOLATILE output field), only read accesses are buffered for the file; write accesses are performed directly on the disks.

DISK-WRITE = *BY-CLOSE
Data contained in the file needs to be on a nonvolatile medium only after CLOSE processing. Write caching for files marked in this way is performed regardless of whether the cache medium is fail-safe, i.e. even on volatile cache media. Unsaved cached data is written out during CLOSE processing. The data in the file will not be on a nonvolatile medium (disk storage) until that point. This attribute is suitable only for files containing data that can easily be restored (list files generated during compilation, for example), as a system error may cause inconsistencies in the files.

AVAILABILITY = *UNCHANGED / *STD / *HIGH
Specifies availability requirements for the file. Files for which high availability is required must always be created by the system on suitable volumes (such as a disk with DRV mirroring). If no appropriate volume is available, the command is rejected.

AVAILABILITY = *STD
The file is not subject to special availability requirements.

AVAILABILITY = *HIGH
The file is to have high availability. A file for which high availability was not originally required is automatically relocated to a suitable volume. The file cannot be accessed while relocation is in progress. If the volume is not capable of meeting the requirement, or if no suitable volume set is available within the SM pubset, the command is rejected. This specification is not allowed for temporary files or when renaming a permanent file as a temporary file. Furthermore, the file must not have been migrated to one of the HSMS background storage levels, S1 and S2 (see the STORAGE-LEVEL operand in the SHOW-FILE-ATTRIBUTES command).

FILE-PREFORMAT = *STD / *K / *NK2 / *NK4
The operand is evaluated only for files which do not yet occupy any storage space and for which storage space on an SM pubset is requested. Governs the preferred file format, which is taken into account in the choice of volume set. As long as the file has not yet been opened (no CREATION-DATE in the catalog entry), the chosen storage location is provisional and may still change in the course of OPEN processing.

FILE-PREFORMAT = *STD
The preferred file format which applies is the format that systems support has defined as the pubset-specific default for the SM pubset using the MODIFY-PUBSET-SPACE-DEFAULTS command. The value set can be determined with the SHOW-PUBSET-SPACE-DEFAULTS command (and also with SHOW-PUBSET-CONFIGURATION).

FILE-PREFORMAT = *K
The file is to be created as a K file (BLOCK-CONTROL-INFO=*PAMKEY).

FILE-PREFORMAT = *NK2
The file is to be created as an NK file in 2K format (BLOCK-CONTROL-INFO= *WITHIN-DATA-2K-BLOCK or *WITHIN-DATA-BLOCK for a SAM file).

FILE-PREFORMAT = *NK4
The file is to be created as an NK file in 4K format (BLOCK-CONTROL-INFO= *WITHIN-DATA-4K-BLOCK or *WITHIN-DATA-BLOCK for a SAM file).

VOLUME-SET = *STD / *CONTROL-VOLUME-SET / <cat-id 1..4>
The operand is evaluated only for files which do not yet occupy any storage space and for which storage space on an SM pubset is requested. Determines the volume set on which the file is to be stored. Systems support can use *CONTROL-VOLUME-SET or <cat-id 1..4> to specify a volume set explicitly.
Nonprivileged users cannot specify a volume set explicitly unless they have authorization to perform physical allocation of public storage space (see “Privileged functions” under “Function” in the CREATE-FILE command).

VOLUME-SET = *STD
The file is stored in a suitable volume set of the SM pubset.

VOLUME-SET = *CONTROL-VOLUME-SET
Subject to restrictions (see general operand description ). The file is stored in a control volume set of the SM pubset. S0-MIGRATION= *FORBIDDEN is set implicitly. If the volume set does not match the requested file attributes, the command is rejected.

VOLUME-SET = <cat-id 1..4>
Subject to restrictions (see general operand description ). The file is stored in the specified volume set of the SM pubset. S0-MIGRATION= *FORBIDDEN is set implicitly. If the volume set does not match the requested file attributes, the command is rejected.

VOLUME = *UNCHANGED / list-poss(255): <vsn 1..6>
Volume serial numbers of additional public disks or of a Net-Storage volume which may be used for storage space extension.

VOLUME = list-poss(255): <vsn 1..6>
Systems support can specify volume serial numbers explicitly.
Nonprivileged users can specify a VSN for a Net-Storage volume explicitly. Nonprivileged users can specify VSNs explicitly for a public disk only if they have authorization to perform physical allocation of public storage space (see section "Privileged functions"). VSNs can only be specified for public disks of the pubset whose pubset ID matches the catalog ID of the file name. If the specified disk is part of the volume set of an SM pubset, S0-MIGRATION and MIGRATE=*FORBIDDEN are set implicitly.
In the case of files on Net-Storage the specified Net-Storage volume must be assigned to the catalog ID of the file name.
If the file is only cataloged and stored on a specific Net-Storage volume without a default name, the VSN must be specified. Otherwise, the file is stored in the default Net-Storage volume or, if this does not exist, the system selects a Net-Storage volume.

DEVICE-TYPE = *UNCHANGED / <device>
Type of device to which the required public disks or Net-Storage volumes are assigned. Only device types known within the system are accepted. In interactive mode, the possible device types are displayed with DEVICE-TYPE=?.
The volume type NETSTOR must be specified for Net-Storage volumes.
If at least one volume ID is specified with VOLUME, each specification of a disk device type which is known to the system is handled like the STDDISK specification.
Systems support can specify device types explicitly.
When files are created on public volumes, nonprivileged users cannot specify a device type explicitly unless they have authorization to perform physical allocation (see section "Privileged functions").

S0-MIGRATION = *UNCHANGED / *ALLOWED / *FORBIDDEN
The specification is relevant only for a file on an SM pubset. Governs whether the file may be relocated to a different volume set within the SM pubset (storage level S0). Migration can be initiated either explicitly using the HSMS subsystem or implicitly by the system.

S0-MIGRATION = *UNCHANGED
The previous value is left unchanged if the file already occupies storage space. With physical space allocation (explicit specification of a volume set or volume or absolute allocation), S0-MIGRATION=*FORBIDDEN is set for a file not yet occupying storage space. Without physical allocation, S0-MIGRATION= *ALLOWED is set.

S0-MIGRATION = *ALLOWED
Migration of the file within the SM pubset is allowed.

S0-MIGRATION = *FORBIDDEN
Nonprivileged users cannot select this value unless they are authorized to perform physical allocation of public space (see “Privileged functions” under “Function” in the CREATE-FILE command). Migration of the file within the SM pubset is not allowed. The S0 migration lock affects the allocation of PERFORMANCE and AVAILABILITY attributes to files (see section "Physical allocation in SM pubsets").

SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)
Influences the storage space allocation for the file.

SPACE = *RELATIVE(...)
Here, the user can request additional storage space for the file (as a relative allocation). Note that the storage space ceiling defined for the user in the user entry may be exceeded only if the user is authorized to do so (PUBLIC-SPACE-EXCESS=*YES, see the SHOW-USER-ATTRIBUTES command).

PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>
The number of PAM pages by which the file should immediately be increased.
The user should note that, in procedures, etc. every call of the MODIFY-FILE-ATTRIBUTES command which has a positive value for the primary allocation will reserve storage space for the file. If the primary allocation is large, this will quickly exhaust the storage space assigned to the user. Since the disk selection mechanism is executed each time, a suitable primary allocation can be used to cause a disk swap when creating large files and only a few segments are free on individual disk. This then avoids excessive fragmentation of the file.

When storage space is actually allocated, the specified number of PAM pages is rounded up to a multiple of k if required. At this k is the number of PAM pages in the smallest allocation unit in each case. 

Pubset/volume set format

Smallest allocation unit in Kbytes

Rounding factor k

K pubset/volume set

6

3

NK2(6K) pubset/volume set

6

3

NK2(8K) pubset/volume set

8

4

NK2(64K) pubset/volume set

64

32

NK4(8K) pubset/volume set

8

4

NK4(64K) pubset/volume set

64

32

Table 55: Smallest allocation unit based on pubset/volume set format

The pubset/volume set format and the smallest allocation unit can also be determined by the user from the output of the SHOW-MASTER-CATALOG-ENTRY command.

SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>
The number of PAM pages for later file extensions.
The number of PAM pages specified here is not immediately reserved. Only if the number of pages initially reserved (primary allocation) is no longer sufficient will the system automatically increase the storage space allocated to the file by the number of PAM pages specified in SECONDARY-ALLOCATION (output field S-ALLOC of the SHOW-FILE-ATTRIBUTES command). The value for secondary allocation is doubled after each successful extension. It is no longer doubled when the maximum value set in the system has been reached. When storage space is actually allocated, the specified number of PAM pages is rounded up to a multiple of k if required. The rounding factor k is dependent on the pubset/volume set format, i.e. on the formatting of the associated disks (see the PRIMARY-ALLOCATION operand). Specifying SECONDARY-ALLOCATION=0 will prevent dynamic extension of the file.

SPACE = *ABSOLUTE(...)
Systems support staff can allocate storage space explicitly. Absolute allocation is allowed only if a disk is specified in the VOLUME operand.
Nonprivileged users are allowed to use an absolute allocation only if they have authorization to perform physical allocation of public storage space (see “Privileged functions” under “Function” in the CREATE-FILE command).

When requesting additional storage space (as an absolute allocation), please note: An absolute allocation will only be made if it is possible to reserve the whole of the specified number of PAM pages (SIZE) on one disk. If this is not the case, the command is rejected. If more than one disk was specified in the VOLUME operand, then only the first of the named disks will be used. If no secondary allocation has been defined for the file, the SECONDARY-ALLOCATION field in the catalog entry will have the value zero, i.e. if the number of PAM pages specified in SIZE proves insufficient at a later point, there will be no automatic extension of the storage space.

FIRST-PAGE = <integer 1..2147483647>
Number of the first physical block of the file on the first specified disk. The value specified here must be a multiple of the smallest allocation unit k plus 1 (see SPACE=*RELATIVE).

SIZE = <integer 1..2147483647>
Number of PAM pages required. This value must be a multiple of the smallest allocation unit k (see SPACE=*RELATIVE).

SPACE = *RELEASE(...)
Here, the user can release storage space which has been reserved but not used. The request to release memory space is ignored if SPACE-RELEASE-LOCK=*YES has been defined for the file.

NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE
The maximum number of PAM pages which are to be released. *ALL-RELEASABLE means that the maximum possible number of PAM pages will be released.
The release of storage space will start at the end of the file and work toward its beginning, in units of k PAM pages, going no further than the PAM page which follows the last occupied one. If DESTROY=YES is recorded in the catalog for the file, then up to the specified number of PAM pages (but not more than the number of unused PAM pages) will be overwritten with binary zeros.

KEEP-MIN-ALLOCATION = *NO / *YES
Specifies whether at least one allocation unit is to be retained for the file when storage space is released.

MANAGEMENT-CLASS = *UNCHANGED / *NONE / <composed-name 1..8>
Specifies whether the HSMS backup, archiving and long-term archiving functions are controlled by a management class defined using HSMS. See “HSMS, Volume 1” manual [18] for further details. Management class allocations are rejected for files in SF pubsets.

MANAGEMENT-CLASS = *NONE
The file attributes set with the SAVE and MIGRATE operands are evaluated for file backup and migration.

MANAGEMENT-CLASS = <composed-name 1..8>
This specification is permitted only for files on SM pubsets. Name of the management class defined using HSMS. The specified management class must exist, and the file owner must have access authorization.

USER-INFORMATION = *UNCHANGED / *NONE / <c-string 1..8 with-low>
Specifies whether user information is to be added to the catalog entry. This information is not evaluated by the system. Its content and meaning are defined solely by the user. This specification is ignored for files on private disks. If *NONE is specified, any existing user information is deleted.

ADM-INFORMATION = *UNCHANGED / *NONE / <c-string 1..8 with-low>
This operand is available only to privileged users (TSOS privilege). Specifies whether a text is to be added to the catalog entry as information for systems support. This information is not evaluated by the system. Its content and meaning are defined solely by systems support. This specification is ignored for files on private disks. If *NONE is specified, any existing user information is deleted.

SUPPORT = *PRIVATE-DISK(...)
The file is held on private disk.

VOLUME = *UNCHANGED / *ANY(...) / list-poss(255): <alphanum-name 1..6>
The VSNs of the required disks (additional disks can be requested here; the operand is only effective if additional storage space is requested).

VOLUME = *ANY(...)
Any private disks may be mounted (no particular VSNs are required).

NUMBER-OF-DEVICES = 1 / <integer 1..9>
Number of disks required.

DEVICE-TYPE = *UNCHANGED / <device>
The device type to which the required private disks are assigned. Only device types known within the system are accepted. In interactive mode, the possible device types are displayed with DEVICE-TYPE=?. The permissible specifications for DEVICE-TYPE can also be found in the device table in section "Device type table" (device type column). The devices available on the system can be listed with the SHOW-DEVICE-CONFIGURATION command.
If at least one volume ID is specified with VOLUME, each specification of a disk device type which is known to the system is handled like the STDDISK specification.

SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)
Type of storage space allocation.

SPACE = *UNCHANGED
The previous specification for this operand will continue to apply.

SPACE = *RELATIVE(...)
Here, the user can request additional storage space for the file (as a relative allocation).

PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>
The number of PAM pages by which the file is to be immediately extended (if additional disks are requested, the allocation is made at that point).

The user should note that, in procedures etc., every call of the MODIFY-FILE-ATTRIBUTES command which has a positive value for the primary allocation will reserve storage space for the file. If the primary allocation is large, this will quickly exhaust the storage space assigned to the user. Since the disk selection mechanism is executed each time, a suitable primary allocation can be used to cause a disk swap when creating large files and only a few segments are free on individual disk. This then avoids excessive fragmentation of the file.

SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>
The number of PAM pages for later file extensions.
The number of PAM pages specified here is not immediately reserved. Only if the number of pages initially reserved (primary allocation) is no longer sufficient will the system automatically increase the storage space allocated to the file by the number of PAM pages specified in SECONDARY-ALLOCATION (S-ALLOC output field of the SHOW-FILE-ATTRIBUTES command). The value for secondary allocation is doubled after each successful extension. It is no longer doubled when the maximum value set in the system has been reached. If required, the defined number of PAM pages is rounded up to a multiple of 3 when allocating space.
Specifying SECONDARY-ALLOCATION=0 will prevent dynamic extension of the file.

SPACE = *ABSOLUTE(...)
Here, the user can request additional storage space (as an absolute allocation). When doing so, the following should be noted: An absolute allocation will only be made if it is possible to reserve the whole of the specified number of PAM pages (SIZE) on one single disk. If more than one disk was specified in the VOLUME operand, then only the first of the named disks will be used.

FIRST-PAGE = <integer 1..2147483647>
The number of the first physical block of the file on the first specified disk (the specified number must be 1 more than a multiple of 3, i.e. 1 / 4 / 7 / 10, etc.).

SIZE = <integer 1..2147483647>
The number of PAM pages required (this must be a multiple of 3).

SPACE = *RELEASE(...)
Here, the user can release storage space which has been reserved but not used. If this operand is specified, any VOLUME operand value will be ignored.

NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE
The maximum number of PAM pages which are to be released. *ALL-RELEASABLE means that the maximum possible number of PAM pages will be released.
The release of storage space will start at the end of the file and work towards its beginning, in units of three PAM pages, going no further than the PAM page which follows the last occupied one. If DESTROY=*YES is recorded in the catalog for the file, then up to the specified number of PAM pages (but not more than the number of unused PAM pages) will be overwritten with binary zeros. All the private disks which hold any part of the file must be mounted.

VOLUME-ALLOCATION = *IMMEDIATE / *DELAYED
Specifies when the required private disk is to be mounted.

VOLUME-ALLOCATION = *IMMEDIATE
The required private disk is to be mounted immediately.

VOLUME-ALLOCATION = *DELAYED
The required private disk is to be mounted when the file is opened.

DATA-SUPPORT = *UNCHANGED / *PARAMETERS(...)
Only allowed for ISAM files: where the data section is stored.
This operand is only meaningful if it is required to change the storage location for the data section of an ISAM file whose data and index blocks are held on separate disks. For such files, the details specified in the VOLUME and SPACE operands refer only to the index section.

DATA-SUPPORT = *PARAMETERS(...)

DATA-DEVICE-TYPE = *UNCHANGED / <device>
The type of device to which the required disks are allocated. Only device types known within the system are accepted.
In interactive mode, DATA-DEVICE-TYPE=? calls up a list of the available device types. The permissible specifications for DEVICE-TYPE can also be found in the device table in section "Device type table" (device type column). If at least one volume ID is specified with DATA- VOLUME, each specification of a disk device type which is known to the system is handled like the STDDISK specification.

DATA-VOLUME = *UNCHANGED / list-poss(255): <alphanum-name 1..6>
The VSNs of the required disks (additional disks can be requested here; the operand is only effective if additional storage space is requested).

DATA-SPACE = *RELATIVE(...) / *ABSOLUTE(...)
Type of storage space allocation.

DATA-SPACE = *RELATIVE(...)
Here, the user can request additional storage space for the data section of the ISAM file (as a relative allocation).

PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>
The number of PAM pages by which the file is to be immediately extended. If additional disks are requested, the allocation is made at that point.

SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>
The number of PAM pages for later file extensions. The number of PAM pages specified here is not immediately reserved. Only if the number of pages initially reserved (primary allocation) is no longer sufficient will the system automatically increase the storage space allocated to the data section of the ISAM file by the number of PAM pages specified in the S-ALLOC (output field). This allocation is made dynamically, i.e. each time that additional storage space is required. If it is not already a multiple of 3, the extra space requested will be rounded to one.

DATA-SPACE = *ABSOLUTE(...)
Here, the user can request additional storage space (as an absolute allocation). When doing so, the following should be noted: An absolute allocation will only be made if it is possible to reserve the whole of the specified number of PAM pages (SIZE) on one single disk. If more than one disk was specified in the DATA-VOLUME operand, then only the first of the named disks will be used.

FIRST-PAGE = <integer 1..2147483647>
The number of the first physical block of the file on the first specified disk (the specified number must be 1 more than a multiple of 3, i.e. 1 / 4/ 7 / 10, etc.).

SIZE = <integer 1..2147483647>
The number of PAM pages required (this must be a multiple of 3).

SUPPORT = *ANY-DISK(...)
The file may be held on public or private disks. A detailed description can be found with the corresponding operands under SUPPORT=PUBLIC-DISK(...) or SUPPORT=PRIVATE-DISK(...).

VOLUME = *UNCHANGED / list-poss(255): <vsn 1..6>
VSNs of additional disks to be used for storage space extension.

DEVICE-TYPE = *UNCHANGED / <device>
Type of device to which the specified disks are assigned. Only device types known within the system are accepted. In interactive mode, the possible device types are displayed with DEVICE-TYPE=?. If at least one volume ID is specified with VOLUME, each specification of a disk device type which is known to the system is handled like the STDDISK specification.

SPACE = *UNCHANGED / *RELATIVE(...) / *ABSOLUTE(...) / *RELEASE(...)
Type of storage space allocation.

SPACE = *RELATIVE(...)
Reserves additional storage space for the file (a relative allocation).

PRIMARY-ALLOCATION = 0 / <integer 0..2147483647>
The number of PAM pages by which the file is to be immediately extended.

SECONDARY-ALLOCATION = *UNCHANGED / <integer 0..32767>
The number of PAM pages for later file extensions.

SPACE = *ABSOLUTE(...)
Here, the user can request additional storage space (as an absolute allocation).

FIRST-PAGE = <integer 1..2147483647>
Number of the first physical block of the file on the first specified disk.

SIZE = <integer 1..2147483647>
Number of PAM pages required.

SPACE = *RELEASE(...)
Here, the user can release storage space which has been reserved but not used.

NUMBER-OF-PAGES = <integer 1..2147483647> / *ALL-RELEASABLE
The maximum number of PAM pages which are to be released. *ALL-RELEASABLE means that the maximum possible number of PAM pages will be released.
The release of storage space will start at the end of the file and work towards its beginning, in units of three PAM pages, going no further than the PAM page which follows the last occupied one. With files on private volumes, at least one allocation unit will be reserved for the file. If DESTROY=*YES is recorded in the catalog for the file, then up to the specified number of PAM pages (but not more than the number of unused PAM pages) will be overwritten with binary zeros. If the file is held on private disks, they must be mounted.

SUPPORT = *TAPE(...)
The file is stored on tape. This operand can only be meaningfully specified if additional tapes are to be requested.

VOLUME = *NO / *ANY(...) / *REMOVE-UNUSED / list-poss(255): <alphanum-name 1..6>
The VSNs of the required tapes (additional tapes can be requested at this point). The volume list in the VOLUME operand represents an extension to the volume list in the catalog entry; the former must therefore not contain any VSNs which are already recorded in the catalog entry.

VOLUME = *NO
No extra tapes are to be added to the volume list in the catalog entry.

VOLUME = *ANY(...)
Any tapes may be provided and added to the volume list in the catalog entry (no particular VSN required).

NUMBER-OF-DEVICES = 1 / <integer 1..9>
The number of tapes which is required.

VOLUME = *REMOVE-UNUSED
Any tapes on which none of the file’s data is located are to be removed from the volume list in the catalog entry.

DEVICE-TYPE = *UNCHANGED / <device>
Device type for the required tapes. Only device types or volume types known within the system are accepted. In interactive mode, the possible device and volume types are displayed with DEVICE-TYPE=?.

PREMOUNT-LIST = *NONE / list-poss(255): <integer 0..255>
Tape sequence number of the required tape.
Issues a MOUNT message on the console (operator) requesting the mounting of tapes or suppresses the request.

PREMOUNT-LIST = *NONE
The first volume containing the file will be requested.

PREMOUNT-LIST = list-poss(255): <integer 0..255>
Issues a MOUNT message on the console (operator) requesting the mounting of tapes or suppresses the request. The tape sequence numbers specified here refer to the VSNs recorded in the catalog entry, followed by those listed in the VOLUME operand. Specifying PREMOUNT-LIST=0 has the effect that no tapes will be requested. Otherwise, PREMOUNT-LIST=(n[,n+1][,n+2]...) applies with n=1

PROTECTION = *UNCHANGED / *PARAMETERS(...)
The protection attributes for the file.
The default value *UNCHANGED means in each case that the previous specification continues to apply.

With regard to temporary files, see also "Temporary files" section

PROTECTION = *PARAMETERS(...)
The file is to be given the specified protection attributes. When the file is accessed, the highest activated protection level applies. The following table shows the method used for access control, the protection attributes, and the job variable protection hierarchy (protection levels):


Access control

Protection attribute

Prot. level

Standard access control

ACCESS and USER-ACCESS

0

Basic access control list

BASIC-ACL

1

Access control via guards

PASSWORD

2

Table 56: Hierarchy of access control methods

All other protection attributes of the file (e.g. passwords) are evaluated independently, without regard to the implemented protection level.

If the file’s date of release for deletion has been reached (see the FREE-FOR-DELETION operand), the file owner can delete the file regardless of its access protection.

With temporary files, the only attributes that can be given values other than the default protection attributes specified in the table "Effects of PROTECTION-ATTR on the protection attributes"  are AUDIT, SPACE-RELEASE-LOCK, and DESTROY-BY-DELETE.

PROTECTION-ATTR = *UNCHANGED / *BY-DEF-PROT-OR-STD / *STD / *FROM-FILE(...)
Specifies whether the protection attributes with the values *BY-PROTECTION-ATTR or *BY-PROT-ATTR-OR-UNCH are to be copied.  

Protection attribute


PROTECTION-ATTR=

*UNCH

*FROM-FILE

*STD1)

*BY-DEF-PROT-OR-STD

Default protection not active1)

Default protection active

ACCESS

UNCHANGED

value from
reference file

WRITE

WRITE

values from
default protection

USER-ACCESS

UNCHANGED

OWNER-ONLY

OWNER-ONLY

BASIC-ACL

UNCHANGED

NONE

NONE

DESTROY-BY-DELETE

UNCHANGED

NO

NO

GUARDS

UNCHANGED

NONE

NONE

SPACE-RELEASE-LOCK

UNCHANGED

NO

NO

EXPIRATION-DATE2)

UNCHANGED

TODAY

TODAY

READ-PASSWORD

UNCHANGED

UNCHANGED

UNCHANGED

NONE

WRITE-PASSWORD

UNCHANGED

UNCHANGED

UNCHANGED

NONE

EXEC-PASSWORD

UNCHANGED

UNCHANGED

UNCHANGED

NONE

FREE-FOR-DELETION

UNCHANGED

UNCHANGED

UNCHANGED

NONE

AUDIT

UNCHANGED

UNCHANGED

UNCHANGED

UNCHANGED

UNCHANGED

1)

The system default values are entered.

2)

The protection terms is only entered for permanent files with a creation date or for file generation groups. If the reference file does not have a protected period, then *TODAY is entered.

Table 57: Effects of PROTECTION-ATTR on the protection attributes of the MODIFY commands

If a value other than *UNCHANGED is entered for this operand in the guided dialog of the EDIT-FILE-ATTRIBUTES command, only the protection attributes will be copied for which the default values was replaced with *BY-PROTECTION-ATTR or *BY-PROT-ATTR-OR-UNCH. 

PROTECTION-ATTR = *UNCHANGED
The values of protection attributes with *BY-PROTECTION-ATTR or *BY-PROT-ATTR-OR-UNCH remain unchanged.

PROTECTION-ATTR = *BY-DEF-PROT-OR-STD
Operands with *BY-PROTECTION-ATTR or *BY-PROT-ATTR-OR-UNCH are supplied with the default protection values. If default protection has not been activated, the system standard values apply.


Note

A modification made with the SPACE, VOLUME or DEVICE-TYPE operand is executed immediately after the protection attributes are entered. Exception: When renaming at the same time, a modification made with SPACE, VOLUME or DEVICE-TYPE is performed before the protection attributes are entered.

PROTECTION-ATTR = *STD
Operands for which the default value *BY-PROTECTION-ATTR is specified (either explicitly or implicitly) are assigned default protection attributes.
Operands with the value *BY-PROT-ATTR-OR-UNCH remain unchanged.

PROTECTION-ATTR = *FROM-FILE(...)
Operands for which *BY-PROTECTION-ATTR is specified are assigned the operand value which they are assigned in the reference file named next. If the reference file has no EXPIRATION-DATE, but the original file has a creation date, then EXPIRATION-DATE=*TODAY is entered. Operands with the value *BY-PROT-ATTR-OR-UNCH remain unchanged.

If the protection attributes are to be copied for a temporary file, either the operands ACCESS=*WRITE, USER-ACCESS=*OWNER-ONLY, BASIC-ACL=*NONE and GUARDS=*NONE must be specified explicitly or the specified file must have been cataloged with these attributes. ACCESS and USER-ACCESS can have any value in the case of temporary tape files.

FILE-NAME = <filename 1..54 without-gen>
The name of the reference file.

   
Note

A modification made with the SPACE, VOLUME or DEVICE-TYPE operands is only executed after the protection status requested with *FROM-FILE has been established. The modification may be rejected by the new protection status. In this case the command is only partially executed or canceled (with a return code).

ACCESS = *BY-PROTECTION-ATTR / *UNCHANGED / *WRITE / *READ
The ACCESS operand enables a file to be protected against overwriting; it specifies whether write access to the file is permitted (implicitly allowing read access) or only read access. This protection attribute is used by the standard access control procedure, and will only be evaluated if no higher-level access protection is active (see table "Hierarchy of access control methods").

Tape files: 

When the file is first opened, DMS copies the ACCESS type identifier into the HDR3 label. During subsequent accesses to the file, the file owner can bypass the checks on access type by using the command ADD-FILE-LINK... PROTECTION-LEVEL=*LOW. 

ACCESS = *BY-PROTECTION-ATTR 
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained. If PROTECTION-ATTR is set to *STD, ACCESS defaults to *WRITE.

ACCESS = *UNCHANGED
The ACCESS value recorded in the catalog entry is not to be changed.

ACCESS = *WRITE
All types of access to the file are permitted.

Tape files:

HDR3 label: access type indicator = 0

ACCESS = *READ 
The file may only be accessed to read it. 

Temporary files 

Write access cannot be prevented, ACCESS=*READ will be rejected.

Tape files:

HDR3 label: access type indicator = 1

USER-ACCESS = *BY-PROTECTION-ATTR / *UNCHANGED / *OWNER-ONLY / *ALL-USERS / *SPE-CIAL
Specifies whether the file may be processed under user IDs other than the file owner’s ID. The type of access permitted in this case is defined by the other protection attributes (see the operands ACCESS, WRITE-PASSWORD, etc.).
This protection attribute is part of the standard access control mechanism. It is evaluated for users without HARDWARE-MAINTENANCE privileges only if no higher access protection is defined for the file (see table "Hierarchy of access control methods").

Tape files:

When the file is first opened, DMS copies the USER-ACCESS indicator into the HDR1 label (access type indicator = 1). 
The file may be accessed by any user ID, i.e. the file is shareable.

USER-ACCESS = *BY-PROTECTION-ATTR 
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained.

USER-ACCESS = *OWNER-ONLY
The file is not shareable. It may only be accessed under its owner’s ID, but this may be under any catalog identifier under which a user with the same name is recorded (i.e. not only under the catalog ID under which the file was created).

USER-ACCESS = *ALL-USERS
The file may be accessed under IDs other than the user’s. The file may be accessed by any user ID, i.e. such files are shareable.

Temporary files 

USER-ACCESS=ALL-USERS is not permitted.

Tape files:

 HDR1 label: access indicator = (X'40') 'BLANK'

USER-ACCESS = *SPECIAL
File access is allowed for maintenance IDs (i.e. user IDs with HARDWARE-MAINTENANCE privileges). USER-ACCESS= *ALL-USERS applies implicitly.

BASIC-ACL = *BY-PROTECTION-ATTR / *UNCHANGED / *NONE / *PREVIOUS / *STD / 
*PARAMETERS(...) / *OWNER-RX / *OWNER-WRX / *OWNER-ONLY / *GROUP-X / *GROUP-RX /
*GROUP-WRX / *EXCEPT-OTHERS / *OTHERS-X / *OTHERS-RX / *OTHERS-WRX / *ALL-X /
*ALL-RX / *ALL-WRX

Specifies whether a BASIC-ACL entry is to be created, changed, or deleted for the file. A BASIC-ACL entry will only be evaluated if no higher protection level has been activated for the file (see also table "Hierarchy of access control methods"). Temporary files and tape files cannot be protected with BASIC-ACL. The following operand values correspond to common BASIC-ACL settings: 

Operand value

BASIC-ACL protection

OWNER

GROUP

OTHERS

R

W

X

R

W

X

R

W

X

*STD

Y

Y

Y

N

N

N

N

N

N

*OWNER-RX

Y

N

Y

U

N

U

U

N

U

*OWNER-WRX

Y

Y

Y

U

U

U

U

U

U

*OWNER-ONLY

U

U

U

N

N

N

N

N

N

*GROUP-X

U

U

Y

N

N

Y

N

N

U

*GROUP-RX

Y

U

Y

Y

U

Y

U

N

U

*GROUP-WRX

Y

Y

Y

Y

Y

Y

U

U

U

*EXCEPT-OTHERS

U

U

U

U

U

U

N

N

N

*OTHERS-X

U

U

Y

N

N

Y

N

N

Y

*OTHERS-RX

Y

U

Y

Y

N

Y

Y

N

Y

*OTHERS-WRX

Y

Y

Y

Y

Y

Y

Y

Y

Y

*ALL-X

U

U

Y

N

N

Y

N

N

Y

*ALL-RX

Y

U

Y

Y

N

Y

Y

N

Y

*ALL-WRX

Y

Y

Y

Y

Y

Y

Y

Y

Y

Table 58: Operand values for common BASIC-ACL settings

Y:

access granted     

N:

access denied   

U:

access unchanged

On initial activation of BASIC-ACL, U is treated as if it were N! That is why it is usually best to activate it with BASIC-ACL=*PREVIOUS.

BASIC-ACL = *BY-PROTECTION-ATTR 
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained. If PROTECTION-ATTR is set to *STD, BASIC-ACL defaults to *NONE.

BASIC-ACL = *UNCHANGED
The previous setting is to remain unchanged.

BASIC-ACL = *NONE
Any existing BASIC-ACL entry for the file will be deleted. Access control will then be in accordance with the values of USER-ACCESS and ACCESS (standard access control), provided no higher protection level has been activated.

BASIC-ACL = *PREVIOUS
A BASIC-ACL entry will be created for the file if there is not already one. In doing this, the values for USER-ACCESS and ACCESS will be converted to a BASIC-ACL according to the following table:

Standard access control

BASIC-ACL protection

USER-ACCESS

ACCESS

OWNER

GROUP

OTHERS

R

W

X


W

X

R

W

X

OWNER-ONLY

WRITE

Y

Y

Y

N

N

N

N

N

N

OWNER-ONLY

READ

Y

N

Y

N

N

N

N

N

N

ALL-USERS

WRITE

Y

Y

Y

Y

Y

Y

Y

Y

Y

ALL-USERS

READ

Y

N

Y

Y

N

Y

Y

N

Y

SPECIAL

WRITE

Y

Y

Y

Y

Y

Y

Y

Y

Y

SPECIAL

READ

Y

N

Y

Y

N

Y

Y

N

Y

Table 59: Standard access control/BASIC-ACL

If a BASIC-ACL entry already exists, all the values it contains will be unchanged.

BASIC-ACL = *PARAMETERS(...)
A BASIC-ACL entry will not be generated for a file which was previously not protected by BASIC-ACL unless a value other than *UNCHANGED is specified for at least one of the OWNER, GROUP and OTHERS operands. Authorization to make read, write and execute accesses must be explicitly granted or denied for each user ID which has any rights. Those with access rights are:

    • OWNER, i.e. the user ID of the file owner, any co-owners and systems support.
    • GROUP, i.e. all user IDs which are in the same group as the file owner (i.e. not the owner and not systems support). Definition of user groups is possible only when the software product SECOS is used. To allow for possible later installation of the software product SECOS, GROUP should be given the same access rights as for OTHERS.
    • OTHERS, i.e. all user IDs which belong to a different group from the file owner (i.e. not the owner and not systems support).

If the value *UNCHANGED is specified for any of the operands OWNER, GROUP, OTHERS, READ, WRITE and EXEC when a BASIC-ACL entry is created, the associated access permissions will be set to “no access” (equivalent to *NO-ACCESS or *NO). An ungranted access permission is indicated by “-”.

OWNER = *UNCHANGED / *NO-ACCESS / *PARAMETERS(...)
Specifies which access rights are to be set for the owner. When BASIC-ACL is first activated, *UNCHANGED is treated like *NO-ACCESS.

OWNER = *PARAMETERS(...)
The owner’s access rights are entered as specified:

READ = *UNCHANGED / *NO / *YES
Specifies whether read authorization is set.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

WRITE = *UNCHANGED / *NO / *YES
Specifies whether write authorization is specified.
Write permission does not imply read permission.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

EXEC = *UNCHANGED / *NO / *YES
Indicates whether read access is permitted or not.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

GROUP = *UNCHANGED / *NO-ACCESS / *PARAMETERS(...)
Specifies which access rights are to be set for all user IDs from the group of the owner. When BASIC-ACL is first activated, *UNCHANGED is treated like *NO-ACCESS.

GROUP = *PARAMETERS(...)
The access rights are to be set for the group as specified:

READ = *UNCHANGED / *NO / *YES
Specifies whether read authorization is set.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

WRITE = *UNCHANGED / *NO / *YES
Specifies whether write authorization is specified.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

EXEC = *UNCHANGED / *NO / *YES
Indicates whether read access is permitted or not.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

OTHERS = *UNCHANGED / *NO-ACCESS / *PARAMETERS(...)
Specifies what access rights are to be given to all other user IDs. To allow for possible later installation of the software product SECOS, GROUP should be given the same access rights as for OTHERS. When BASIC-ACL is first activated, *UNCHANGED is treated like *NO-ACCESS.

OTHERS = *PARAMETERS(...)
The access rights for other users will be set as specified:

READ = *UNCHANGED / *NO / *YES
Specifies whether read authorization is set.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

WRITE = *UNCHANGED / *NO / *YES
Specifies whether write authorization is specified.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

EXEC = *UNCHANGED / *NO / *YES
Indicates whether read access is permitted or not.
When BASIC-ACL is first activated, *UNCHANGED is treated like *NO.

GUARDS = *BY-PROTECTION-ATTR / *UNCHANGED / *NONE / *PARAMETERS(...)
Specifies whether access control using GUARDS is to be activated or modified. Temporary files and files on private volume (tape and disk) cannot be protected with GUARDS.

GUARDS = *BY-PROTECTION-ATTR
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained. If PROTECTION-ATTR is set to *STD, GUARDS defaults to *NONE.

GUARDS = *NONE
Access to the JV is not (is no longer) to be controlled via GUARDS.

GUARDS = *PARAMETERS(...)
Any existing access control via GUARDS for the JV is to be modified as specified. If the file in question was not protected by GUARDS, access control with GUARDS will be activated for it, provided at least one of the operands READ, WRITE or EXEC has an operand value other than *UNCHANGED.
Access to the file is controlled via a guard, i.e. a specific object identifying all the conditions subject to which access will be granted: such as date, time and user ID. The GUARDS function unit of the chargeable software product SECOS (see the “SECOS” manual [35]) must be installed in order to create and maintain a guard. Each guard is uniquely identified by its name. The guard name resembles a file name: it can contain a user ID and consists of a name part which is up to 8 characters in length. If no user ID is specified explicitly, the user’s own ID is added implicitly. Each access mode can be controlled by a separate guard. If no guard is assigned for an access mode (*NONE), access control will refuse any corresponding access (e.g. WRITE=*NONE prevents all write access). Specifying GUARDS=*PARAMETERS defines access control using GUARDS, with the default value *NONE for all access modes, which means that the file cannot be read, updated or executed.
The GUARDS subsystem is not required in order to define access control via GUARDS. The appropriate checks by GUARDS are not performed until the time file access takes place: If a guard has been defined but is not available, all access of the type controlled by that guard is prohibited. No access at all is possible if the GUARDS subsystem is not available at the time of access.

READ = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>
Name of a guard controlling read access (up to 8 characters if no user ID is specified). The default setting is *NONE, i.e. no read access is allowed.

WRITE = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>
Name of a guard controlling write access (up to 8 characters if no user ID is specified). The default setting is *NONE, i.e. no write access is allowed.

EXEC = *UNCHANGED / *NONE / <filename 1..18 without-cat-gen-vers>
Name of a guard for execute protection (up to 8 characters when no user ID is specified). The default setting is *NONE, i.e. the file cannot be executed.

WRITE-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET

Write or read password for the JV to be modified. The defined password must be specified in the ADD-PASSWORD command in order to enable write access to the file or to modify or delete a defined password.
The WRITE-PASSWORD operand has the following special characteristics:

    • The password entered is not logged.
    • The input field is automatically blanked out in the guided dialog.
    • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password. 

Temporary files:

cannot be password-protected

Tape files:

the password protection is noted in the HDR3 label

WRITE-PASSWORD = *BY-PROT-ATTR-OR-UNCH
The write password is defined through the value of the PROTECTION-ATTR operand. If PROTECTION-ATTR=*BY-DEF-PROT-OR-STD is set, the values supplied by default protection or - if default protection is not activated - *NONE is entered. Otherwise, the write password remains unchanged.

WRITE-PASSWORD = *NONE
Any existing write protection password will be deleted.

WRITE-PASSWORD = <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647>
Defines a password that is required for write accesses.

READ-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET
For encrypted files all values specified are handled like *UNCHANGED.
Password for protection against unauthorized reading. The defined password must be specified in the ADD-PASSWORD command in order to enable read access to the file or to modify or delete a defined password.
The READ-PASSWORD operand has the following special characteristics:

    • The password entered is not logged.
    • The input field is automatically blanked out in the guided dialog.

    • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password. 

Temporary files:

cannot be password-protected

Tape files:

the password protection is noted in the HDR3 label

READ-PASSWORD = *BY-PROT-ATTR-OR-UNCH 
The read password is defined through the value of the ROTECTION-ATTR operand. If PROTECTION-ATTR=*BY-DEF-PROT-OR-STD is set, the values supplied by default protection or - if default protection is not activated - *NONE is entered. Otherwise, the read password remains unchanged.

READ-PASSWORD = *NONE
Any existing read protection password will be deleted.

READ-PASSWORD = <c-string 1..4> / x-string 1..8> / <integer -2147483648..2147483647>
Defines a password which protects against unauthorized read accesses to the file. This protection against unauthorized read accesses also provides protection against unauthorized write accesses; however, it does not protect against the unauthorized execution of an object or load module stored in the file, or a command sequence. In the case of an object or load module, both the file itself and the phase held in main memory are protected against unauthorized read accesses (the LOAD-PROGRAM command and the AID commands %DISPLAY and %IN will be rejected if access is not authorized). A source program which is protected by a read password cannot be compiled.

EXEC-PASSWORD = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET
For encrypted files all values specified are handled like *UNCHANGED.
The password used to protect against unauthorized execution of the file. This type of password is specified for procedures and load modules. The specified password must be entered into the job-specific password table by using the ADD-PASSWORD command before the procedure or program can be run or a defined password can be changed or deleted.
The operand has the following special characteristics:

    • The password entered is not logged.
    • The input field is automatically blanked out in the guided dialog.
    • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password. 

Temporary files:

cannot be password-protected

Tape files:

the password protection is noted in the HDR3 label

EXEC-PASSWORD = *BY-PROT-ATTR-OR-UNCH 
The execution password is defined through the value of the ROTECTION-ATTR operand. If PROTECTION-ATTR=*BY-DEF-PROT-OR-STD is set, the values supplied by default protection or - if default protection is not activated - *NONE is entered. Otherwise, the execution password remains unchanged.

EXEC-PASSWORD = *NONE
Any existing execute protection password will be deleted.

EXEC-PASSWORD = <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647>
Defines a password which is required to call a program/procedure file.

DESTROY-BY-DELETE = *BY-PROTECTION-ATTR / *UNCHANGED / *NO / *YES
To increase the level of protection of data, the user can specify in the catalog entry that any data no longer required is overwritten by X’00’ (binary zero). For disk files, the specification DESTROY-BY-DELETE takes effect when deletions are carried out or storage space is released; for tape files, any data remaining on the tape when EOF or EOV processing is carried out will be overwritten (see also the ADD-FILE-LINK command, DESTROY-OLD-CONTENTS operand).

DESTROY-BY-DELETE = *BY-PROTECTION-ATTR
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained. If PROTECTION-ATTR is set to *STD, DESTROY-BY-DELETE defaults to *NO.

DESTROY-BY-DELETE = *UNCHANGED
The value set previously will be retained.

DESTROY-BY-DELETE = *NO
If this operand is set to NO, the action specified in the DELETE-FILE command (OPTION operand) will be carried out.

Disk files: 

the storage space released will be left unchanged if the operand OPTION=DESTROY-ALL is not specified in the DELETE-FILE command

Tape files:

Any data which follows on the tape will not be overwritten if DESTROY-OLD-CONTENTS=*YES is not specified in the ADD-FILE-LINK command for the current processing run.

DESTROY-BY-DELETE = *YES
When the file is deleted, its storage space will be overwritten with binary zeros. When storage space is released, the specified number of reserved PAM pages will be overwritten with binary zeros, unless they are occupied by data. 

Disk files: 

when the storage space is released or deleted, it will be automatically overwritten with binary zeros (X'00').

Tape files:

the tape content after the end of the file will be overwritten with binary zeros; it is not necessary to explicitly set the ADD-FILE-LINK command to delete residual data for the current processing run (DESTROY-OLD-CONTENTS operand).

Please also observe the notes in the section “Data protection by data destruction” in the “Introductory Guide to DMS” [13].

AUDIT = *UNCHANGED / *NONE / *SUCCESS / *FAILURE / *ALL
This operand specifies whether accesses to the file are to be monitored. This monitoring may also be made dependent on the result of the access (see the operand values). Systems support staff (TSOS privilege) can use this function unrestrictedly. Nonprivileged users require the appropriate authorization in the user entry of the pubset in which the file is to be created (see the FILE-AUDIT output field of the SHOW-USER-ATTRIBUTES command). Without this authorization the command will be rejected if auditing is requested.

It is possible to monitor the following DMS actions:

    • the creation, amendment (protection attributes), reading and deletion of a catalog entry

    • the opening and closing of files

    • the renaming, importing and exporting of files

The monitoring is performed by system exit routines or, if the software product SECOS is being used, by the SAT function unit.

In order to use system exit routines for monitoring, they must be activated (this is the responsibility of systems support, privilege TSOS). In order to use SAT for monitoring, SAT logging must have been started, and events for the FILE to be monitored must not be excluded from the logging procedure (this is the responsibility of the security officer, under the user ID SYSPRIV). The user cannot alter any explicit settings of SAT made by the security officer. The SAT log files can be analyzed by the SAT file administrator, under the user ID SYSAUDIT.

AUDIT = *NONE
No monitoring.

AUDIT = *SUCCESS
All successful DMS operations on the file will be monitored.

AUDIT = *FAILURE
All erroneous/unsuccessful DMS operations on the file will be monitored.

AUDIT = *ALL
All DMS operations on the file will be monitored.

SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR / *UNCHANGED / *NO / *YES
Specifies whether the specification to release unused memory space in the MODIFY-FILE-ATTRIBUTES command (SPACE=RELEASE operand) is to be ignored. The existence of a space release lock can be determined by the user from the output field SP-REL-LOCK of the SHOW-FILE-ATTRIBUTES command.

SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained. If PROTECTION-ATTR is set to *STD, SPACE-RELEASE-LOCK defaults to *NO.

SPACE-RELEASE-LOCK = *NO
Removes an existing lock to prevent the release of unused storage space.

SPACE-RELEASE-LOCK = *YES
Sets an existing lock to prevent the release of unused storage space.

EXPIRATION-DATE = *BY-PROTECTION-ATTR / *UNCHANGED / *TODAY / *TOMORROW / <date> / <integer 0..99999>
Specifies a protected period, during which the file may be neither amended nor deleted; i.e. it can only be read (“read only”).
The MODIFY-FILE-ATTRIBUTES command can be run again specifying EXPIRATION-DATE in order to cancel or change the expiration date. Once the specified date has arrived, write access is allowed again, but the file is not automatically deleted.
A protected period can only be assigned if the file has already been opened and consequently has a CREATION-DATE.
If the end of the protected period is before the current date, the current date is entered.

Temporary files:

cannot be given an expiration date

Tape files:

maximum possible EXPIRATION-DATE is 2155-12-31

EXPIRATION-DATE = *BY-PROTECTION-ATTR 
The value defined for the file specified in the PROTECTION-ATTR operand is used. If PROTECTION-ATTR is set to *UNCHANGED, the value set previously is retained.

EXPIRATION-DATE = *UNCHANGED
The expiration date will remain unchanged.

EXPIRATION-DATE = *TODAY
The file can be updated or deleted immediately. Today’s date is added to the catalog entry as the EXPIRATION-DATE.

EXPIRATION-DATE = *TOMORROW
The file cannot be updated or deleted until the following day. The following day’s date is added to the catalog entry as the EXPIRATION-DATE.

EXPIRATION-DATE = <date with-compl>
The file can be updated or deleted starting on the specified date. The specified date is added to the catalog entry as the EXPIRATION-DATE. The date is specified in the form [yy]yy-mm-dd. 20 is automatically prefixed to two-digit year specifications < 60, 19 to two-digit year specifications >= 60.

EXPIRATION-DATE = <integer 0..99999 days >
The file can be updated or deleted after the specified number of days. The value must be specified in the form +n (days). The date calculated internally is added to the catalog entry as the EXPIRATION-DATE.
A retention period can only be specified for an existing file, i.e. the CRE-DATE and FILE-STRUC output fields must indicate a value other than NONE. 

FREE-FOR-DELETION = *BY-PROT-ATTR-OR-UNCH / *UNCHANGED / *NONE / <date> /
<integer 0..99999>
Specifies as of when the file can be deleted, regardless of its ACCESS, BASIC-ACL, GUARDS, EXPIRATION-DATE protection attributes and its password protection or when its storage space can be released (free-for-deletion date).
A free-for-deletion date cannot be assigned to temporary files or to files on private volumes.

FREE-FOR-DELETION = *BY-PROT-ATTR-OR-UNCH
The free-for-deletion date is defined by means of the PROTECTION-ATTR operand value. If PROTECTION-ATTR=*BY-DEF-PROT-OR-STD is set, the values supplied by default protection or - if default protection is not activated - *NONE is entered. Otherwise, the free-for-deletion date remains unchanged.

FREE-FOR-DELETION = *NONE
No free-for-deletion date is defined. The protection attributes are taken into account with regard to file deletion.

FREE-FOR-DELETION = <date>
Once the specified date is reached, the file can be deleted regardless of its protection attributes listed above. The date is specified in the form [yy]yy-mm-dd. 20 is automatically prefixed to two-digit year specifications < 60, 19 to two-digit year specifications >= 60.

FREE-FOR-DELETION = <integer 0..99999>
After the specified number of days, the file can be deleted regardless of the protection attributes listed above. The date must be specified in the form +n.

SAVE = *UNCHANGED 
Only for files on disks and Net-Storage volume: BACKUP-CLASS relates to the automatic file backup by the ARCHIVE backup system; it determines which runs of the ARCHIVE or HSMS system are to back up the files.

SAVE = *PARAMETERS(...)
Parameters governing the type and frequency of backups.

BACKUP-CLASS = *UNCHANGED / *A / *B / *C / *D / *E
Backup frequency, where *A represents the most frequent backup.

BACKUP-CLASS = *A
The most frequent backup. Files with this setting will be backed up by every backup run.

BACKUP-CLASS = *B
Files with this setting will be backed up every time a backup run is performed for files with BACKUP-CLASS=*B or *C or *D.

BACKUP-CLASS = *C
Files with this setting will be backed up every time a backup run is performed for files with BACKUP-CLASS=*C or *D.

BACKUP-CLASS = *D
The least frequent backup.
Files with this setting will only be backed up when a backup run is performed for files with BACKUP-CLASS=*D.

BACKUP-CLASS = *E
Not backed up by ARCHIVE or HSMS (This is appropriate for work files, for example.).

SAVED-PAGES = *UNCHANGED / *COMPLETE-FILE / *MODIFIED-PAGES
Only for disk files:
like BACKUP-CLASS, refers to the backup with ARCHIVE or HSMS and defines whether the entire file is to be backed up completely during automatic backup runs, or whether only those blocks that have changed since the last backup are to be saved.

SAVED-PAGES = *COMPLETE-FILE
The complete file is backed up.

SAVED-PAGES = *MODIFIED-PAGES
Incremental saving: only the modified blocks are saved. This specification is useful for extremely large files.

NUM-OF-BACKUP-VERS = *UNCHANGED / <integer 0..32>
Maximum number of file versions in the version backup archive. 
A value equal to 0 means the file will be ignored when version backups are performed.
Any values except 0 specified for temporary files or files on private disks are rejected.
A file on tape does not participate in the version backup, so the specified value is ignored and the value 0 is set.

MIGRATE = *UNCHANGED / *ALLOWED / *INHIBITED / *FORBIDDEN
Only relevant for files on public disks - evaluated by the software product HSMS (Hierarchical Storage Management System).
It allows a user to specify whether files that have not been accessed for a long time (by the user) may be migrated to a storage medium with slower access. The files will be migrated from the online processing level S0 to the background level S1, which is available online, or to background level S2 (e.g. tape storage) which is available offline (for further details see the “HSMS, Volume 1” manual [18]).

MIGRATE = *ALLOWED
If HSMS is being used, the file may be migrated from the processing level to the background level (S1), or to the archive level (S2). This operand value may only be specified for permanent files.

MIGRATE = *INHIBITED
The file may only be migrated for a brief period, e.g. for reorganization purposes (migration lock).

MIGRATE = *FORBIDDEN
This specification is allowed only in conjunction with authorization to perform physical allocation of public storage space (see “Privileged functions” under “Function” above).
The file must not be migrated, typically because it is intended to stay in its current physical storage location (intensified migration lock). The command is rejected if the file has been migrated to a background storage level (S1 or S2) using HSMS (see the STORAGE-LEVEL operand in the SHOW-FILE-ATTRIBUTES command).

CODED-CHARACTER-SET = *UNCHANGED / *USER-DEFAULT / *NONE / <name 1..8>
This operand is ignored with regard to files on private disks.
Determines the code of the file. This defines how the characters of a national character set are to be stored in binary form. The specified character set has an effect on the representation of characters on the screen, the collating sequence, etc. (see the “XHCS” manual [51]).

CODED-CHARACTER-SET = *USER-DEFAULT
The code is taken over from the file owner’s user ID if a code other than EDF03IRV is entered there, otherwise *NONE applies.

CODED-CHARACTER-SET = *NONE
No coded character set is specified for the file.

CODED-CHARACTER-SET = <name 1..8>
Specifies the coded character set for the file.

NET-CODED-CHAR-SET = *UNCHANGED / *USER-DEFAULT / *ISO / *NO-CONVERSION / <name 1..8>
Only relevant for Net-Storage files of the type node file. This specification is ignored for other files.
Defines which Net-Storage coded character set (NETCCS) is to be used for a node file on Net-Storage. The NETCCS is the character set used to store the data from SAM node files on Net-Storage. During copying, the data are converted from the CODED-CHARACTER-SET into the NET-CODED-CHARATER-SET and vice versa. All SAM node files and PAM node files created with BS2000 V11.0 or later have a defined NETCCS. PAM node files created with an older version than V11.0 are treated as if they were created with *NO-CONVERSION. Only data from SAM node files are converted. In the case of PAM node files, the NET-CODED-CHAR-SET is not evaluated while data are copied.

NET-CODED-CHAR-SET = *USER-DEFAULT
The setting is defined by the definition in the user entry. The resulting NETCCS of the file is determined based on the following table: 

User entry (SYSSRPM) or specification in the CREATE-FILE / MODIFY-FILE-ATTRIBUTES command

Resulting NETCCS in the catalog entry of the node files

CCS                          

NETCCS                      

NETCCS

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>

NET-CODED-CHAR-SET = *ISO
For SAM node files, EBCDIC character sets are converted into character sets common in the open world. In the process, the NETCCS is mapped onto an ISO variant that corresponds to the CCS. Examples:

EDF03IRV  =>  ISO88591
EDF04DRV  =>  ISO88591
EDF04x    =>  ISO8859x
The following applies here: If an ISO or UTF character set was specified for the CODED-CHARACTER-SET, no conversion takes place. In this case, *ISO acts like *NO-CONVERSION.

NET-CODED-CHAR-SET = *NO-CONVERSION
The character set of the file is not converted while the file is transferred to the Net-Storage. The value of the CODED-CHARACTER-SET is adopted for the NET-CODED-CHAR-SET. If the CODED-CHARACTER-SET is equivalent to *NONE or EDV03IRV, the resulting NETCCS becomes EDF03IRV.

A node file is created on the Net-Storage in the EBCDIC character set specified in the CCS. 

NET-CODED-CHAR-SET = <name 1..8>
Name of the NETCCS with which a node is created on the Net-Storage.

There is no check whether the name corresponds to a valid character set!

DIALOG-CONTROL = *STD / *NO / *ERROR / *FILE-CHANGE / *MORE-THAN-ONE-FILE /
*CATALOG-CHANGE / *USER-ID-CHANGE

Specifies whether and under what conditions a verification dialog is to be conducted with the user during command execution. The verification dialog allows you to monitor the progress of the command and to take action if necessary. A control dialog is only possible in interactive mode but, in this mode, may also be used in procedures. In batch mode, all operand values have the same effect as *NO.

If one of the events (apart from *ERROR) specified in the DIALOG-CONTROL operand occurs, a verification dialog is initiated. Message DMS0810 is issued, asking you whether you want the command to be executed for the shown file or file set. The SDF abbreviation rules apply to the entered response. To display the possible responses, enter a question mark.

Syntax of the response to message DMS0810 (verification dialog)

possible replies: *YES(...) / *NO(...) / *TERMINATE



*YES(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE




|

,OUTPUT = *UNCHA NGED / *NO / *SYSOUT



*NO(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE





,OUTPUT = *UNCHA NGED / *NO / *SYSOUT

Meaning of the operands

The meaning of the DIALOG-CONTROL and OUTPUT suboperands is the same as that of the corresponding main command operands. The operand value *UNCHANGED leaves the previous setting unchanged.

Reply *YES(...)
The set of files listed in the message is processed. If you specify a new value in the DIALOG-CONTROL suboperand which calls for a reduction in the size of the set of files listed in the message (e.g. changing *CATALOG-CHANGE to *FILE-CHANGE), the file set is first slimmed down to reflect the new value, and then a second verification dialog is conducted for the reduced set of files. The meaning of the DIALOG-CONTROL and OUTPUT suboperands is the same as that of the corresponding main command operands.

Reply *NO(...)
The set of files listed in the message is not processed. If you change the DIALOG-CONTROL operand, the verification check is not repeated until the next time the associated event occurs. If there are other files to process before the event occurs, they will be processed without verification.

Reply *TERMINATE
The set of files listed in the message is not processed and processing of the command terminates. In a non-S procedure, spin-off is initiated; in an S procedure, SDF-P error handling is initiated.

If an error occurs while one of the selected files is being processed and DIALOG-
CONTROL has a setting other than *NO, an error verification dialog is initiated. Guaranteed message DMS0811 or DMS0812 shows you the file name(s) and the DMS error code. You are then asked by message DMS0813 whether and if so how command execution is to continue. The SDF abbreviation rules apply to the entered response. To display the possible responses, enter a question mark. 

Syntax of replies to message DMS0813 (error verification dialog)

possible replies : *YES(...) / *RETRY(...) / *NO / *SKIP-CATALOG(...) / *SKIP-USER-ID(...)



*YES(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE




|

,OUTPUT = *UNCHA NGED / *NO / *SYSOUT



*RETRY(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE




|

,OUTPUT = *UNCHA NGED / *NO / *SYSOUT



*SKIP-CATALOG(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE




|

,OUTPUT = *UNCHA NGED / *NO / *SYSOUT



*SKIP-USER-ID(...)




|

DIALOG-CONTROL = *UNCHA NGED / *NO / *ERROR / *MORE-THAN-ONE-FILE /




|


*FILE-CHANGE / *CATALOG-CHANGE / *USER-ID-CHANGE





,OUTPUT = *UNCHA NGED / *NO / *SYSOUT

Meaning of the operands

The meaning of the DIALOG-CONTROL and OUTPUT suboperands is the same as that of the corresponding main command operands. The operand value *UNCHANGED leaves the previous setting unchanged.

Reply *YES(...)
Processing is to continue with the next file name.

Reply *RETRY(...)
Processing is to be retried for the same file name.

Reply *SKIP-CATALOG(...)
Processing is to continue with the file names from the next selected catalog. This selection only makes sense if wildcards were used in the catalog ID.

Reply *SKIP-USER-ID(...)
Processing is to continue with the file names from the next selected user ID or, if files of a user ID which are on various pubsets were selected, with the next catalog ID. This selection only makes sense if wildcards were used in the user or catalog ID.

DIALOG-CONTROL = *STD
The default *STD setting is equivalent to *MORE-THAN-ONE-FILE in an interactive dialog (when SYSCMD is connected to the terminal) and to *NO in procedures and in batch mode.

DIALOG-CONTROL = *NO
All the selected files are processed without an opportunity for the user to intervene.

DIALOG-CONTROL = *MORE-THAN-ONE-FILE
A verification dialog is initiated if more than one file has been selected. The verification query is issued for each of the selected files. If the catalog and/or user ID contains wildcards, the query is issued for each catalog and/or user ID. DIALOG-CONTROL=*ERROR also applies implicitly.

DIALOG-CONTROL = *ERROR
An error verification dialog is initiated if an error occurs while one of the selected file names is being processed.

DIALOG-CONTROL = *FILE-CHANGE
A verification dialog is initiated for each selected file name. DIALOG-CONTROL=*ERROR also applies implicitly.

DIALOG-CONTROL = *CATALOG-CHANGE
The verification query is issued for all the selected file names in a catalog. DIALOG-CONTROL=*ERROR also applies implicitly.

DIALOG-CONTROL = *USER-ID-CHANGE
The verification query is issued for all the selected file names of a user ID within a catalog. DIALOG-CONTROL=*ERROR also applies implicitly.

OUTPUT = *STD / *NO / *SYSOUT
Specifies whether the names of processed files are to be logged on SYSOUT.

OUTPUT = *NO
Only any errors that occur are logged on SYSOUT.

OUTPUT = *SYSOUT
The names of processed files and any errors that occur are logged on SYSOUT (guaranteed message DMS0815 or DMS0816, or DMS0811 or DMS0812 in the event of an error). 

 

Return codes

(SC2)

SC1

Maincode

Meaning/Guaranteed messages


0

CMD0001

Command executed

2

0

DMS051E

Inconsistency in private disk pool or operand error detected

2

0

DMS0546

Catalog entry for specified file has reached maximum size

2

0

DMS054A

Insufficient disk space or access to disk not possible

2

0

DMS06A9

Some generations of this FGG are missing


1

CMD0202

Syntax or semantic error in command


32

DMS0584

A state that does not allow the function to continue was reported during processing


32

DMS05C7

Unexpected internal error in DMS


64

CMD0102

Wildcard selection action: processing interrupted by *TERMINATE or by K2 key in verification dialog


64

CMD0216

Privilege error


64

DMS0501

Requested catalog not available


64

DMS0512

Requested catalog not found


64

DMS051B

Requested user ID not in pubset
Guaranteed messages: DMS051B, DMS0681


64

DMS051C

User not authorized to access pubset
Guaranteed messages: DMS051C, DMS0681


64

DMS0535

Specified file not shareable


64

DMS053E

File already cataloged on private volume


64

DMS0557

Invalid volume specification


64

DMS055C

Catalog entry not found on the assigned volume


64

DMS0579

Invalid operand for temporary file or work file


64

DMS057A

Invalid combination of file attributes and storage class


64

DMS057B

Invalid operand for migrated file


64

DMS057C

Processing not possible due to HSMS error


64

DMS057E

File has been migrated, and HSMS is not available


64

DMS057F

Renaming of migrated file not permitted


64

DMS0585

Error detected when processing catalog or multiprocessor system.


64

DMS0586

It is not possible to access or reserve a volume at present


64

DMS0587

Use of the specified command has been restricted by the system administrator


64

DMS0588

The disk storage assignment could not be executed


64

DMS05A0

Attribute modification not possible - data still in write cache


64

DMS059F

Specified value for number of backup versions invalid


64

DMS05A5

Allocation change not allowed when renaming permanent file as temporary file (or vice versa)


64

DMS05AD

Renaming in conjunction with a change of storage location: the attributes have been modified, but renaming failed owing to a system malfunction


64

DMS05B5

Guard not available


64

DMS05BD

Invalid combination of file and volume set attributes


64

DMS05CC

File name already cataloged


64

DMS05FC

Specified user ID not in HOME pubset


64

DMS0609

No access to system file


64

DMS060D

Invalid file name for reference file (PROTECTION-ATTR)


64

DMS0610

Action with selection specification (wildcards): command execution failed for at least one of the selected files


64

DMS0613

Unknown management class


64

DMS0618

Unknown storage class


64

DMS061A

Storage class catalog could not be read


64

DMS0640

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


64

DMS0643

Net client reports access error


64

DMS0644

Net client reports internal error


64

DMS0645

File does not exist on Net-Storage


64

DMS0646

FGG does not exist on Net-Storage


64

DMS0649

Net server reports POSIX-ACL error


64

DMS064A

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


64

DMS064B

Access to node files not supported by the net client 


64

DMS0684

File does not exist
Guaranteed message: DMS0684


64

DMS0685

File not yet allocated storage space


64

DMS0689

Operands only allowed for files not yet occupying storage space have been specified


64

DMS06B5

File already open or catalog entry not updated after system error


64

DMS06B6

File attributes not compatible with file generation group


64

DMS06FF

BCAM connection severed


128

DMS0506

Function not executed due to change in master


130

DMS0524

System address space exhausted


130

DMS053C

No space in pubset catalog file


130

DMS0582

File is currently locked or being used and cannot be processed


130

DMS0585

Error detected when processing catalog or multiprocessor system.
Guaranteed message: DMS053C


130

DMS0586

It is not possible to access or reserve a volume at present


130

DMS0588

The disk storage assignment could not be executed


130

DMS0594

Not enough virtual memory available


130

DMS05C8

Maximum permitted number of files reached

Examples    

Example 1: Changing file attributes (releasing storage space)

/show-file-attr d.9,inf=(alloc=*yes) —————————————————————————————————————————  (1)

%0000000093 :2OSG:$USER1.D.9
%  ------------------------------- ALLOCATION   -------------------------------
%  SUPPORT    = PUB         S-ALLOC    = 24          HIGH-US-PA = 1
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE
%      2       GVS2.0       D3435
%  NUM-OF-EXT = 2
%:2OSG: PUBLIC:      1 FILE  RES=        93 FRE=        92 REL=        90 PAGES

/mod-file-attr d.9,sup=*pub(space=*release(90)) ——————————————————————————————  (2) 
/show-file-attr d.9,inf=(alloc=*yes,security=*yes) ———————————————————————————  (3)

%0000000093 :2OSG:$USER1.D.9
%  ------------------------------- SECURITY     -------------------------------
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE       ACL        = NO
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = 2012-11-09
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME =   00:00:00
%  SP-REL-LOCK= YES         ENCRYPTION = *NONE
%  ------------------------------- ALLOCATION   -------------------------------
%  SUPPORT    = PUB         S-ALLOC    = 24          HIGH-US-PA = 1
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE
%      2       GVS2.0       D3435
%  NUM-OF-EXT = 2
%:2OSG: PUBLIC:      1 FILE  RES=        93 FRE=        92 REL=        90 PAGES

/mod-file-attr d.9,sup=*pub(space=*release(90)),prot=(space-release-lock=*no)   (4) 
/show-file-attr d.9,inf=(alloc=*yes) —————————————————————————————————————————  (5)

%0000000003 :2OSG:$USER1.D.9
%  ------------------------------- ALLOCATION   -------------------------------
%  SUPPORT    = PUB         S-ALLOC    = 24          HIGH-US-PA = 1
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE
%      1       GVS2.0       D3435
%  NUM-OF-EXT = 1
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         2 REL=         0 PAGES
%00000003 :2OS2:$USER1.D.9

(1)

Shows the storage space allocation attributes for the file D.9. The file occupies 93 PAM pages, of which only one is used. No more than 90 of the unused PAM pages may be released.

(2)

The MODIFY-FILE-ATTRIBUTES command is used to release 90 PAM pages.

(3)

Shows the storage space allocation and protection attributes for the file D.9: the request to release storage space was ignored due to the SPACE-RELEASE-LOCK protection attribute.

(4)

The MODIFY-FILE-ATTRIBUTES command is now entered again. Additionally the space release lock is also removed.

(5)

The output of the SHOW-FILE-ATTRIBUTES command shows that storage space has been released.

Example 2: Renaming a permanent file to a temporary file

/show-file-attr d.10,inf=(security=*yes) ———————————————————————————————————  (1)

%0000000003 :2OSG:$USER1.D.10
%  ------------------------------- SECURITY     -------------------------------
%  READ-PASS  = YES         WRITE-PASS = NONE        EXEC-PASS  = NONE
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE       ACL        = NO
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = 2012-11-09
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME =   00:00:00
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         2 REL=         0 PAGES

/mod-file-attr d.10,new-name=#file.1 ——————————————————————————————————————  (2)

%  DMS0681 DMS ERROR '05CF' WHEN ACCESSING FILE ':2OSG:$USER1.D.10'. FOR FURTHER
 INFORMATION: /HELP-MSG DMS05CF —————————————————————————————————————————  (3) 

/add-pass 'paul' —————————————————————————————————————————————————————————  (4)
/mod-file-attr d.10,new-name=#file.1 —————————————————————————————————————  (5)
/show-file-attr #file.1,inf=(security=*yes) ——————————————————————————————  (6)

%0000000003 :2OSG:$USER1.S.313.3ZAA.FILE.1
%  ------------------------------- SECURITY     -------------------------------
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE       ACL        = NO
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = 2012-11-09
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME =   00:00:00
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         2 REL=         0 PAGES

(1)

The file D.10 is protected by a read password.

(2)

Renames the permanent file D.10 to the temporary file #FILE.1 (the tempfile character is #).

(3)

The command was rejected, since the password is not contained in the password table of the task.

(4)

The read password PAUL is entered into the password table of the task.

(5)

A new attempt is made to rename the permanent file D.10 to the temporary file #FILE.1 (see also Point 2).

(6)

Shows the protection attributes of the temporary file #FILE.1. The tempfile character is replaced in the output by the internal name component for temporary files (here: S.313.3ZAA.). When a permanent file is renamed to a temporary file, some of the file attributes are changed. For example, temporary files cannot be protected by passwords. In this case, the read password was canceled (READ-PASS=*NONE).

Example 3: Assigning BASIC-ACL protection to a group of files

/sh syssdf.group.,inf=*min ——————————————————————————————————————————————  (1)

%I NNN YR               72 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140
%I NNN YR              192 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER
%I NNN YR               33 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER

/md syssdf.group.,prot=(basic-acl=*all-x) ————————————————————————————————  (2)

% DMS0810 EXECUTE JOB FOR FILE(S) ':2OSG:$USER1.SYSSDF.GROUP.' (Y=YES; N=NO; T= TERMINATE; ?=HELP/FURTHER OPTIONS)? y(output=*sysout)

%  DMS0815 JOB FOR THE FILE NAME ':2OSG:$USER1.SYSSDF.GROUP.PROG-1.140' SUCCESSF
ULLY EXECUTED
%  DMS0815 JOB FOR THE FILE NAME ':2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER' S
UCCESSFULLY EXECUTED
%  DMS0815 JOB FOR THE FILE NAME ':2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER' SUC
CESSFULLY EXECUTED

/sh syssdf.group.,inf=*min

%I NNN --X--X--X        72 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140
%I NNN --X--X--X       192 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER
%I NNN --X--X--X        33 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER

/md syssdf.group.,prot=(basic-acl=*all-rx) —————————————————————————————————  (3)

%  DMS0810 EXECUTE JOB FOR FILE(S) ':2OSG:$USER1.SYSSDF.GROUP.' (Y=YES; N=NO; T=
TERMINATE; ?=HELP/FURTHER OPTIONS)?y

/sh syssdf.group.,inf=*min

%I NNN R-XR-XR-X        72 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140
%I NNN R-XR-XR-X       192 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER
%I NNN R-XR-XR-X        33 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER

/md syssdf.group.,prot=(basic-acl=*owner-wrx) ——————————————————————————————  (4)

%  DMS0810 EXECUTE JOB FOR FILE(S) ':2OSG:$USER1.SYSSDF.GROUP.' (Y=YES; N=NO; T=
TERMINATE; ?=HELP/FURTHER OPTIONS)?y

/sh syssdf.group.,inf=*min

%I NNN RWXR-XR-X        72 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140
%I NNN RWXR-XR-X       192 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER
%I NNN RWXR-XR-X        33 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER

/md syssdf.group.,prot=(basic-acl=*owner-rx) —————————————————————————————————  (5)

%  DMS0810 EXECUTE JOB FOR FILE(S) ':2OSG:$USER1.SYSSDF.GROUP.' (Y=YES; N=NO; T=
TERMINATE; ?=HELP/FURTHER OPTIONS)?y

/sh syssdf.group.,inf=*min

%I NNN R-XR-XR-X        72 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140
%I NNN R-XR-XR-X       192 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.BINDER
%I NNN R-XR-XR-X        33 :2OSG:$USER1.SYSSDF.GROUP.PROG-1.140.USER

(1)

All files with names beginning with SYSSDF.GROUP. are to have their access permissions modified. SHOW-FILE-ATTRIBUTES (alias = SH) is used to show the currently set permissions in abbreviated form (INFORMATION=*MINIMUM). Only the default permissions are set (all users have read access).

(2)

Using MODIFY-FILE-ATTRIBUTES (alias = MD), BASIC-ACL protection is applied to the chosen files. *ALL-X assigns execute permission to all users. Command execution is confirmed with “Y(OUTPUT=*SYSOUT)”. This causes the names of processed files to be displayed.

(3)

Read and execute permission is to be granted to all users. This is achieved with BASIC-ACL=*ALL-RX.

(4)

*OWNER-WRX grants the owner all access permissions.

(5)

*OWNER-RX lets the owner protect the file against inadvertent overwriting.