Using Data Classes
A data class is a collection of allocation and space attributes that you define. It is used when data sets are created. You can simplify data set allocation for your users by defining data classes that contain standard data set allocation attributes. You can use data classes with both system-managed and non-system-managed data sets, but some data class characteristics are only available with system-managed requests.
Data class attributes define space and data characteristics of data sets that are normally specified on JCL DD statements, TSO/E ALLOCATE commands, access method services (IDCAMS) DEFINE commands, dynamic allocation requests, and ISPF/PDF panels. For tape data sets, data class attributes can also specify the type of cartridge and recording method, and if the data is to be compacted. Users then need only specify the appropriate data classes to create standardized data sets.
You can use data class to allocate sequential and VSAM data sets in extended format for the benefits of compression (sequential and VSAM KSDS), striping, and large data set sizes (VSAM).
You can also use the data class automatic class selection (ACS) routine to automatically assign data classes to new data sets. For example, data sets with the low-level qualifiers LIST, LISTING, OUTLIST, or LINKLIST are usually utility output data sets with similar allocation requirements, and can all be assigned the same data class.
Figure 1 shows that data sets can be assigned a data class during data set creation.

If you change a data class definition, the changes only affect new allocations. Existing data sets allocated with the data class are not changed, except for the system-managed buffering attribute. With system-managed buffering, the data class attributes are retrieved and used when the data set is opened.
- Assign data classes to system-managed and non-system-managed data, even though data class is optional. The data class name is kept in the catalog entry for system-managed data sets for future reference. The data class name is not saved for non-system-managed data sets, although the allocation attributes in the data class are used to allocate the data set.
- For objects on tape, do not assign a data class using the ACS routines. To assign a data class, specify the name of that data class on the SETOAM command.