Block EDRS Access (QxdaBlockEDRS) API


  Required Parameter Group:

1 Input structure Input Char(*)
2 Input structure format Input Char(8)
3 Error code I/O Char(*)

  Service Program: QXDADBBK

  Default Public Authority: *USE

  Threadsafe: Conditional; see Usage Notes

The Block EDRS Access (QxdaBlockEDRS) API provides functions to allow client jobs to be temporarily suspended or switched to a backup server system in a client/server environment. This API does not physically block the system; all access must be controlled using the functions provided by the EDRS APIs.


Authorities and Locks

The user running the API must have *JOBCTL special authority.


Required Parameter Group

Input structure
I/O; CHAR(*)

The structure to pass information about the function to perform and the systems involved. For the format of this parameter, see BLKI0100 Format.

Input structure format
INPUT; CHAR(8)

The format of the input structure being used. The possible value is:

BLKI0100 Basic structure

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error Code Parameter.


BLKI0100 Format

The following table shows the information to pass in the BLKI0100 format. For more details about the fields in this table, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(1) Function
1 1 CHAR(256) EDRS server system name
257 101 CHAR(256) Backup EDRS server system name
513 201 CHAR(7) Reserved
520 208 BINARY(4) Offset to job-suspension user data
524 20C BINARY(4) Length of job-suspension user data
    CHAR(*) Job-suspension user data


Field Descriptions

Backup EDRS server system name. The name of the system that will take over as the server system when function 2 is called. This parameter is required for function 1 and must be set to blanks for other functions. The following special value is allowed:

*RESET This value should be specified on function 1 when switching back to the original EDRS server system.

EDRS server system name. The name of the database server system. It is required for all functions. This should always be the original server system name, even after a backup has been associated with the system.

Function. The function to perform. The possible values are:

1 - QXDA_BLOCK Block access to the server system specified.
2 - QXDA_SWITCH_SERVER Associate the backup server system passed to function 1 with the original server system specified.
3 - QXDA_REGISTER_JOB Register the current job to be notified when the specified server system is blocked. A job is notified by a SIGUSR1 signal being delivered to the job.
4 - QXDA_REMOVE_JOB Remove the job from the list of jobs to be notified of a server system block.
5 - QXDA_UNBLOCK Allow access to the server system that was previously blocked. This function is not allowed when *RESET is specified as the backup system name to function 1.

Job-suspension user data. The data to associate with a job or a system that is used to determine which jobs on the client system should be blocked. If no job-suspension user data is supplied, all jobs connected to the specified server system will be blocked.

Length of job-suspension user data. The length of job-suspension user data supplied.

Offset to job-suspension user data. The offset from the beginning of the input structure to the job-suspension user data in the input structure, in bytes. This value must be set to 0 for functions 2 and 5, and is optional for all other functions.

Reserved. This value must be initialized to blanks.


Usage Notes

This function may be called from the initial thread of a job only.


Error Messages

Message ID Error Message Text
CPF0001 E Error found on &1 command.
CPF180C E Function &1 not allowed.
CPF222E E &1 special authority is required.
CPF3C1E E Required parameter &1 omitted.
CPF3C90 E Literal value cannot be changed.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.
CPFAE14 E Cannot allocate &1 bytes.
CPFB751 E Parameter &1 passed not correct.
CPFB752 E Internal error in &1 API.
CPFB75A E Function &1 not valid while system &2 is blocked.
CPFB75B E Function &1 not valid while system &2 is not blocked.
CPFB75C E System name &1 is not valid.
CPFB75D E Function &1 not allowed.
CPFB75E E Job not removed.


API introduced: V4R4
Top | Database and File APIs | APIs by category