ADALOD uses the TEMP data set to store the following information:
restart information;
Data Storage RABN/ISN for each record to be deleted (UPDATE only);
contents of the normal index at the start of the operation (UPDATE only);
descriptor values obtained from the input data set;
ADAM overflow area (ADAM files only).
If the TEMP data set is filled while collecting descriptor values from the input data set, ADALOD temporarily writes the remaining descriptors to the sequential temp file DDFILEA (if specified in the JCL). The descriptors are later read back in when the new index is built.
If actually called, DDFILEA makes ADALOD operation considerably slower than specifying a TEMP data set that is large enough to hold all descriptor values. The DDFILEA TEMP data set should normally be used only as a safety net to ensure adequate space for all descriptors during ADALOD operation. Specifying the DDFILEA TEMP file therefore avoids an ADALOD abend caused by a temp area overrun.
Notes:
If you are running ADALOD UPDATE only to delete ISNs, the size of the TEMP data set must be calculated as the sum of the calculations in the following three steps:
Part 1 of TEMP data set contains:
RABN 1 : information for restart
RABN 2 : FCB of the file
RABN 3 - n : DETAB (count of DEs * 116). For example, one element is 116 bytes. The count of DEs is the number of DEs in the FDT.
Part 2 of the TEMP data set contains the list of ISNs to be deleted, plus the belonging DS-RABNs, 8 bytes per element. Calculate:
(8 * to-be-deleted-ISNs) / (TEMPBLKSIZE - 16) = needed-blocks
Part 3 contains the complete NI:
count NI-BLKS * ASSOBLKSIZE) / (TEMPBLKSIZE - 16) = needed blocks