FDRCOPY SMS Examples
The following are examples of using FDRCOPY to copy and move data sets on a system that has SMS-managed volumes. They illustrate techniques for converting data sets to and from SMS management. Output data sets are SMS-managed if the SMS Storage Class ACS routine assigns a storage class to the data set or if it accepts the storage class passed to it by FDRCOPY. Automatic Class Selection (ACS) routines are coded by each installation, so the decision on whether a data set is to be SMS-managed is a local one, and is usually out of the control of FDRCOPY (and the end-user).
When using FDRCOPY to create output data sets that are SMS-managed, you need not specify an output volume. If the output data set is SMS-managed, SMS assigns an output volume. However, if any output data set is not assigned a storage class, it is not copied or moved unless a non SMS-managed target volume is specified by a TAPEx DD statement or by the NVOL= operand.
All examples in this section are found in the JCL library installed with FDR. The member names are EX2112x.
Convert data sets to SMS example
MOVE a set of data sets from three non SMS-managed volumes, converting them to SMS management. The SMS Automatic Class Selection (ACS) routines must be coded to assign these data sets a storage class; SMS selects an output volume for each and allocates the data sets. The original data sets are scratched, and the output data sets are cataloged on the SMS-managed volumes.
Copy SMS-managed data sets example
COPY a set of SMS-managed data sets, creating SMS-managed copies. The original storage and management classes of the input data sets are passed to the SMS Automatic Class Selection (ACS) routines, which may accept or override them. Data sets with a first-level index beginning with “APPL” are copied. The NEWI= parameter is used to insert “TEST” as a new second-level index in all the output data set names. MAXTASKS=3 allows FDRCOPY to concurrently process up to three input volumes at a time.
Override SMS classes example
MOVE a set of data sets (that may be SMS-managed or non SMS-managed), making them SMS-managed and requesting that certain SMS classes be assigned to the output data sets. The storage and management classes specified are passed to the SMS Automatic Class Selection (ACS) routines, which may accept or override them. The input data sets are scratched and the output data sets are cataloged on the output SMS-managed volumes.
Convert SMS-managed data sets to non SMS-managed example
MOVE all data sets off an SMS-managed volume, requesting that they are converted to non SMS-managed. The SMS Automatic Class Selection (ACS) routines are invoked, but the storage class routine is passed a null storage class; if it accepts the null class, FDRCOPY allocates the output data sets as non SMS-managed on the volumes specified by NVOL=.
Bypass Automatic Class Selection routines example
An authorized user (such as a storage administrator) may need to bypass the SMS Automatic Class Selection (ACS) routines, to force a data set to be SMS-managed or non SMS-managed, and to specify the SMS classes to be used. In this example, TEST.DATASET1 is assigned the specified SMS classes; SMS is invoked to select a storage group and assign a volume. TEST.DATASET2 is assigned a null storage group, so it is moved to the non SMS-managed volume specified by TAPE1. See the description of BYPASSACS for authorization requirements.
Bypass SMS allocation example
An authorized user (such as a storage administrator) may need to force the allocation of SMS-managed data sets onto specific volumes; normal SMS facilities do not allow you to do so, but FDRCOPY does. Each data set selected is passed to the SMS storage and Management Class ACS routines; each data set to which SMS assigns a storage class is allocated and cataloged on the volume indicated by NVOL=; this volume MUST be a SMS-managed volume. Any data set that does not get a storage class assigned is not moved. See the description of BYPASSACS for authorization requirements.