There is a feature in Copy/Cat that will allow you to MOD onto an existing tape. This is available in Copy/Cat 12.0 for the FILECOPY function.
You will be able to input the VOLSER you want to MOD onto, or give Copy/Cat a high level qualifier and jobname to determine which tape to use.
There are times when you need to add files to a tape that you have already copied so that you can fully utilize the tape capacity. The MOD function will allow you to do this.
Copycat rel 12.0.
To use the high level qualifier, you will need to add the keyword of MODHLQ=xxxxxx. Copy/Cat will take this and add the jobname to the DSN and catalog it on the OS/Catalog. For your next run of Copy/Cat if you use the same jobname and keyword of MODHLQ=xxxxxx we will do a catalog locate to find the VOLSER that we are to MOD onto. This will allow you to more fully use your large format tapes.
When using the MOD function, Copy/Cat will open the output tape, first as input, with BLP and 98000, to determine the compaction mode for cartridge. This is done to prevent allocation failures if the TRTCH value used for output allocation does not match the TRTCH of the existing files on the tape.
Below are the new keywords that can be used with the FILECOPY function of Copy/Cat.
Option MERGE=MOD causes all input files to be merged into a single output set, like MERGE=YES. But instead of starting a new output chain on a scratch tape, Copy/Cat will try to resume stacking on an existing output volume which was created in a previous execution. If no appropriate active volume is found, a scratch tape is requested.
Option MODVOL can be used to specify an active output volume explicitly.
Option MODHLQ can be used to maintain a catalog entry pointing to the last file created by a specific job. Any subsequent Filecopy job using the same jobname and the same MODHLQ specification will then automatically be directed to the output volume that was used last by the preceding job. If neither MODVOL nor MODHLQ is specified, MERGE=MOD operates exactly like MERGE=YES.
When MERGE=MOD is used to continue stacking on an existing Copy/Cat volume, the use of CTLFILE and OUTDISP must match the previous specification. If CTLFILE is used, the specified value must match the DSN of the first data set on the output volume set. If the default of OUTDISP=SAME is not used, the specified EXPDT or RETPD value must match the EXPDTs of the existing files on the volume set. The new date must be equal to or higher than all existing dates, and the date type must be the same. If the OUTDISP date is higher than the previous volume retention, the EXPDT of the first file is increased accordingly.
If MERGE=MOD is used with DUPLEX=YES, the primary and duplex output chains must be kept in sync. When active volumes are to be used for output, a pair of matching output volumes from a previous Filecopy execution must be selected.
MODHLQ Specifies a 1- to 24-character DSN high level qualifier, used to establish a dummy catalog entry for MERGE=MOD processing. MODHLQ is valid with MOD only.
If MODHLQ is specified, Copy/Cat builds the following data set names:
"modhlq.COPY/CAT.jobname" for primary output and "modhlq.COPY/CAT2.jobname" for duplex output, "modhlq" is the specified option value, and "jobname" is the name of the executing Copy/Cat job.
If MODVOL is not specified (or if MODVOL2 is not specified for duplex processing), the above data set name is located in the system catalog. If an entry is found, the cataloged volser and file sequence are validated on the tape system. If the tape represents a valid Copy/Cat volume, it is used for output, and the Filecopy job starts stacking files behind the existing files on the tape.
Copy/Cat maintains the pointer to the last volume and the last file sequence of the output chain by deleting the catalog entry whenever a new output data set is opened and by recataloging it upon successful close. The catalog entry is always maintained when the MODHLQ option is specified, but any previously existing catalog entry matching high level qualifier and jobname is not necessarily used to determine the active output volume.
Option MODVOL can be used to override the volser retrieved from the catalog entry.
MODVOL Specifies the primary output volume to be used for MERGE=MOD processing. MODVOL is valid with MERGE=MOD only. MODVOL overrides any volser determined from a catalog entry via option MODHLQ. volser Specifies the volser of a Filecopy output volume created in a previous Copy/Cat execution. Copy/Cat will continue stacking files on this volume, behind the existing data sets.
SCRTCH Indicates that a scratch tape should be requested for the primary Filecopy output, though MERGE=MOD was specified.
MODVOL2 Specifies the duplex output volume to be used for MERGE=MOD processing. MODVOL2 is valid only with MERGE=MOD and DUPLEX=YES.
MODVOL2 overrides any duplex volser determined from a catalog entry via option MODHLQ. volser Specifies the volser of a Filecopy output volume created in a previous Copy/Cat execution. Copy/Cat will continue stacking files on this volume, behind the existing data sets.
SCRTCH Indicates that a scratch tape should be requested for the duplex Filecopy output, though MERGE=MOD was specified.
VOLCHAIN Can be used to prevent creation of multivolume output chains on physical cartridges.
YES Indicates that end of volume is processed normally. When the end of a tape is reached on output, the remainder of the current data set is written to a new scratch tape, which is chained to the previous tape as secondary volume. VOLCHAIN=YES is the default.
NO Indicates that multivolume chaining is to be suppressed when possible. At EOV, if the current data set has not used more than half of the tape space, the partial file is expired on the tape system and the entire input file is recopied from the beginning to a new scratch tape as file sequence 1. The volumes are not chained.
VOLCHAIN=NO may be used with MERGE=YES, MERGE=NO and MERGE=MOD, but is not valid with UNSTACK.
Note: VOLCHAIN=NO has no effect on reel tapes and on virtual tapes. VOLCHAIN=NO does not take effect when DUPLEX=YES and BUFFER=MULTIPLE are both specified.