You can recatalog a non-VSAM data set using the CATALOG and CAMLST
macro instructions. Recataloging is usually necessary if a data set
is extended to a new volume.
Build a complete volume list in virtual storage consisting of an
entry for each volume on which the data set resides. The first 2 bytes
of the list indicate the number of entries in the list; the number
must not be zero. Each 12-byte volume pointer consists of a 4-byte
device code, a 6-byte volume serial number, and a 2-byte data set
sequence number. The sequence number is always zero for direct access
volumes.
The format of the CATALOG and CAMLST macros is:
>>-+-------+--CATALOG--list_addrx------------------------------><
'-label-'
>>-listname--CAMLST--RECAT--,name_relexp--,vol_list_relexp------>
>--+--------------------------+--------------------------------><
'-,DSCBTTR=dscb_ttr_relexp-'
- list_addrx
- Points to the parameter list (labeled listname) set up by the
CAMLST macro instruction.
- RECAT
- Code this operand as shown.
- name_relexp
- Specifies the virtual storage location of the fully-qualified
name of a data set. The name cannot exceed 44 characters. If the name
is less then 44 characters, it must be followed by at least one blank.
In a DFSMShsm environment, if the data set name is less than 44 characters,
it must be padded with blanks until the 44-character length is reached.
A C-type DC instruction can define the name.
- vol list_relexp
- Specifies the virtual storage location of an area that contains
a volume list. The area must begin on a halfword boundary.
- DSCBTTR=dscb ttr_relexp
- Specifies the virtual storage location of the 3-byte relative
track address (TTR) of the identifier DSCB. This DSCB is on the first
or only volume of the data set. The address is relative to the beginning
of the volume.