Adabas Utility Execution

#### Search Results

Search

# Adabas Utility Execution

The Adabas Utilities documentation contains detailed information about the function and execution of each Adabas utility.

You can use Adabas Online System to execute various utility functions online.

This document covers the following topics:

- Condition and Termination Codes

- Utility Usage of Files and Databases

- Disk Accesses by Utility and Function

- Possible Resource Conflicts

## Condition and Termination Codes

Refer to the Adabas messages and codes documentation for detailed descriptions of the condition and termination code meanings for each utility.

The following condition codes can be set by an Adabas utility:

Code | The utility operation ...
--- | ---
0 | was successful.
4 | was successful but encountered a warning condition. With the ADACHK utility, a return code of 4 indicates that either the number of unreachable index blocks is greater than zero or any CHKnnnW (warning) message was received.
8 | encountered an error condition but then continued. With the ADACHK utility, a return code of 8 indicates that a database inconsistency was encountered.
16 | was successful in its main function but then encountered an error condition.
20 | could not be completed. The operation encountered an error condition but did not terminate abnormally because NOUSERABEND was specified.

For errors that occur during the execution of a utility, the following termination codes are returned:

Code | The utility terminated . . .
--- | ---
34 | with a dump.
35 | without a dump.
36 | with a dump. Termination was caused by an I/O error while writing to DDDRUCK or DDPRINT. Check the JCL.

## Utility Usage of Files and Databases

The table in this section shows the type of file/database usage required for each utility, the database status required, whether the Adabas nucleus must be active while an Adabas utility is running, and whether the function creates an entry in the data integrity block (DIB).

Any utility that requires a nucleus can be used in single-user mode, provided that the nucleus JCL statements are specified.

