#### SPACE

#### Synopsis

    HELP:   Platform dependent space definition parameter
    TYPE:   OBJECT
    SYNTAX: SPACE(PRIMARY=num,SECONDARY=num,DIRBLOCKS=num,VOLSER='str',VOLUNIT='str',DATACLASS='str',MGMTCLASS='str',STORCLASS='str',NORMALDISP=CATALOG/CATLG/DELETE/KEEP/UNCATALOG/UNCATLG,ABORTDISP=CATALOG/CATLG/DELETE/KEEP/UNCATALOG/UNCATLG,RELEASE=YES/NO,LARGEFILE,UNMOVABLE,CONTIG,PERMANENT,RLS=NRI/CR/CRE)

#### Description

The space definition object collects several parameters for platforms where data sets are preallocated like z/OS® and where cylinders or tracks must be predefined for a file allocation.

The supported parameters are platform dependent. Only parameters relevant for a certain platform are used. This way it is possible to store files on special volumes, units, and with SMS-classes without any JCL usage on z/OS®.

All sizes must be specified in megabytes (MiB). The conversion into platform-dependent units (tracks, cylinders, ...) is done internally. NOTE: 1 MiB = 1024 KiB = 1024*1024 Bytes (21 tracks on z/OS (3390))

If the sum of primary and secondary space is larger than the basic file limits, large files or extended attribute files are allocated automatically. To allocate smaller files as large files, the corresponding switch must be specified.

If a data class is specified, default values for data set organization record format, record length, block size, etc. are no longer used since version 5.1.22. Only the internally calculated file size (if known) overrides the values defined by the data class. When using a data class, the values defined by the data class can be overridden by providing them as parameters of this object. By specifying one of the space parameters, the default and not the data class value for the other parameters will be used.

We recommend to use our intelligent defaults and no data class definitions. For example, for fixed length record datasets we increase the the primary and secondary space depending on the record format and the record length of the origin dataset and the target record length to include the potential/required space for padding.

#### Arguments

- `NUMBER: PRIMARY=num - Primary size in megabytes`
- `NUMBER: SECONDARY=num - Secondary size in megabytes`
- `NUMBER: DIRBLOCKS=num - Directory blocks for partitioned data sets`
- `STRING: VOLSER='str' - Volume serial number`
- `STRING: VOLUNIT='str' - Volume unit`
- `STRING: DATACLASS='str' - Data class`
- `STRING: MGMTCLASS='str' - Management class`
- `STRING: STORCLASS='str' - Storage class`
- `NUMBER: NORMALDISP=CATALOG/CATLG/DELETE/KEEP/UNCATALOG/UNCATLG - Close disposition for normal end [CATALOG]`
  - `CATALOG - Close disposition catalog`
  - `CATLG - Close disposition catalog`
  - `DELETE - Close disposition delete`
  - `KEEP - Close disposition keep`
  - `UNCATALOG - Close disposition uncatalog`
  - `UNCATLG - Close disposition uncatalog`
- `NUMBER: ABORTDISP=CATALOG/CATLG/DELETE/KEEP/UNCATALOG/UNCATLG - Close disposition for abnormal end [KEEP]`
  - `CATALOG - Close disposition catalog`
  - `CATLG - Close disposition catalog`
  - `DELETE - Close disposition delete`
  - `KEEP - Close disposition keep`
  - `UNCATALOG - Close disposition uncatalog`
  - `UNCATLG - Close disposition uncatalog`
- `NUMBER: RELEASE=YES/NO - Release unused space when file is closed [SEQ=YES, PDS=NO]`
  - `YES - Yes, do it`
  - `NO - No, don't do it`
- `SWITCH: LARGEFILE - Enforce the allocation of a large file [FALSE]`
- `SWITCH: UNMOVABLE - Allocate space unmovable [FALSE]`
- `SWITCH: CONTIG - Allocate space contiguously [FALSE]`
- `SWITCH: PERMANENT - Allocate space permanently [FALSE]`
- `NUMBER: RLS=NRI/CR/CRE - Specifies the type of record level sharing (RLS) being done for a specific data set [NONE]`
  - `NRI - No Read Integrity`
  - `CR - Consistent Read`
  - `CRE - Consistent Read Explicit`