Delete file generations from file generation group
Component: | BS2000 |
Functional area: | File processing |
Domain: | FILE-GENERATION-GROUP |
Privileges: | STD-PROCESSING |
Routing code: | $ (with NBCONOPI=N) or E (with NBCONOPI=Y) |
Function
With the DELETE-FILE-GENERATION command, a user can delete file generations which are cataloged under his own user ID, and selected according to criteria which must be specified in the command. Specific deletion operations allow the user to release storage space. The user is assisted in doing this by a guided dialog. The operands of the DELETE-FILE-GENERATION command can be divided into four groups, which correspond to the different functional levels of the command (see "Overview of functions" in section "DELETE-FILE-GENERATION").
Selection
Using the selection parameters, the user specifies which files generations/ catalog entries are to be processed. The attributes stored in the group entries are used as selection criteria. For this purpose, some operands in the DELETE-FILE-GENERATION command correspond with those of the SHOW-FILE-ATTRIBUTES command.
File protection
File protection parameters make it unnecessary for the user to input a MODIFY-FILE-GROUP-ATTRIBUTES or ADD-PASSWORD command in order to delete files for which file protection attributes such as passwords, retention period, etc. are defined.
Action parameters
Action parameters control the internal execution of the DELETE-FILE-GENERATION command. The user can, on the one hand, determine the scope of the deletions, and on the other hand, can define conditions for deletion.
Control parameters
Control parameters permit the user to define his own user interface, within certain limits. For example, he can use interactive prompts in the dialog or can request a SYSOUT log, or have DMS errors ignored (for the spin-off mechanism or SDF-P error handling).
Privileged functions
The privileged functions for system support staff include specification of any user ID, the ability to ignore protection attributes of the file generations being deleted and, in the case of a user ID change, to branch to guided dialog.
By default, systems support (TSOS privilege) is a co-owner of all the files (and can therefore delete file generations under any user ID). When SECOS is used, this co-ownership can be restricted.
In conjunction with the SECOS software product, a user can allow other user IDs to act as co-owners of the file generation groups of his user ID. Co-owners of a user ID are also allowed to delete file generations under that ID.
Overview of functions
Function / Meaning | Level 1 operands | Level 2/3 operands |
The name of the file generation which is to be deleted |
| |
File generation to be deleted, specified in relative form | ||
Criteria for selection of the file generations to be deleted | ||
Date specification | ||
| ||
| ||
Storage space | ||
| ||
| =*ANY | |
File security/file protection | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
Deletion parameters | OPTION | |
| ||
| ||
| ||
| ||
| ||
Mount request | ||
Control parameters | DIALOG-CONTROL | |
| ||
| ||
| ||
| ||
| ||
| ||
Message for successfully deleted files | ||
| =*NO | |
| =*SYSOUT | |
Ignore protection attributes | ||
| =*ACCESS | |
| =*EXPIRATION-DATE | |
| =*WRITE-PASSWORD / *READ-PASSWORD | |
Ignore password protection provided by specified passwords | ||
Suppress error situations |
Format
DELETE-FILE-GENERATION | Alias: DLFGN | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
GENERATION-NAME = *DUMMY / <filename 1..54 without-vers with-wild(80)>
The name of a reference generation, from which or up to which the files are to be deleted (see the DELETE operand). Only the user’s own user ID or a user ID for which the user is co-owner may be specified.
GENERATION-NAME = *DUMMY
Designates the dummy generation *DUMMY, which “always exists”, and which satisfies all selection criteria. Any other operands (except for DIALOG-CONTROL, OUTPUT, and SUPPRESS-ERRORS) will be checked for their formal correctness, but otherwise ignored. The main use of *DUMMY is in testing procedures.
DELETE = *GENERATIONS-BEFORE / GENERATIONS-AFTER
Specifies which file generations are to be deleted: all those whose number is less than the reference generation, or all those whose number is greater than it.
SELECT = *ALL
All the files in the set specified by GENERATION-NAME are selected.
SELECT = *BY-ATTRIBUTES(...)
Restricts the files in the set specified in GENERATION-NAME to files which satisfy the criteria which follow. The default values, *ANY and ANY, each indicates that the set of file generations is not to be restricted to any particular values for the attribute concerned.
EXPIRATION-DATE = *ANY / *NONE / *TOMORROW(...) / *TODAY(...) / *YESTERDAY(...) /
<integer -99999..991231>(...) / <date>(...) / *INTERVAL(...)
The user can select the file generation to be deleted on the basis of the expiration date. A retention period exists if the expiration date is greater than the current date. The selection can be restricted for a specified date to a time interval in which the last file update occurred (see the TIME operand for each structure). Note that at present the time 00:00:00 is always entered in the file catalog as the time of the expiration date. See also the EXPIR-DATE and EXPIR-TIME output fields in the SHOW-FILE-ATTRIBUTES command.
EXPIRATION-DATE = *ANY
The expiration date is not to be used as a selection criterion.
EXPIRATION-DATE = *NONE
Only the file generations for which no release date (NONE) has been entered as the EXPIRATION-DATE in the group entry will be deleted, i.e. file generations which have never been opened.
EXPIRATION-DATE = *TOMORROW(...)
Only those file generations which have tomorrow’s date entered as the EXPIRATION-DATE in their group entry are deleted.
TIME = *ANY / *INTERVAL(...)
Restricts the selection of files to a time interval related to the specified expiration date. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TIME = *INTERVAL(...)
Deletes only those file generations whose expiration date lies within the specified time interval that follows.
FROM = 00:00:00 / <time>
Selects file generations for which the time of expiration >= the specified time.
TO = 23:59:59 / <time>
Selects file generations for which the time of expiration <= the specified time.
EXPIRATION-DATE = *TODAY(...)
Only those file generations which have today’s date entered as the EXPIRATION-DATE in their group entry are deleted.
TIME = *ANY / *INTERVAL(...)
Restricts the selection of files to a time interval related to the specified expiration date. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TIME = *INTERVAL(...)
Deletes only those file generations whose expiration date lies within the specified time interval that follows.
FROM = 00:00:00 / <time>
Selects file generations for which the time of expiration >= the specified time.
TO = 23:59:59 / <time>
Selects file generations for which the time of expiration <= the specified time.
EXPIRATION-DATE = *YESTERDAY(...)
Only those file generations which have yesterday’s date entered as the EXPIRATION-DATE in their group entry are deleted.
TIME = *ANY / *INTERVAL(...)
Restricts the selection of files to a time interval related to the specified expiration date. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TIME = *INTERVAL(...)
Deletes only those file generations whose expiration date lies within the specified time interval that follows.
FROM = 00:00:00 / <time>
Selects file generations for which the time of expiration >= the specified time.
TO = 23:59:59 / <time>
Selects file generations for which the time of expiration <= the specified time.
EXPIRATION-DATE = <integer -99999..991231>(...)
Only those file generations which have the specified date entered as the EXPIRATIONDATE in their group entry are deleted. Here, the user can specify the expiration date in either of two ways:
- as an absolute date value: (6 digits), a specific date in the form yymmdd (yy = year, mm = month, dd = day)
- as a relative date value: (6 digits, with preceding sign) the number of days from today’s date, in the form -n for dates in the past, and +n for dates in the future; (YESTERDAY corresponds to -1, TODAY corresponds to ±0, TOMORROW corresponds to +1)
TIME = *ANY / *INTERVAL(...)
Restricts the selection of files to a time interval related to the specified expiration date. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TIME = INTERVAL(...)
Deletes only those file generations whose expiration date lies within the specified time interval that follows.
FROM = 00:00:00 / <time>
Selects file generations for which the time of expiration >= the specified time.
TO = 23:59:59 / <time>
Selects file generations for which the time of expiration <= the specified time.
EXPIRATION-DATE = <date>(...)
Only those file generations which have the specified date entered as the EXPIRATION-DATE in their group entry are deleted. The user can specify the expiration date in the form [yy]yy-mm-dd.
TIME = *ANY / *INTERVAL(...)
Restricts the selection of files to a time interval related to the specified expiration date. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TIME = *INTERVAL(...)
Deletes only those file generations whose expiration date lies within the specified time interval that follows.
FROM = 00:00:00 / <time>
Selects file generations for which the time of expiration >= the specified time.
TO = 23:59:59 / <time>
Selects file generations for which the time of expiration <= the specified time.
EXPIRATION-DATE = *INTERVAL(...)
Only file generations whose release date lies within the specified time period, i.e. whose retention period ends within the specified time period, will be deleted. The range of dates covered by the specification includes the two end dates (see also the explanation of how dates are specified for EXPIRATION-DATE = <integer...>. It is also possible to specify limits using only the operand FROM (lower limit) or TO (upper limit). Whichever of the operands is not specified will be replaced by the default value for use as the limit of the range. The use of range limits for deletion can only be meaningful if the chosen lower limit <= the upper limit.
FROM = *EARLIEST / *TOMORROW(...) / *TODAY(...) / *YESTERDAY(...) /
<integer -99999..991231>(...) / <date>(...)
If EARLIEST is specified, the system will use the earliest possible date. Only those file generations for which the retention period expires on or after the specified date (EXPIRATION-DATE >= specified date) are deleted.
FROM = *TOMORROW(...)
Deletes only those file generations for which the EXPIRATION-DATE >= date of next day.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE after the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
FROM = *TODAY(...)
Deletes only those file generations for which the EXPIRATION-DATE >= current date.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE after the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
FROM = *YESTERDAY(...)
Deletes only those file generations for which the EXPIRATION-DATE >= date of preceding day.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE after the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
FROM = <integer -99999..991231>(...)
Deletes only those file generations for which the EXPIRATION-DATE >= the specified date.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE after the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
FROM = <date>(...)
Deletes only those file generations for which the EXPIRATION-DATE >= the specified date.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE after the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TO = *LATEST / *TOMORROW(...) / *TODAY(...) / *YESTERDAY(...) /
<integer -99999..991231>(...) / <date>(...)
Only those file generations for which the retention period expires on or before the specified date (EXPIRATION-DATE <= specified date) will be deleted.
TO = *TOMORROW(...)
Deletes only those file generations for which the EXPIRATION-DATE <= date of next day.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE before the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TO = *TODAY(...)
Deletes only those file generations for which the EXPIRATION-DATE <= current date.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE before the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TO = *YESTERDAY(...)
Deletes only those file generations for which the EXPIRATION-DATE <= date of preceding day.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE before the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TO = <integer -99999..991231>(...)
Deletes only those file generations for which the EXPIRATION-DATE <= the specified date.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE before the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
TO = <date>(...)
Deletes only those file generations for which the EXPIRATION-DATE <= the specified date.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have an EXPIRATION-DATE before the specified time are selected. Note that the time stamp for the EXPIRATION-DATE is always set to 00:00:00 at present!
SUPPORT = *ANY / *PRIVATE-DISK
The user can select which file generations are to be deleted by the type of their volumes.
SUPPORT = *ANY
The volume type is not to be used as a selection criterion.
SUPPORT = *PRIVATE-DISK
Only file generations on private disks are to be deleted.
ACCESS = *ANY / *READ / *WRITE
The specified access type will be used as a selection criterion (ACCESS value in the group entry.)
ACCESS = ANY
The ACCESS value is not to be used as a selection criterion.
ACCESS = *READ
Only file generations for which write access is prevented by ACCESS=READ, i.e. for which only read access is permitted, will be deleted.
PASSWORD = *ANY / list-poss(4): *NONE / *READ-PASSWORD / *WRITE-PASSWORD /
*EXEC-PASSWORD
The user can select file generations by specific password types for processing.
PASSWORD = *ANY
Password protection is not to be used as a selection criterion.
PASSWORD = *NONE
Only file generations for which there is no password protection are to be deleted.
PASSWORD = *READ-PASSWORD
Only file generations which are protected by a read password are to be deleted.
PASSWORD = *WRITE-PASSWORD
Only file generations which are protected by a write password are to be deleted.
USER-ACCESS = *ANY / list-poss(2): *OWNER-ONLY / *ALL-USERS
The user can select file generations using their access authorizations as a criterion.
USER-ACCESS = *ANY
The access authorization is not to be used as a selection criterion.
USER-ACCESS = *OWNER-ONLY
Only file generations which the owner alone may access are to be deleted.
USER-ACCESS = *ALL-USERS
Only file generations which permit access to all users are to be deleted.
BACKUP-CLASS = *ANY / list-poss(5): *A / *B / *C / *D / *E
The user can select file generations for deletion by their BACKUP-CLASS level.
BACKUP-CLASS = *ANY
The BACKUP-CLASS level is not to be used as a selection criterion.
BACKUP-CLASS = *A
Only file generations for which the group entry contains the value BACKUP=A (most frequent backup) are to be processed.
BACKUP-CLASS = *B
Only file generations for which the group entry contains the value BACKUP=B are to be processed.
BACKUP-CLASS = *C
Only file generations for which the group entry contains the value BACKUP=C are to be processed.
BACKUP-CLASS = *E
Only file generations for which the group entry contains the value BACKUP=E are to be processed.
MIGRATE = *ANY / list-poss(3): *ALLOWED / *INHIBITED / *FORBIDDEN
The user can select which file generations are to be processed by the migration entry for the group (see the CREATE-FILE-GROUP command, MIGRATE operand).
MIGRATE = *ANY
The specified file generations are to be deleted, irrespective of the value in the MIGRATE operand in each of their group entries.
MIGRATE = *ALLOWED
Only file generations for which the group entry specifies the appropriate operand value, i.e. file generations which may be migrated to storage levels S1 and S2, are to be deleted.
MIGRATE = *INHIBITED
Only file generations for which the group entry specifies the appropriate operand value are to be processed, i.e. file generations which may not be migrated.
MIGRATE = *FORBIDDEN
Only file generations for which the catalog entry specifies the appropriate operand value are to be processed, i.e. file generations for which an intensified migration lock is declared. The file generations may not even be migrated for a brief period (e.g. for reorganization purposes).
CODED-CHARACTER-SET = *ANY / *NONE / <name 1..8>
The coded character set defined in the group entry is used as a selection criterion (see the CREATE-FILE command for an explanation; if a CCS is defined, see also the COD-CH-SET output field of the SHOW-FILE-ATTRIBUTES command).
CODED-CHARACTER-SET = *ANY
The defined character set is not to be used as a selection criterion.
CODED-CHARACTER-SET = *NONE
Only the file generations for which no coded character set was explicitly defined are selected for deletion.
CODED-CHARACTER-SET = <name 1..8>
Only the files for which the specified character set was defined are selected for deletion.
SPACE-RELEASE-LOCK = *ANY / *NO / *YES
The lock to prevent the release of unused memory space is used as a selection criterion (see the SP-REL-LOCK output field in the SHOW-FILE-ATTRIBUTES command).
SPACE-RELEASE-LOCK = *ANY
The permission to release unused memory space is not used as a selection criterion.
SPACE-RELEASE-LOCK = *NO
Only the file generations for which unused memory space may be released are selected for deletion.
SPACE-RELEASE-LOCK = *YES
Only the file generations for which the release of unused memory space is not permitted are selected for deletion.
BASIC-ACL = *ANY / *NONE / *YES / *PARAMETERS(...)
The BASIC-ACL entry in the file catalog is used as a selection criterion.
BASIC-ACL = *ANY
The BASIC-ACL entry is not to be used as a selection criterion.
BASIC-ACL = *NONE
Only the file generations that have no BASIC-ACL entry in the catalog are to be deleted.
BASIC-ACL = *YES
Only the file generations which have a BASIC-ACL entry in the catalog are to be deleted.
BASIC-ACL = *PARAMETERS(...)
Only the file generations which have the specified BASIC-ACL entry in the catalog are to be deleted. NO-ACCESS means that no access rights were granted.
OWNER = *ANY / *NO-ACCESS / *PARAMETERS(...)
Specifies which access rights must already be defined for the owner.
OWNER = *PARAMETERS(...)
Access rights that must be present for the owner (logically ORed together):
READ = *ANY / *NO / *YES
Specifies whether read access authorization must be present.
WRITE = *ANY / *NO / *YES
Specifies whether write access authorization must be present.
GROUP = *ANY / *NO-ACCESS / *PARAMETERS(...)
Specifies which access rights should already be defined for the owner’s user group.
GROUP = *PARAMETERS(...)
Access rights that must be present for the owner’s user group (logically ORed together):
READ = *ANY / *NO / *YES
Specifies whether read access authorization must be present.
WRITE = *ANY / *NO / *YES
Specifies whether write access authorization must be present.
OTHERS = *ANY / *NO-ACCESS / *PARAMETERS(...)
Specifies which access rights should already be defined for all other users.
OTHERS = *PARAMETERS(...)
Access rights that must be present for all other users (logically ORed together):
READ = *ANY / *NO / *YES
Specifies whether read access authorization must be present.
WRITE = *ANY / *NO / *YES
Specifies whether write access authorization must be present.
GUARDS = *ANY / *NO / *YES / *PARAMETERS(...)
The use of GUARDS for access control (see the CREATE-FILE-GROUP or MODIFY-FILE-GROUP-ATTRIBUTES command) is used as a selection criterion.
GUARDS = *ANY
Access control with GUARDS is not to be used as a selection criterion.
GUARDS = *NO
Only the file generations which are not protected by GUARDS against unauthorized access are to be deleted (see also the PROTECTION-LEVEL operand).
GUARDS = *YES
Only the file generations which are protected by GUARDS against unauthorized access (i.e. files for which access is controlled via the GUARDS function unit) are to be deleted.
GUARDS = *PARAMETERS(...)
Deletes only those file generations which are protected by GUARDS against unauthorized access as specified, i.e. files for which access control is implemented using GUARDS: Access to the file generation is controlled by a guard, i.e. a special object which contains all the conditions under which a user is granted access authorization (e.g. date, time, 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 access mode can be controlled by a separate guard. If no guard (*NONE) is defined for a given access mode, no corresponding access is permitted. If a defined guard is not accessible, the mode of access protected by it is not permitted. If the GUARDS subsystem is not available at the time of accessing the job variable, no access of any kind is allowed for the job variable.
READ = *ANY / *NONE / <filename 1..18 without-cat-gen-vers>
Only the file generations which are protected against unauthorized read access by the specified guard are deleted. The default value *ANY means that the selection of file generations is not based on read access protection by a guard. *NONE selects file generations for which no read access is permitted.
WRITE = *ANY / *NONE / <filename 1..18 without-cat-gen-vers>
Only the file generations which are protected against unauthorized write access by the specified guard are deleted. The default value *ANY means that the selection of file generations is not based on write access protection by a guard. *NONE selects file generations for which no write access is permitted. These file generations can be deleted with IGNORE-PROTECTION=*ACCESS.
MANAGEMENT-CLASS = *ANY / *NONE / <composed-name 1..8>
The selection criterion is the HSMS management class.
MANAGEMENT-CLASS = *ANY
The HSMS management class is not a selection criterion.
MANAGEMENT-CLASS = *NONE
Only deletes file generations with no HSMS management class assigned to them.
MANAGEMENT-CLASS = <composed-name 1..8>
Only deletes file generations with the specified HSMS management class assigned to them.
FREE-FOR-DELETION = *ANY / *NONE / *TOMORROW(...) / *TODAY(...) / *YESTERDAY(...) /
<integer -99999..0>(...) / <date>(...) / *INTERVAL(...)
The date of release of deletion (free-for-deletion date) can be used as a selection criterion for the file generations which are to be deleted. The selection for a specified date can be restricted to a specific period of time on the free-for-deletion date (see the TIME operands in the various structures) See also the SHOW-FILE-ATTRIBUTES command, FREE-DEL-D, and FREE-DEL-T output fields.
FREE-FOR-DELETION = *ANY
The free-for-deletion date is not used as a selection criterion.
FREE-FOR-DELETION = *NONE
Only deletes file generations for which no free-for-deletion date has yet been entered in the catalog.
FREE-FOR-DELETION = *TOMORROW(...)
Only deletes file generations for which the next day is entered as the free-for-deletion date in the catalog entry.
TIME = *ANY / *INTERVAL(...)
Restricts the file selection to a period relative to the date of the next day.
TIME = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which falls within the period specified next.
FROM = 00:00:00 / <time>
Selects files with a free-for-deletion date >= the specified time.
TO = 23:59:59 / <time>
Selects files with a free-for-deletion date <= the specified time.
FREE-FOR-DELETION = *TODAY(...)
Only deletes file generations with today’s date recorded as free-for-deletion date in their catalog entry.
TIME = *ANY / *INTERVAL(...)
Restricts the selection to a period of time relative to today’s date.
TIME = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which falls within the period specified next.
FROM = 00:00:00 / <time>
Selects file generations with a free-for-deletion date >= the specified time.
TO = 23:59:59 / <time>
Selects file generations with a free-for-deletion date <= the specified time.
FREE-FOR-DELETION = *YESTERDAY(...)
Only deletes file generations with yesterday’s date recorded as free-for-deletion date in their catalog entry.
TIME = *ANY / *INTERVAL(...)
Restricts the selection to a period of time relative to yesterday’s date.
TIME = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which was changed within the period specified next.
FROM = 00:00:00 / <time>
Selects file generations with a free-for-deletion date >= the specified time.
TO = 23:59:59 / <time>
Selects file generations with a free-for-deletion date <= the specified time.
FREE-FOR-DELETION = <integer -99999..99999>(...)
Only deletes file generations with the specified free-for-deletion date recorded in their catalog entry. The free-for-deletion date is specified relative to today’s date (in the form -n for the past or +n for the future).
TIME = *ANY / *INTERVAL(...)
Restricts the selection to a period of time relative to the specified date.
TIME = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which falls within the period specified next.
FROM = 00:00:00 / <time>
Selects file generations with a free-for-deletion date >= the specified time.
TO = 23:59:59 / <time>
Selects file generations with a free-for-deletion date <= the specified time.
FREE-FOR-DELETION = <date>(...)
Only deletes file generations with exactly the specified date recorded as free-for-deletion date in their catalog entry. 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 >=
TIME = *ANY / *INTERVAL(...)
Restricts the selection to a period of time relative to the specified date.
TIME = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which falls within the period specified next.
FROM = 00:00:00 / <time>
Selects file generations with a free-for-deletion date >= the specified time.
TO = 23:59:59 / <time>
Selects file generations with a free-for-deletion date <= the specified time.
FREE-FOR-DELETION = *INTERVAL(...)
Only deletes file generations with a free-for-deletion date which falls within the specified period. The range of dates covered by the specification includes the two end dates (see also the explanation of how dates are specified for the FREE-FOR-DELETION= <integer...> operand). It is also possible to specify only the FROM operand (lower limit) or the TO operand (upper limit). For whichever operand is not specified, the default value will be used as the limit for the range. The use of range limits for information output can only be meaningful if the chosen lower limit <= the upper limit.
FROM = *EARLIEST / *TOMORROW(...) / *TODAY(...) / *YESTERDAY(...) /
<integer -99999..99999>(...) / <date>(...)
Only deletes file generations with a free-for-deletion date >= the specified date.
FROM = *TOMORROW(...)
Only deletes file generations whose free-for-deletion date >= date of the next day.
TIME = 00:00:00 / <time>
Time on the specified date. All files that have a free-for-deletion date after the specified time are selected.
FROM = *TODAY(...)
Only deletes file generations with a free-for-deletion date >= today’s date.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have a free-for-deletion date after the specified time are deleted.
FROM = *YESTERDAY(...)
Only deletes file generations with a free-for-deletion date >= yesterday’s date.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have a free-for-deletion date after the specified time are deleted.
FROM = <integer -99999..99999>(...)
Deletes only those file generations whose free-for-deletion date >= the specified date (in the form -n for the past or +n for the future).
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have a free-for-deletion date after the specified time are deleted.
FROM = <date>(...)
Only deletes file generations with a free-for-deletion date >= the specified 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.
TIME = 00:00:00 / <time>
Time on the specified date. All file generations that have a free-for-deletion date after the specified time are deleted.
TO = *LATEST / *TODAY(...) / *TOMORROW(...) / *YESTERDAY(...) /
<integer -99999..99999>(...) / <date>(...)
Only deletes file generations with a free-for-deletion date <= the specified date.
TO = *LATEST
There is no upper limit on the selection range based on the free-for-deletion date.
TO = *TODAY(...)
Only deletes file generations with a free-for-deletion date <= today’s date.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have a free-for-deletion date before the specified time are deleted.
TO = *TOMORROW(...)
Only deletes file generations whose free-for-deletion date <= date of the next day.
TIME = 23:59:59 / <time>
Time on the specified date. All files that have a free-for-deletion date before the specified time are selected.
TO = *YESTERDAY(...)
Only deletes file generations with a free-for-deletion date <= yesterday’s date.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have a free-for-deletion date before the specified time are deleted.
TO = <integer -99999..99999>(...)
Deletes only those file generations whose free-for-deletion date <= the specified date (in the form -n for the past or +n for the future).
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have a free-for-deletion date before the specified time are deleted.
TO = <date>(...)
Only deletes file generations with a free-for-deletion date <= the specified 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.
TIME = 23:59:59 / <time>
Time on the specified date. All file generations that have a free-for-deletion date before the specified time are deleted.
WORK-FILE-GROUP = *ANY / *NO / *YES
The selection criterion is the work file attribute.
WORK-FILE-GROUP = *ANY
The work file attribute is not a selection criterion.
WORK-FILE-GROUP = *NO
Only deletes file generations which are not marked as work files.
WORK-FILE-GROUP = *YES
Only deletes file generations which are marked as work files.
OPTION = *ALL / *SPACE / *DATA / *DATA-KEEP-ATTRIBUTES / *DESTROY-ALL
Controls the deletion of the file.
If DESTROY-BY-DELETE=YES
was defined in the catalog entry of the file, the file or released storage space will definitely be overwritten with binary zeros. If this is not the case and if OPTION=DESTROY-ALL was also not specified, the file or released storage space will be deleted only logically, rather than being overwritten.
OPTION = *ALL
The default setting for disk files.
The catalog entries for the selected file generations are to be deleted and their storage space will also be released.
OPTION = *SPACE
Only for file generations on public disks (for tape files the default setting ALL applies): the storage space for the file generations deleted by DELETE-FILE-GENERATION is released, but the catalog entry is retained, although amended: it is then identical with a catalog entry created by a CREATE-FILE-GENERATION command and SUPPORT=*NONE.
For private disks, the SPACE operand will be rejected.
OPTION = *DATA
Only for disk files (for tape files the default value ALL applies): The data in the selected files is “logically deleted”. After this, the user can no longer access the data, since he is no longer permitted to physically access the volume concerned. The group entry and storage space allocation still exist. The catalog entry is identical to that for a file generation which was created using CREATE-FILE-GENERATION but which has not yet been opened (FILE-STRUC=NONE, CRE-DATE=NONE).
OPTION = *DATA-KEEP-ATTRIBUTES
Only for disk files (the default ALL applies for tape files):
The data of the file generations involved is “logically deleted” as with OPTION=*DATA, but the data-related file attributes are retained. The data can no longer be addressed by the user.
OPTION = *DESTROY-ALL
Only for disk files (for tape files the default value ALL applies):
the storage space for the affected file generations is released and the group entry is deleted; in addition, the storage space thus released is overwritten with binary zeros so that, if the space is allocated again, nobody can read the old data (data protection). In the case of files on private disks, all the volumes on which the file was stored must be mounted at the time of deletion.
When a file is deleted, the action parameters are evaluated first. See the EXPORT-FILE command for details of exporting file generations. “Data destruction” when a file is deleted can also be permanently recorded in the group entry for the file using the command
CREATE-FILE-GROUP; in the group entry a “DESTROY” indicator is then set (DESTROY=YES). In this case storage space is released and it will be automatically overwritten.
MOUNT = *FIRST-DISK / *ALL-DISKS
Only for files on private disks:
Specifies whether or not to mount all the private disks which hold any part of the file which is to be deleted.
The user can request that only the first of the required private disks be mounted, or all of them. The MOUNT operand should be specified if the operands ALL or DESTROY-ALL are specified. For tape files or files on public disks, any MOUNT specification will be ignored.
MOUNT = *FIRST-DISK
It is only necessary for the first of the private disks, containing the start of the file generation and its group entry, to be online. The associated private disks do not have to be online.
MOUNT = *ALL-DISKS
All the private disks on which parts of the file are held, must be online. If any of the disks is missing, the file generation will not be deleted; on completion of the DELETE-FILE-GENERATION processing, the spin-off mechanism will be triggered.
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 the deletion process. The verification dialog mechanism is available only in interactive mode, though that does include procedures. The only operand value that you can specify in batch mode is *STD or *NO.
The user can intervene with the following inputs:
Y: the specified file or file set will then be deleted.
N: the specified file or file set will not be deleted.
T: processing of the command will be terminated.
?: the possible responses will be listed, with an explanation of each.
In addition, the following options can be specified, separated by commas:
,CHECK = NO The DIALOG-CONTROL mode will be changed to ‘*NO’.
,CHECK = PVS The DIALOG-CONTROL mode will be changed to ‘*CATALOG-CHANGE’.
,CHECK = MULTIPLE The DIALOG-CONTROL mode will be changed to ‘*MORE-THAN-ONE-FILE’.
,CHECK = SINGLE The DIALOG-CONTROL mode will be changed to ‘*FILE-CHANGE’.
,CHECK = ERROR The DIALOG-CONTROL mode will be changed to ‘*ERROR’.
,IGNORE = list-poss(4): ACCESS / EXDATE / RDPASS / WRPASS Specifies which protection attributes are to be ignored during deletion. Only applies to a verification dialog for a single file. RDPASS and WRPASS are available to privileged users only.
,PASSWORD = list-poss(3): <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647> Enables password-protected files to be deleted (maximum of 3 passwords). Only applies to a verification dialog for a single file.
DIALOG-CONTROL = *STD
The default value *STD corresponds to *MORE-THAN-ONE-FILE in interactive mode (SYSCMD is allocated to the terminal), and in procedures or in batch mode it corresponds to *NO.
DIALOG-CONTROL = *NO
The user cannot intervene in DELETE-FILE-GENERATION processing; all the specified file generations will be deleted (without a verification dialog).
DIALOG-CONTROL = *ERROR
If deletion of the selected file generations proceeds without error, they will be deleted immediately, as when NO is specified (i.e. no verification dialog). However, if a user-correctable error occurs, then a verification dialog takes place as for DIALOG-CONTROL = *FILE-CHANGE. DIALOG-CONTROL = *ERROR applies implicitly if DIALOG-CONTROL = *FILE-CHANGE is set. In the event of an error, the user may acknowledge the error message, abort DELETE-FILE-GENERATION processing or attempt to rectify the error. If he wishes, he can also change the DIALOG-CONTROL mode.
DIALOG-CONTROL = *FILE-CHANGE
For each file generation which is to be deleted, the user has the intervention options described under the first DIALOG-CONTROL operand. For each file generation which is to be processed, the user can decide in a dialog whether it should be deleted or not (response: YES/NO). If in the dialog he specifies protection attributes under “IGNORE”, or one or more passwords under “PASSWORD”, these will be taken into account for any selected file generation and, if satisfied, the file generation will be deleted without further queries (“YES” must also be specified). The user can also abort DELETE-FILE-GENERATION processing, or change the DIALOG-CONTROL mode.
The file generations which have been deleted will be listed in alphanumeric order.
DIALOG-CONTROL = *MORE-THAN-ONE-FILE
If exactly one file generation is specified, this will be deleted immediately. If GENERATION-NAME is partially qualified, which means that more than one file generation is selected, or if GENERATION-NAME contains wildcards, the user can decide, each time the catalog ID changes, whether or not file generations from the new catalog are to be deleted (see the intervention options described for the first of the DIALOG-CONTROL operands). He must respond to the question issued by the system with “YES” or “NO”. DIALOG-CONTROL =*MORE-THAN-ONE-FILE is useful if wildcards are specified for “catid” in the GENERATION-NAME operand. In the dialog, DELETE-FILE-GENERATION processing can be terminated, or the DIALOG-CONTROL mode can be changed.
DIALOG-CONTROL = *CATALOG-CHANGE
As for DIALOG-CONTROL = *MORE-THAN-ONE-FILE, the system starts a dialog if file generations in different catalogs (pubsets) are affected by DELETE-FILE-GENERATION processing. The user can determine whether the file generations in the current pubset should be deleted (YES/NO), DELETE-FILE-GENERATION processing should be terminated, or the DIALOG-CONTROL mode should be changed.
DIALOG-CONTROL = *USER-ID-CHANGE
Whenever the user ID is changed when deleting the file generations, a branch is made to guided dialog.
OUTPUT = *STD / *NO / *SYSOUT
The user can specify whether a message (DMS0800
) with the name of the deleted file generation is to be output to SYSOUT for each successful deletion. The default setting *STD is equivalent to OUTPUT=*NO.
OUTPUT = *NO
No messages are output to SYSOUT for successfully deleted file generations.
OUTPUT = *SYSOUT
For each file generation that is successfully deleted, a message with the name of that file generation is output to SYSOUT.
IGNORE-PROTECTION = *NONE / list-poss(4): *ACCESS / *EXPIRATION-DATE / *WRITE-PASSWORD / *READ-PASSWORD
The user can specify whether any defined protection against write access or any defined retention period is to be ignored. Systems support staff can also ignore password protection. The specification IGNORE-PROTECTION in the DELETE-FILE-GENERATION command thus makes it unnecessary to issue MODIFY-FILE-GENERATION-ATTRIBUTES commands to reset the protection attributes before the file generations can be deleted.
IGNORE-PROTECTION = *NONE
The protection attributes “read-only” (ACCESS=READ) and “retention period” (EXPIRATION-DATE) will be observed during deletion.
IGNORE-PROTECTION = *ACCESS
File generations for which protection against writing is defined by ACCESS=READ can still be deleted using DELETE-FILE-GENERATION.
IGNORE-PROTECTION = EXPIRATION-DATE
File generations which are still within their retention period (EXDATE > current date) may nevertheless be deleted using DELETE-FILE-GENERATION.
IGNORE-PROTECTION = *WRITE-PASSWORD
System support staff are authorized to ignore the protection attribute write password when deleting the file generation.
IGNORE-PROTECTION = *READ-PASSWORD
System support staff are authorized to ignore the protection attribute read password when deleting the file generation.
PASSWORDS-TO-IGNORE = *NONE / *SECRET / list-poss(3): <x-string 1..8> / <c-string 1..4> /
<integer -2147483648..2147483647>
The user can specify one or more passwords, which will permit files protected by these passwords to be deleted. The passwords entered here are not recorded into the password table for the job, and are valid only for the current DELETE-FILE-GENERATION processing. Up to 3 passwords may be specified in the form of a list.
In order to delete a password-protected file, the password at the highest access level must be specified (see the ADD-PASSWORD command).
The operand has the following special characteristics:
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.
The password entered is not logged.
PASSWORDS-TO-IGNORE = *NONE
No passwords are specified.
SUPPRESS-ERRORS = *NONE / list-poss(3): <alphanum-name 7..7>
In procedures the user can specify whether the spin-off mechanism or SDF-P error handling is to be triggered every time an error occurs (apart from syntax errors), or whether specific error conditions are to be ignored.
SUPPRESS-ERRORS = *NONE
All errors will trigger the spin-off mechanism or SDF-P error handling.
SUPPRESS-ERRORS = list-poss(3): <alphanum-name 7..7>
The user can define which errors are to be ignored by means of their DMS error codes (alphanum-name 7..7). If the specified error occurs, the spin-off mechanism will not be triggered. A maximum of 3 error codes may be specified.
DMS error code: 7 characters, of which the first three are always “DMS”; the last 4 characters identify the error; the digits 0..9 and letters A..F are permitted. When error codes are entered, no check is made to verify that valid error codes have been specified.
A detailed list of valid DMS error codes can be found on the manual server (URL: http://bs2manuals.ts.fujitsu.com ) by means of an HTML application and on the “BS2000 SoftBooks” DVD.
Return codes
(SC2) | SC1 | Maincode | Meaning/Guaranteed messages |
---|---|---|---|
0 | CMD0001 | Command executed | |
1 | 0 | CMD0001 | No action required |
2 | 0 | DMS05F7 | File generation does not exist, but group entry is updated |
2 | 0 | DMS06D6 | Error on deleting certain files |
1 | CMD0202 | Syntactical or semantic error in command | |
32 | DMS0584 | A state that does not allow the function to continue was reported during processing | |
64 | CMD0102 | Interrupted by K2 key | |
64 | CMD0216 | Privileges error | |
64 | DMS0501 | Requested catalog not available | |
64 | DMS0512 | Requested catalog not available | |
64 | DMS051B | Requested user ID not in pubset | |
64 | DMS051C | User not authorized to access pubset | |
64 | DMS0535 | Specified file not shareable | |
64 | DMS055C | Catalog entry not found on specified private disk | |
64 | DMS057B | Invalid operand for migrated file | |
64 | DMS057C | Processing not possible due to HSMS error | |
64 | DMS057D | File has been migrated and cannot be recalled without delay | |
64 | DMS057E | File has been migrated, and HSMS is not available | |
64 | DMS0585 | Error detected during catalog processing or multihost processing | |
64 | DMS0586 | Currently not possible to access or reserve volume | |
64 | DMS0587 | Use of specified command restricted by system administrator | |
64 | DMS05FC | Specified user ID not in HOME pubset | |
64 | DMS0609 | Access to system file not permitted | |
64 | DMS06FF | BCAM connection severed | |
130 | DMS0524 | System address space full | |
130 | DMS0582 | File is currently locked or in use and cannot be processed |
Notes
If it is necessary to delete a file generation which is held on a private disk, then the device on which this disk is mounted will be requested for the job. After deletion of the file generation, the device will be returned to the system.
For file generations stored on private disks, if DESTROY-ALL or MOUNT=*ALL-DISK is specified then all the volumes which hold the file generation must be already mounted at the time the command is executed. Otherwise, only the first volume which holds the file generation has to be mounted. The following volumes will not be requested until the command is being executed.
This rule also applies if a partially qualified file generation name is specified in the DELETE-FILE-GENERATION command, thus addressing a number of files. In this situation, it is not necessary that all the volumes for all the file generations are mounted simultaneously. The system will determine which of the file generations requires the most devices, and will request the corresponding number of devices.
Example
/show-file-attr max.group.4,select=(generation=*yes)
———————————————————————
(1)
% 0 :2OS2:$USER1.MAX.GROUP.4 (FGG) % 3 :2OS2:$USER1.MAX.GROUP.4(*0001) % 3 :2OS2:$USER1.MAX.GROUP.4(*0002) % 3 :2OS2:$USER1.MAX.GROUP.4(*0003) % 3 :2OS2:$USER1.MAX.GROUP.4(*0004) % 3 :2OS2:$USER1.MAX.GROUP.4(*0005) % 3 :2OS2:$USER1.MAX.GROUP.4(*0006) % 3 :2OS2:$USER1.MAX.GROUP.4(*0007) % 3 :2OS2:$USER1.MAX.GROUP.4(*0008) %:2OS2: PUBLIC: 9 FILES RES= 24 FRE= 24 REL= 24 PAGES
/del-file-gen gen-name=max.group.4(*2),delete=*generation-before,output=*sysout
% DMS0800 SPECIFIED FILE ':2OS2:$USER1.MAX.GROUP.4(*0001)' DELETED——————————————(2)
/del-file-gen gen-name=max.group.4(*6),delete=*generation-after,output=*sysout
% DMS0800 SPECIFIED FILE ':2OS2:$USER1.MAX.GROUP.4(*0008)' DELETED—————————————(3) % DMS0800 SPECIFIED FILE ':2OS2:$USER1.MAX.GROUP.4(*0007)' DELETED
/del-file-gen gen-name=max.group.4(*2)
—————————————————————————
(4) —
———
————
————
———
% CMD0051 INVALID OPERAND 'DELETE' % CMD0099 MANDATORY OPERAND INVALID OR MISSING————————————————————————————————(5)
/show-file-attr max.group.4,select=(generation=*yes)
————————————————————————
(6)——
% 0 :2OS2:$USER1.MAX.GROUP.4 (FGG) % 3 :2OS2:$USER1.MAX.GROUP.4(*0002) % 3 :2OS2:$USER1.MAX.GROUP.4(*0003) % 3 :2OS2:$USER1.MAX.GROUP.4(*0004) % 3 :2OS2:$USER1.MAX.GROUP.4(*0005) % 3 :2OS2:$USER1.MAX.GROUP.4(*0006) %:2OS2: PUBLIC: 6 FILES RES= 15 FRE= 15 REL= 15 PAGES
(1) | The SHOW-FILE-ATTRIBUTES command returns information on the file generation group |
(2) | The DELETE-FILE-GENERATION command is used to delete all generations that were created prior to generation *0002. The message sent to SYSOUT indicates that generation *0001 was deleted (see the operand OUTPUT=*SYSOUT). |
(3) | The DELETE-FILE-GENERATION command is used to delete all generations that were created after generation *0006. The message sent to SYSOUT indicates that generations *0007 and *0008 were deleted (see the operand OUTPUT=*SYSOUT). |
(4) | The DELETE-FILE-GENERATION command is issued for generation *0002 without a specification for the DELETE operand. |
(5) | The above command is rejected, since the DELETE operand is mandatory. The DELETE-FILE-GENERATION command is used to delete generations that were created before or after the specified generation. |
(6) | The SHOW-FILE-INFORMATION command returns information on the current catalog entries for the file generation group and for its existing generations. |