With the exception of physical allocation, the user has no influence on the selection of the disks on which storage space is allocated (if the pubset consists of more than one disk). The FSTAT macro, the SHOW-FILE-ATTRIBUTES command or the SPCCNTRL utility routine provide the relevant information about the individual disks on which the file is residing.
Each pubset contains the following information:
an entry for each user who may access this pubset, implicitly excluding all other users
an upper space limit, the public space limit, for each user with access rights
An entry for each user with access rights specifies whether he/she may exceed his/her public space limit (PUBLIC-SPACE-EXCESS=*NO in the user entry).
A user who is not authorized to access a pubset cannot request memory space on this pubset.
If a user has access authorization for a pubset, he/she can request storage space until his/her public space limit is exhausted. Only when he/she may exceed his/her public space limit may he/she also request storage space in excess of this.
The operator receives a message if a user exceeds his/her public space limit. If this limit is still exceeded at the end of the job, DMS issues a corresponding message to the user during LOGOFF processing.
The storage space limit is set by systems support. The user can display his limit by means of the SHOW-USER-ATTRIBUTES command.
Extending storage space
If the requested storage space is insufficient, it can be extended. This can be done either explicitly, for example, using the MODIFY-FILE-ATTRIBUTES ...,SUPPORT= *PUBLIC-DISK(SPACE=*RELATIVE(...)) command or the FILE ...,SPACE=... macro, or implicitly during processing by DMS. When allocating additional storage space, DMS tries as far as possible to avoid splitting extents by assigning extents that are contiguous to the extent occupied last.
Releasing storage space
The user can release storage space using the ERASE macro (SPACE operand) or the DELETE-FILE command (operand OPTION=SPACE). The catalog entry of the affected files still exists, and looks just like a catalog entry created by means of the CATAL macro or the CREATE-FILE command.
The user can release reserved storage space which has not been used by means of the FILE macro (SPACE=<-n>) or the MODIFY-FILE-ATTRIBUTES command (operand SPACE=*RELEASE(...)). If the catalog entry indicates DESTROY=YES, the space released in this manner is overwritten. As no unit boundaries are observed during overwriting, the remaining data may possibly be overwritten (backwards) as far as the last occupied page.