Utility | Function | File/DB Usage | Database Activity Permitted? | Adabas Nucleus Status? | DIB Entry Created
--- | --- | --- | --- | --- | ---
ADACDC | All | n/a | Permitted | Active or Inactive | NO
ADACHK | ACCHECK | ACC | Permitted | Active or Inactive | YES
CHECK | Permitted | Active or Inactive | YES
DSCHECK | Permitted | Active or Inactive | YES
ICHECK | Permitted | Active or Inactive | YES
VALIDATE | Permitted | Active or Inactive | YES
All other functions | n/a | Permitted | Active or Inactive | NO
ADACMP | Compress FDT=... | ACC |  | Active | NO
Compress data | n/a | Permitted | Active or Inactive | NO
Decompress data | n/a | Permitted | Active or Inactive | NO
Decompress |  |  |  |
INFILE=... | EXU (EXF) |  | Active | NO
ADACNV | All | (1) | Not Permitted | Inactive | YES
With TEST parameter | ACC | Permitted | Active or Inactive | NO
ADADBS | ONLADD | n/a | Permitted | Active | NO
ONLINCREASE | n/a | Permitted | Active | NO
OPERCOM DDIB | n/a | Permitted | Active or Inactive | NO
RECOVER | UTI | (5) | Active | NO
RESETDIB | n/a | Permitted | Active or Inactive | NO
RESETPPT | n/a | Not Permitted (7) | Inactive (7) | NO
others | ACC, UTI or EXF | Permitted (4) | Active | NO
ADADEF | All | (1) | Not Permitted | Inactive | NO
ADADRU | All | n/a | Permitted | Active or Inactive | NO
ADAFRM | Formatting other than TEMP/SORT data set | n/a | Not Permitted | Inactive | NO
Formatting TEMP/SORT data set | n/a | Permitted | Active or Inactive | NO
Formatting single blocks | n/a | Permitted | Active or Inactive | NO
ADAINV | All | EXU or UTI | Permitted | Active | YES
ADALOD | All | UTI | Permitted | Active or Inactive | YES
ADAMER | ADAM estimation | n/a | Permitted | Active or Inactive | NO
ADAORD | REORDER A/D/DB | (1) | Not Permitted | Active | YES
REORDER FILE (A) | EXU or UTI(2) | Permitted | Active | YES
REORDER FILE (D) | EXU or UTI(2) | Permitted | Active | YES
REORDER FILE | EXU or UTI(2) | Permitted | Active | YES
RESTRUCTURE DB | (1) | Not Permitted | Active | YES
RESTRUCTURE FILE | (EXU (2) | Permitted | Active | YES
STORE | UTI | Permitted | Active | YES
ADAPLP | All | n/a | Permitted | Active or Inactive | NO
ADARAI | DISABLE |  |  |  |
PREPARE |  |  |  |
REMOVE CHKDB | n/a | Permitted | Inactive | NO
LIST |  |  |  |
RECOVER | n/a | Permitted | Active or Inactive | NO
ADAREP | Database reporting | n/a | Permitted | Active or Inactive | NO
CPLIST/CPEXLIST | ACC | Permitted | Active | NO
ADARES | Regenerate file |  |  |  |
Backout file | UTI (3) | Permitted | Active | NO
Regenerate |  |  |  |
Backout | (1) | Not Permitted | Active | NO
Copy | n/a | Permitted | Active or Inactive | NO
Copy dual/multi log | n/a | Permitted | Active or Inactive | NO
Repair | UTI | Permitted | Active | NO
ADASAV | Save file | UTS | Permitted | Active or Inactive | YES
Save database | UTS | Permitted (6) | Active or Inactive | YES
Restore file | UTI | Permitted | Active or Inactive | YES
Restore database | (1) | Not Permitted | Inactive | YES
Restore protection log | (1) | Not Permitted | Inactive | YES
ADASEL | Select protection log data | n/a | Permitted | Active or Inactive | NO
ADAULD | Unload file | EXU or EXF | Permitted | Active | NO
Unload file from save tape | n/a | Permitted | Active or Inactive | NO
ADAWRK | Work area recovery reports | n/a | Not Permitted | Inactive | NO
ADAZAP | All | (1) | Not Permitted | Inactive | NO
ADAZIN | Lists maintenance and status information about Adabas load modules and status information about the Adabas SVC | n/a | Permitted | Active or Inactive | NO

The codes used in the File/Database Usage column of this table and the footnotes used in the table are now described.

#### File/Database Usage Codes and Notes

Code | Meaning
--- | ---
n/a | Does not apply.
ACC | Access-only usage: other users may access and update the file/database.
EXF | Exclusive file control: other users may not access or update the file.
EXU | Exclusive file update: other users may not update the file.
UTI | Utility update control: other users may not access or update the file.
UTS | Utility SAVE control: other users may access and update the file.
UPD | Update/ET user status does not apply to utilities. Utilities cannot be timed out.

#### Footnotes

Code | Meaning
--- | ---
(1) | Exclusive database control: no other database activity is permitted.
(2) | Exclusive database control if the checkpoint or security file is involved; otherwise, read-only access is allowed during the read phase of utility operation.
(3) | Exclusive database control if the CONTINUE parameter is specified.
(4) | When completed, ADADBS ADD/INCREASE end the nucleus session to permit reallocation and formatting.
(5) | ADADBS RECOVER cannot run when other UTI utilities are running.
(6) | When running ADASAV SAVE with an active nucleus (online), no other utilities can be run which update the database.
(7) | ADADBS RESETPPT must be run in MODE=MULTI, with the nucleus down. The reason for this is that utilities run in MODE=SINGLE activate the Adabas nucleus, which causes a new PPT to be written. This is not allowed when trying to reset the PPT.

## Disk Accesses by Utility and Function

The following table lists the data sets that each utility function accesses on disk:

Utility | Function | Data Set Accessed Directly
--- | --- | ---
ADACDC | all | ASSO
ADACHK | ACCHECK | ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
ASSOPRINT | ASSO, DATA
CHECK | ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
CLOGPRINT | ASSO, DATA, CLOG
DATAPRINT | ASSO, DATA
DSCHECK | ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
DSIMPRINT | ASSO, DATA, DSIM
DSSTPRINT | ASSO, DATA
FCBPRINT | ASSO, DATA
FDTPRINT | ASSO, DATA
FSTPRINT | ASSO, DATA
GCBPRINT | ASSO, DATA
ICHECK | ASSO, DATA
NIPRINT | ASSO, DATA
PLOGPRINT | ASSO, DATA, PLOGs
PPTPRINT | ASSO, DATA
RLOGPRINT | ASSO, DATA, RLOG
SORTPRINT | ASSO, DATA, SORT
TEMPPRINT | ASSO, DATA. TEMP
UIPRINT | ASSO, DATA
VALIDATE | ASSO, DATA, SORT (if SORTTYPE=INTERNAL)
WORKPRINT | ASSO, DATA, WORK
ADACMP | all | n/a
ADACNV | all | ASSO, DATA, WORK, dual PLOG if specified
ADADBS | ONLADD | ASSO, DATA (as specified)
ONLINCREASE | ASSO, DATA (as specified)
OPERCOM DDIB, RESETDIB | ASSO, if nucleus is down
others | n/a
ADADEF | DEFINE NEWWORK | ASSO, DATA, WORK ASSO, WORK
ADADRU | all | ASSO, DATA
ADAFRM | ASSOFRM, ASSORESET | ASSO
CLOGFRM | CLOG
DATAFRM, DATARESET | DATA
PLOGFRM | PLOG
RLOGFRM | RLOG
SORTFRM | SORT
TEMPFRM | TEMP
WORKFRM, WORKRESET | WORK
others | ASSO
ADAINV | all | ASSO
ADALOD | all | ASSO, DATA, WORK
ADAMER | all | n/a
ADAORD | REORDB, REORFILE, REORDATA, REORFDATA, STORE | ASSO, DATA
REORASSO, REORFASSO, RESTRUCTUREDB, RESTRUCTUREF | ASSO
ADAPLP | WORKPRI | WORK
PLOGPRI | Dual PLOG
others | n/a
ADARAI | PREPARE, REMOVE | ASSO
all others | n/a
ADAREP | all | ASSO; DATA is not required but is recommended because ADAREP tries to print the volume numbers.
report from SAVETAPE* | n/a
ADARES | CLCOPY, PLCOPY | Dual CLOG, PLOG; ASSO is recommended but not required
all others | ASSO
ADASAV | SAVE DB, SAVE FILE, RESTORE FILE | ASSO, DATA; also WORK if nucleus is down
ADASEL | all | ASSO
ADAULD | all | n/a
ADAWRK | all | ASSO, WORK
ADAZAP | all | ASSO
ADAZAP is to DATA | DATA
ADAZAP is to WORK | WORK
ADAZIN | all | ASSO, DATA, WORK

* Adabas makes no attempt to open DATA and ASSO for an ADAREP from a SAVETAPE. For a regular ADAREP, an attempt is made to open DATA.

## Possible Resource Conflicts

Note
See Program Synchronization Using Operating System Services for information about how Adabas uses operating system services to ensure that the start and end of nucleus and utility jobs are synchronized.

An Adabas utility which requires exclusive control of one or more Adabas files will be terminated with an error message under any of the following conditions:

1. The file has been locked using the operator command LOCKF (or Adabas Online System).

   In this case, you must determine why the file was locked and whether it can now be unlocked. The UNLOCKF operator command (or Adabas Online System) may be used to unlock a locked file.

2. The file is marked as in use by another Adabas utility.

   Adabas maintains a list of the files used by each Adabas utility in the DIB block (block 3 of the Associator). The DDIB operator command (or Adabas Online System) may be used to display this block to determine which job is using the file in question.

   It is important to note that Adabas will remove entries in the DIB only when a utility terminates normally or with an error message. If a utility terminates abnormally, the files used by that utility remain in use. The DBA may explicitly release any such files with the RESETDIB function of the ADADBS utility. For example, if the job name of the utility using the file is JOBUT1, the following ADADBS parameters would be entered:

       ADADBS RESETDIB JOBNAME=JOBUT1

   If the jobname is not unique, the IDENT parameter must be used to specify the job name qualifier for the abnormally ended utility. The DDIB command (or Adabas Online System) can be used to display the identifier:

       ADADBS RESETDIB IDENT=identifier

   The DIB may also be reset using Adabas Online System.

   | Warning: The DIB should be reset only if the utility in question actually terminated abnormally. Resetting the DIB for an active utility will cause unpredictable results.

3. The file is marked as in use by another application (user).

   Adabas creates a user queue element (UQE) when the first Adabas command is received from a user program or Adabas utility. The UQE contains user information (user ID, user type, etc.) and a file list. The file list identifies each file the user is using and the type of file usage. The file-usage type is one of the following:

   Type | The file is opened for . . .
   --- | ---
   ACC | access only
   EXU | exclusive update
   EXF | exclusive use
   UPD | update (ET logic user)

   See the table in the section File and Database Usage for information about file usage by Adabas utilities.

   The file list is deleted as a result of the STOPU operator command (or using Adabas Online System), when an automatic timeout occurs, or when the user issues an Adabas CL (close) command. ET/BT users file lists are released when the user is at ET status.

   Utility functions that modify the database cannot run if there is a pending autorestart, and the nucleus is not active.

   A pending autorestart condition can only be recovered by starting the Adabas nucleus. If the nucleus cannot execute the autorestart successfully, the only valid restart method is to run

   - ADASAV RESTORE (DATABASE); and then

   - ADARES REGENERATE.

### On this page

- Condition and Termination Codes
- Utility Usage of Files and Databases
- Disk Accesses by Utility and Function
- Possible Resource Conflicts