AREAS and AREASIZE Options

Disk or pack files are divided in areas. Areas are allocated only as they are needed; thus, a potentially large file can be small initially and grow as necessary. The user can control the maximum amount of disk space allocated to a file using the AREAS and AREASIZE options. The maximum file size is 2**28 – 1 (268435455) segments. LIMITERROR 1 occurs when a program stores more records than the maximum file size. To avoid this problem, run garbage collection to consolidate deleted space or reorganize the structure to have more sections.

The AREAS option specifies the maximum number of areas to be assigned to the file. The maximum value allowed for the AREAS option is the result of 1000 – N, where N is the number of areas allocated for the system. The maximum AREASIZE is 143,165,576 segments.

The user can specify the length of an area using the AREASIZE option. (A synonym for AREASIZE is AREALENGTH.) Area size can be specified in records, segments, blocks, or bytes. Records is assumed by default.

If neither the AREAS nor the AREASIZE options are used, the system automatically computes values for areas and area size based upon the population and record size of the data set. Values for areas and area size are always integers. Consequently, the actual number of records which the data set can contain can exceed the population specified by the user.

For a sectioned direct data set, the following information applies:

  • The file size per section is derived by default from the size of the largest section in the Access based on the difference between consecutive section bounds. This default file size per section can be overridden by specifying the full file size per section using AREAS, AREASIZE, and BLOCKSIZE if AREASIZE is given in blocks.

  • The embedded structures (data sets, sets, and subsets) of a sectioned direct data set must have their file sizes fully specified using AREAS, AREASIZE, and BLOCKSIZE if AREASIZE is given in blocks.

  • The index sets and subsets of a sectioned direct data set must have their file sizes fully specified using AREAS, AREASIZE, and BLOCKSIZE if AREASIZE is given in blocks.

For sectioned data sets, the following information applies

  • The number of AREAS specified applies to each section, so the number of AREAS for the entire data set is the number of sections times the number of user specified AREAS, plus any system allocated areas provided by the DASDL compile.

  • The number of sections has no effect on the AREASIZE.

For random data sets, the default values for areas and area size are large enough to contain the entire population despite an uneven distribution of records among the basic blocks.

If values for areas and area size are not specified for variable-format data sets, the DASDL compiler computes the areas and area size based on the largest variable-format type.

The DASDL compiler always allocates extra disk areas for each data set. These system‑allocated areas are provided in addition to the user-allocated areas that were specified explicitly or computed implicitly.

For standard data sets, the DASDL compiler allocates system areas for available space tables. For all other data sets, the DASDL compiler allocates one system area. Enough available space is allocated to avoid run-time limit errors even if all records in the data set are deleted.

A syntax error is returned if the combination of system and user areas exceeds 1000 areas.