DFS0651W ERROR XX READING {DBD|PSB|INT} yyyyyyyy FROM {ACBLIB|DIRECTORY}.
Explanation
Validation of the PSB, DBD, or intent list read from ACBLIB or the directory data set indicated an error. The block in error is not used.
The yyyyyyyy field indicates the name of the PSB, DBD, or intent list where the validation error was detected. The xx field indicates the validation error detected as follows:
- xx
- Validation error
- 01
- The read should have returned DMB yyyyyyyy. Validation of the data read indicated that what was read was not a DMB.
- 02
- The read should have returned PSB yyyyyyyy. Validation of the data read indicated that it is not the expected PSB.
- 03
- The PSB read is not consistent with the PSB sizes obtained from the ACBLIB or directory PDS directory at initialization time.
- 05
- The read of the intent list for PSB yyyyyyyy read zero bytes.
- 06
- The length of the intent list stored within the list itself for PSB yyyyyyyy is invalid.
- 07
- The length of the intent list read for PSB yyyyyyyy is not consistent with the length of the intent list obtained from the ACBLIB or directory PDS directory at IMS initialization time.
- 08
- The intent list for PSB yyyyyyyy contains invalid offsets.
- 09
- The intent list for the PSB included DMB A but did not include DMB B. DMB B is related to DMB A either by a secondary index or a logical relationship and should be included in the intent list. The PSB is therefore inconsistent with its DBDs. The ACBGEN utility must be run to resolve the inconsistency.
- 10
- The DSG DMB offset is inconsistent with the intent list length. This offset is used to retrieve the DDIR address from the PSB intent list. A DDIR address could not be retrieved because the DSG DMB offset is zero, negative, or larger than the intent list length. ACBGEN is required to resolve the inconsistency.
- 11
- The data set group built for PSB yyyyyyyy is inconsistent with the data set group defined in the related DBD. To resolve the discrepancy, run the ACBGEN to rebuild the DBD. This can also occur when the PSB refers to a DBD that was not found in the ACBLIB or directory.
- 12
- The read did not return a time stamp when this PSB was last rebuilt. The time stamp was used to validate the consistency between this PSB and its DMB. The time stamp was generated by the ACBGEN utility, and was stored at the end of PSB. You must run the ACBGEN utility again to rebuild the PSB.
- 13
- One or more of the DMBs referenced in the PSB intent list has structural changes and has been rebuilt. The PSB has not been rebuilt and is not consistent with its DBD. You must run the ACBGEN utility again to resolve the inconsistency.
- 14
- The DMB referenced in the PSB intent list is being committed by Member Online Change. The program that uses this PSB cannot be scheduled.
- 15
- The PSB size in the PSB directory is not consistent with the size obtained from the ACBLIB PDS directory at ACB online change time.
Possible reasons for the above errors are as follows:
- The active ACBLIB was compressed while being used by IMS.
- Library Look Aside (LLA) was used improperly. For example, LLA was used for the inactive ACBLIB and the resident directory was not updated following the copy of the staging library to the inactive ACBLIB. The /MODIFY COMMIT or INITIATE OLC PHASE(COMMIT) commands then switched the inactive to the active with a back-level copy of the PDS directory for the ACBLIB left in memory. It is highly recommended that LLA never be used for the ACBLIB data sets.
- A PSB was copied to both the inactive and the active ACBLIBs before the /MODIFY COMMIT or INITIATE OLC PHASE(COMMIT) commands. If this occurs, the comparison of the dates of the active and inactive will be equal with the implication that the PSB did not change. This will result in reading a new PSB without refreshing the PSB sizes kept in the PSB directory.
- There is a duplicate database definition for a database that has logical relationships. Because NAMECHK=NO was specified in the IMSCTRL macro, two copies of the same DDIR have been generated: the first DDIR contains a valid DMB address, but the second contains a DMB address of zeros. The PSB intent list could point to either the first or second DDIR. This error message occurs when it points to the invalid DMB address in the second DDIR.
System action
If the error occurs on a DMB, the DMB is marked bad. Programs that use the DMB are not scheduled. The condition can only be corrected by replacing the DMB using online change. If the error occurs on a PSB or an intent list, the PSB is marked bad unless it is a DOPT PSB, in which case it is stopped. Programs using the PSB will not be scheduled. If the PSB is a DOPT PSB, the condition can be corrected by replacing the PSB in ACBLIB or the directory data set. If the PSB is not a DOPT PSB, it can only be corrected by replacing the PSB using online change.
If the PSB is not a DOPT PSB and the validation error code is 15, the error condition can only be corrected by not specifying the same ACBLIB data set on both active and inactive ACBLIB concatenation. As a result, ACB online change will not work.