ALLOCATE

Access method services identifies the verb name ALLOCATE and attaches the terminal monitor program (TMP) that runs Time Sharing Option (TSO) commands in the background. The ALLOCATE command should be used only to allocate new data sets to the job step. If you use ALLOCATE through access method services for anything else (the handling of SYSOUT data sets, for example), you can get unpredictable results. Refer to z/OS TSO/E Programming Guide for additional information on using this command. Table 1 separates the parameters to that you should use under access method services from the parameters that cause unpredictable results.

When ALLOCATE is used, the data set is allocated to the job step. If your job contains multiple allocations, you might need to use the DYNAMNBR parameter on the job control language (JCL) EXEC statement. DYNAMNBR establishes a control limit used by TMP when allocating a data set. The control limit is the number of data definition (DD) statements that are coded plus the value coded in DYNAMNBR. If you do not use DYNAMNBR, the system sets it to 0 (the default). If you code DYNAMNBR incorrectly, the system uses the default and issues a JCL warning message. See z/OS MVS JCL User's Guide for a description of how to code the DYNAMNBR parameter. For an example illustrating the use of DYNAMNBR, see Allocate a Data Set Using SMS Class Specifications: Example 1.

When you use the ALLOCATE command within access method services, you must follow the data set naming conventions of TSO when the TMP is run in batch mode. That is:
  • If the data set name is not in quotation marks and a USER parameter is given in the JCL, the value in the USER parameter is prefixed to all data set names given by ALLOCATE.
  • If the USER parameter is not in the JCL, no prefix is added to any data set name given by ALLOCATE.
For information about the naming conventions of TSO and other considerations when you use access method services commands from a TSO background job, see z/OS TSO/E User's Guide. For information about the USER parameter and its Resource Access Control Facility (RACF®) requirements, see z/OS MVS JCL Reference.
You can use the ALLOCATE command to define data set attributes in several ways:
  • You can use the Storage Management Subsystem (SMS) parameters STORCLAS, MGMTCLAS, and DATACLAS. You can either define these parameters explicitly, or you can let them default to use the parameters assigned by the ACS routines that your storage administrator defines. Contact your storage administrator for information about storage administration policies and about how the ACS routines might apply.

    You cannot override attributes that the STORCLAS and MGMTCLAS parameters assign. You can override attributes that the DATACLAS parameter assigns. For example, if you use both the DATACLAS parameter and the SPACE parameter, SMS assigns all the attributes defined in the DATACLAS, but uses the values you defined in the SPACE parameter when allocating the data set.

  • You can use the LIKE parameter to allocate a data set with the same attributes as an existing (model) data set. The model data set must be a cataloged data set. You can override any of the model data set attributes by stating them in the ALLOCATE command.
  • You can identify a data set and explicitly describe its attributes.