Change Status (CS)

Command title

Change Status

Description

This command sets the tableBASE control states for:

  • abend processing
  • wait processing for tables in use
  • empty row processing for hash tables
  • implicit open processing
  • trace processing

COBOL syntax

MOVE 'CS'                   TO xxxx-COMMAND.
CALL 'TBLBASE' USING        TB-PARM
                            xxxx-COMMAND-AREA
                            STATUS-SWITCHES.

C syntax

memcpy( tbCommArea.tbCommand, "CS", 2 );
TBLBASE( &tbParm, &tbCommArea, pStatusSwitches );

Parameters

STATUS-SWITCHES contains five one-byte status switches followed by 3 reserved bytes (see STATUS-SWITCHES (8 bytes)). Each status switch must contain Y, N, or a space. A switch containing a space is not changed by CS.

For details on each switch, see below.

Explanation

A successful command takes effect immediately and continues until another CS command is executed. If any of the proposed switch settings are invalid, then the command is unsuccessful and the existing switch settings are not altered.

Any table name in the xxxx-COMMAND-AREA is ignored by this command.

Return value

Error 0010 occurs when the switches are not N, Y, or space.

Notes

The initial settings of the tableBASE status switches are determined at product installation time. These initial settings may be different for each environment: batch, CICS, IMS TM, DB2, etc.

It is also possible for the installation to prevent a program from changing any of these initial settings since the ability to change any of the status switches may be disabled at installation time. Any attempt to change a setting that has been disabled will be ignored.

Switch 1

ABEND (abend processing)

Description

Suppression of abend processing is performed to allow application programs to continue processing despite tableBASE errors that can be anticipated, detected in the application program, and dealt with in a general error-handling procedure.

Set to Y

tableBASE abend processing is to be performed for tableBASE errors 0001-0099 and 1000-1099.

Set to N

Abend processing is not to be performed on tableBASE errors 0001-0099 and 1000-1099.

After suppressing abend processing (ABEND = N), the program should check the ERROR code in xxxx-COMMAND-AREA after each call to tableBASE. A non-zero value indicates a processing error or unexpected condition. tableBASE initializes ERROR to zero on each call so that this need not be done by the program.

Set to blank

No change is made to the current setting.

Note

The Abend Status can be temporarily overridden on a command-by-command basis by the use of the ABEND-OVERRIDE switch in the command area (see 6. ABEND-OVERRIDE (1 byte)).

Switch 2

WAIT (wait processing for tables in use)

Description

If a user or application requests that a table be opened for write but that table is already opened for read or write in another region of the computer system, the application has two choices: have tableBASE cause the application to wait until the table becomes free (closed or released by the owning region), or to return an ERROR code that indicates the table is not available to the requesting application.

Set to Y

If WAIT is set to Y, the requesting application (or transaction) will wait.

Set to N

tableBASE does not wait for opened tables.

If Abend processing is enabled, tableBASE abends with USER 0072. If Abend processing is not enabled, the ERROR is set to 0072.

Set to blank

No change is made to the current setting.

Note

None

Switch 3

HASH-EMPTIES-RETURNED (empty row processing for hash tables)

Description

With HASH-EMPTIES-RETURNED set to N, program code is generally more streamlined since there is no need for the application to check for empty rows. In addition, programs are less likely to be affected by a change of table organization.

Set to Y

tableBASE returns empty rows.

Set to N

tableBASE suppresses the return of empty rows for tables which have a Hash organization. This processing option is for GF, GL, GN, and GP commands only.

Set to blank

No change is made to the current setting.

Note

None

Switch 4

DEFAULT-OPEN (implicit open processing)

Description

The DEFAULT-OPEN Switch controls whether tableBASE will attempt to open a table for a retrieval or update command, and the table is not already open in the TSR.

Set to Y

Implicit open is allowed.

Set to N

Any attempt to access an unopened table with a retrieval command or an update command results in ERROR 0002. A specific OR or OW command must be issued.

Set to blank

No change is made to the current setting.

Note

See Implicit table opens.

Switch 5

TRACE (trace processing)

Description

The TRACE Switch controls whether tableBASE records the most recent commands.

Set to Y

tableBASE automatically records the last ten commands executed per thread. This is done for diagnostic purposes.

Note:
This switch should not be turned on in production as there are performance consequences in its usage. When a process is not working as intended, this setting may help pinpoint a problem via the examination of tableBASE events.

Set to N

tableBASE does not trace commands.

Set to blank

No change is made to the current setting.

Note

The command trace can be found in the TBDUMP dataset. See tableBASE user errors. Contact DataKinetics support.

Switch 6-8

FILLER (3 bytes)

Description

Reserved for future use