ICHECK: Check Index Physical Structure

Use the ADACHK ICHECK utility function to check the physical structure of the index while concurrent updates are running. This utility function validates the index based upon the descriptor value structures and the Associator extents defined by the general control blocks (GCBs) and file control blocks (FCBs). It also checks the check index and address converter for specific files, invoking the ACCHECK function to provide this functionality.

The syntax of the ADACHK ICHECK utility function is:

Syntax

This document describes the syntax and parameters of the ICHECK function.


Essential Parameters

There are no required parameters for this utility function.

Optional Parameters and Subparameters

The following optional parameters can be specified.

ABEND34: Change User Abend 35 to 34

This optional parameter can be used to change a user abend 35 to user abend 34 if a utility error occurs. This ensures that a dump is produced when the utility terminates abnormally.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

ERRLIM: Error Threshold

The maximum number of errors that this ADACHK utility function will tolerate before terminating. Valid values are any positive integer <=5000. If no valid value is specified for this parameter, a default of "100" is used.

If a value less than 0 or greater than 5000 is specified, the following error will result, and the default value will be used:

CHK413E, ERROR: Parameter ERRLIM is incorrect.
FILE: Files To Be Checked

The file or single range of files to be checked. If no file or range of files are specified, all files in the database are checked.

LAYOUT: Report Detail Level

The level of data produced for the report. Valid values are described in the following table:

Valid Values Description
SHORT Specify this value to produce the minimum output. This is the default.
MEDIUM Specify this value to produce medium-level output (several interpreted lines).
LONG Specify this value to produce extensively-detailed output.
MAXCALLS: Maximum Number of Nucleus Calls

The maximum number of nucleus calls allowed per file. Once this limit is hit, no more nucleus calls can be made and a warning message that the limit has been reached is printed. Valid values are any positive integer, with no upper limit.

The default for MAXCALLS is either the value "200" or the result of the TOPISN setting divided by 100 (TOPISN/100), whichever is greater.

NOSYNC: Transient Error Confirmation

Note:
Use of this parameter is not recommended and is only intended for users who want to limit calls to their nucleus.

Use this parameter to control whether transient errors are confirmed via the active nucleus. If this parameter is specified, no nucleus calls are made and the errors reported may be due to concurrent updates. A warning message is generated informing you.

NOUSERABEND: Termination without Abend

When a parameter error or a functional error occurs while this utility function is running, the utility ordinarily prints an error message and terminates with user abend 34 (with a dump) or user abend 35 (without a dump). If NOUSERABEND is specified, the utility will not abend after printing the error message. Instead, the message "utility TERMINATED DUE TO ERROR CONDITION" is displayed and the utility terminates with condition code 20.

Note:
When NOUSERABEND is specified, we recommend that it be specified as the first parameter of the utility function (before all other parameters). This is necessary to ensure that its parameter error processing occurs properly.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

TEST: Test Syntax

The TEST parameter tests the operation syntax without actually performing the operation. Note that the validity of values and variables cannot be tested: only the syntax of the specified parameters can be tested. See Syntax Checking with the TEST Parameter for more information about using the TEST parameter in ADACHK functions.

The NOUSERABEND, TEST, and ABEND34 parameters affect the processing of the entire ADACHK run.

UTYPE: User Type

The user type in effect for the ADACHK run. Valid values are:

Value Identifies
ACC An access-only user. This is the default. When ACC is specified, parallel updates are allowed on the file by normal users (but not by other utility processes).
EXF An exclusive file control user. When EXF is specified, only the ADACHK process can use the file; no other users can read or write to the file in parallel with the ADACHK run.
EXU An exclusive control user. When EXU is specified, parallel reads are allowed on the file by normal users. This option might provide better performance if there are a lot of concurrent updates ongoing.

Example

The following example checks the index structure for file 2.

ADACHK ICHECK FILE=2