Previous Topic: How to Use the Console CommandNext Topic: Example JCL


How to Use the DBUTLTY Command

Multi-User mode is required to execute this command. To use the ACCESS function, execute DBUTLTY using the following:

ACCESS STATUS (MAINT/NOMAINT/WRITE, Database Level)

                                  ┌──────────────────┐
►►─ ACCESS STATUS= ─┬─ MAINT ───┬─▼─┬──────────────┬─┴────────────────────────►
                    ├─ NOMAINT ─┤   └─ ,DBID=nnnn ─┘
                    └─ WRITE ───┘

 ►─┬──────────────────────┬───────────────────────────────────────────────────►◄
   └─ ,IGN68= ─┬─ NO ◄ ─┬─┘
               └─ YES ──┘

ACCESS STATUS (READ/OFF/UTLTY, Database Level)

                                ┌──────────────────┐
►►─ ACCESS STATUS= ─┬─ READ ──┬─▼─┬──────────────┬─┴──────────────────────────►
                    ├─ OFF ───┤   └─ ,DBID=nnnn ─┘
                    └─ UTLTY ─┘

 ►─ ,USERS= ─┬─ FAIL ───┬─┬──────────────────────┬────────────────────────────►◄
             ├─ IGNORE ─┤ └─ ,IGN68= ─┬─ NO ◄ ─┬─┘
             └─ WAIT ───┘             └─ YES ──┘

ACCESS STATUS (WRITE, Area Level)

►►─ ACCESS STATUS=WRITE,DBID=nnnn,AREA=name ─┬──────────────────────┬─────────►◄
                                             └─ ,IGN68= ─┬─ NO ◄ ─┬─┘
                                                         └─ YES ──┘

ACCESS STATUS (OFF/READ/UTLTY, Area Level)

►►─ ACCESS STATUS= ─┬─ OFF ───┬─ ,DBID=nnnn,AREA=name ────────────────────────►
                    ├─ READ ──┤
                    └─ UTLTY ─┘

 ►─ ,USERS= ─┬─ FAIL ───┬─────────────────────────────────────────────────────►◄
             ├─ IGNORE ─┤
             └─ WAIT ───┘

Command

ACCESS

Invokes the function to specify the type of access.

Required Keywords

AREA=name

Specifies data area level access. If AREA= is specified, DBID= must also be specified.

For more information on area level DBUTLTY control, see Area Level DBUTLTY Control.

Valid Entries:

Valid area name

Default Value:

(No default)

,DBID=nnnn

At the area level, you must specify one database ID.

Valid Entries:

One valid database ID.

Default Value:

(No default)

STATUS=

Specifies the currently desired access level for the area.

MAINT

This access level allows maintenance commands to process against the database(s).

NOMAINT

This access level blocks application maintenance commands from processing against the database(s).

OFF

This access level blocks all User Requirements Tables from opening this area. That is, databases and areas are not allowed to be opened by any application, including DBUTLTY.

READ

This access level allows read-only User Requirements Tables to open a database or area. That is, READ allows a database or area to be opened without update by all applications, including DBUTLTY. This allows support for the DBUTLTY BACKUP and EXTRACT functions. (The User Requirements Tables can specify UPDATE=NO only.)

WRITE

This access level allows all User Requirements Tables to open the database or area. That is, WRITE allows the database or area to be opened with or without update by all applications, including DBUTLTY. (The User Requirements Tables can specify UPDATE=YES or NO.)

UTLTY

This access level allows the database or area to be opened only by DBUTLTY.

DBUTLTY functions that do not open a database or area are never restricted by the ACCESS function.

The DBUTLTY function DBTEST with keyword PGM=DBTSTPR is an exception. It executes as a user application without special DBUTLTY authority.

Valid Entries:

MAINT, NOMAINT, OFF, READ, WRITE, or UTLTY

Default Value:

(No default)

,USERS=

(Only required for OFF, UTLTY, or READ.) Specifies how the function is to execute. The parameter is required for STATUS=READ, UTLTY, or OFF, and it is optional, but ignored, for STATUS=WRITE. Regardless of which option is selected, the area or access level of the DBID is changed.

FAIL

Specifies that if an open User Requirements Table exists for a table within the area currently open for read or update (when OFF), or update (when READ), or not a DBUTLTY (when UTLTY), the utility step is to terminate causing no additional utility functions to execute. The Multi-User Facility can have the area open without having any open User Requirements Tables when using the OPTIMIZE option of the ACCESS Multi-User startup option.

IGNORE

Indicates that the ACCESS is to continue without regard to the open users.

WAIT

Specifies that if an open User Requirements Table exists for a table within the area currently open for read or update (when being changed to OFF), or update (when being changed to READ), or not a DBUTLTY (when being changed to UTLTY), the utility step is to wait, stopping additional utility functions from executing. The Multi-User Facility can have the area open without having any open User Requirements Tables when using the OPTIMIZE option of the ACCESS Multi-User startup option. This wait has no time limit.

Valid Entries:

FAIL, IGNORE, or WAIT

Default Value:

(No default)

Optional Keywords

,DBID=nnnn

At the database level, DBID= is optional and may repeat. Each occurrence may specify one or more valid database IDs or a range of DBIDs nnnn-mmmm (a range, for example, such as 100-250).

If DBID= is not specified, all databases are processed.

Every database specified by a DBID keyword is processed. Each database that is not defined generates an error and fails the function after all the databases are processed, except that a database in a range not defined is ignored.

Valid Entries:

One or more valid database IDs or a range of DBIDs as already described.

Default Value:

ALL

IGN68=

Specify IGN68=YES to ignore a return code 68. IGN68= is allowed for every ACCESS and COMM function. By ignoring return code 68, you can set up and run JCL that incorporates a stack of DBUTLTY functions without requiring that the MUF be enabled. IGN68= would therefore be useful, for example, if you wanted to load a database without first enabling the MUF, perhaps to allow restart to properly occur. Following is an example showing a stack of DBUTLTY functions that use IGN68=.

 ACCESS STATUS=UTLTY,DBID=997,USERS=WAIT,IGN68=YES
 COMM   OPTION=CLOSE,DBID=997,IGN68=YES
 INIT   AREA=IXX,DBID=997
 INIT   AREA=A01,DBID=997
 LOAD   AREA=A01,DBID=997,FORMAT=NONE,KBYTES=9999,SORT=1
 ACCESS STATUS=WRITE,DBID=997,IGN68=YES

Note: If the CXX is externally secured, the INIT and LOAD functions do not execute without the MUF being available, and IGN68=YES is therefore not recommended.

A function or functions specified with IGN68=YES generates message DB13001E to note that the function did not occur. Because no error was recognized, however, other functions in the stack continue to execute, and the DBUTLTY step ends without a recognizable error. Message DB13001E signals that the MUF was not enabled. For details about DB13001E, see the CA Datacom/DB Message Reference Guide.