CQSCHKPT request
Use the CQSCHKPT request to initiate either a CQS system checkpoint or a structure checkpoint.
Format for CQSCHKPT
CHKPTSTR function of CQSCHKPT
You use the CHKPTSTR function of a CQSCHKPT request to initiate a CQS structure checkpoint for a queue structure. Structure checkpoint is not supported for a resource structure.
CHKPTSYS function of CQSCHKPT
Use the CHKPTSYS function of a CQSCHKPT request to initiate a CQS system checkpoint.
DSECT function of CQSCHKPT
Use the DSECT function of a CQSCHKPT request to include equate (EQU) statements in your program for the CQSCHKPT parameter list length and CQSCHKPT return and reason codes.
Usage of CQSCHKPT
For a structure checkpoint, CQS dumps the queues to DASD for each structure specified in the checkpoint list. If the structure is currently in overflow mode, the overflow structure is also dumped to DASD.
For a system checkpoint, CQS logs the internal tables for each structure specified in the checkpoint list. If the structure is currently in overflow mode, CQS also logs the internal tables for the overflow structure.
Parameter descriptions
- COUNT=count
- 4-byte input parameter that specifies the number of entries in the checkpoint list.
- CQSTOKEN=cqstokenaddress
- Input parameter that specifies the address of the 16-byte CQS registration token that uniquely identifies the client's connection to CQS. The registration token is returned by the CQSREG request.
- ECB=ecbaddress
- 4-byte input parameter that specifies the address of the z/OS® event control block (ECB) used for asynchronous requests. If ECB is specified, the request is processed asynchronously; otherwise it is processed synchronously.
- LIST=listaddress
- 4-byte input parameter that specifies the address of the checkpoint
list. The checkpoint list should contain an entry for each of the
structures for which the client requests a checkpoint.
The CQSCHKPL list entry DSECT maps the list entries and can be used by the client. Multiple list entries must reside in contiguous storage.
Each list entry contains the following parameters:
- connecttoken
- 16-byte input parameter that specifies the connect token returned by the CQSCONN request. The connect token uniquely identifies the client's connection to a particular coupling facility structure managed by this CQS. This parameter is required.
- compcode
- 4-byte output field to receive the completion code from the request.
Possible completion codes are:
- X'00000000'
- Completed successfully.
- X'00000004'
- Connect token is invalid.
- X'00000008'
- CQS checkpoint request not allowed until CQS restart has successfully completed a system checkpoint.
- X'0000000C'
- A CQSRSYNC is required for this structure.
- X'00000010'
- Checkpoint already in progress for structure.
- X'00000014'
- Structure is inaccessible. Retry request later.
- X'00000018'
- CQS internal error.
- X'00000020'
- CQSCHKPT FUNC=CHKPTSTR is invalid for a resource structure.
- X'00000024'
- z/OS logger write error, checkpoint was not taken.
- LISTVER=1 | listversion
- Input parameter that specifies an equate for the list version. Use the DSECT function of a CQSCHKPT request to include equate (EQU) statements in your program for the CQSCHKPT list versions.
- PARM=parmaddress
- 4-byte input parameter that specifies the address of a parameter list used by the request to pass parameters to CQS. The length of the storage area must be at least equal to the EQU statement value CQSCHKPT_PARM_LEN (defined using the FUNC=DSECT request).
- RETCODE=returncodeaddress
- Output parameter that specifies the address of a 4-byte field
to contain the CQSCHKPT return code.
If the return code in register 15 is nonzero, the values in the return and reason code fields are invalid, because the CQS interface detected an error and was unable to send the request to CQS.
- RSNCODE=reasoncodeaddress
- Output parameter that specifies the address of a 4-byte field to contain the CQSCHKPT reason code.
Return and reason codes for CQSCHKPT
The following table lists the return and reason code combinations that can be returned for CQSCHKPT requests. Use a CQSCHKPT FUNC=DSECT request to include equate statements in your program for the return and reason codes.
Return code | Reason code | Meaning |
---|---|---|
X'00000000' | X'00000000' | Request completed successfully. |
X'00000008' | X'00000210' | cqstoken is invalid. |
X'00000008' | X'00000218' | FUNC is invalid. |
X'00000008' | X'00000250' | count is invalid. |
X'00000008' | X'00000254' | listaddress is invalid. |
X'00000008' | X'00000284' | Parmlist version is invalid. |
X'00000008' | X'00000288' | List version is invalid. |
X'0000000C' | X'00000300' | Request succeeded for at least one, but not all, list entries. See compcode for individual errors. |
X'0000000C' | X'00000304' | Request failed for all list entries. See compcode for individual errors. |
X'00000010' | X'0000040C' | CQS shutdown is pending. Client-initiated checkpoint requests are not allowed. |
X'00000010' | X'00000430' | No CQS address space. |