Clear Data Queue (QCLRDTAQ) API


  Required Parameter Group:

1 Data queue name Input Char(10)
2 Library name Input Char(10)

  Optional Parameter Group:

3 Key order Input Char(2)
4 Length of key data Input Packed(3,0)
5 Key data Input Char(*)
6 Error code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: Conditional; see Usage Notes.

The Clear Data Queue (QCLRDTAQ) API clears all data from the specified data queue, or clears messages that match the key specification from a keyed data queue.

If the data queue was created with the AUTORCL keyword on the Create Data Queue (CRTDTAQ) command set to *YES, when the queue is empty the storage allocated to the data queue will be reduced to the storage needed for the initial number of entries defined for the data queue.

Distributed data management (DDM) data queues are supported by this API. This means that you can use this API to clear a data queue that exists on a remote system. Clearing messages by key is not supported for DDM data queues.


Authorities and Locks

Data Queue Authority
*OBJOPR and *READ
Data Queue Library Authority
*EXECUTE
Data Queue Lock
*SHRUPD, after the data queue is changed to enforce data queue locks via the Change Data Queue (QMHQCDQ) API.

Required Parameter Group

Data queue name
INPUT; CHAR(10)

The name of the data queue being cleared.

Library name
INPUT; CHAR(10)

The name of the library where the data queue resides.

You can use these special values for the library name:

*LIBL The library list
*CURLIB The job's current library.

Optional Parameter Group

Key order
INPUT; CHAR(2)

The comparison criteria between the keys of messages on the data queue and the key data parameter.

Valid values are:

GT Greater than
LT Less than
NE Not equal
EQ Equal
GE Greater than or equal
LE Less than or equal

This parameter is ignored if the length of key data is zero. A value of blanks is recommended if the length of key data is zero.

For example, assume a keyed data queue contains these three entries:

Physical Entry 3-Character Key
1 GGG
2 XXX
3 AAA

If a key order of LT is specified with key data of XXX, entries 1 and 3 would be removed. If a key order of EQ is specified with key data of XXX, entry 2 would be removed.

Length of key data
INPUT; PACKED(3,0)

The length of the key data parameter. If this parameter is specified, it must be zero for nonkeyed data queues. For keyed data queues it must be either zero or equal to the length specified on the KEYLEN parameter on the Create Data Queue (CRTDTAQ) command. If this parameter is not specified or is zero, all messages will be cleared from the data queue.

Key data
INPUT; CHAR(*)

The data to be used for selecting messages to be removed from the data queue.

Error code
I/O; CHAR(*)

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


Usage Notes

This API can be used in a multithreaded job to clear messages from a local data queue. It cannot be used in a job that allows multiple threads to clear messages from a DDM data queue.


Error Messages

Message ID Error Message Text
CPF24B4 E Severe error while addressing parameter list.
CPF3C36 E Number of parameters, &1, entered for this API was not valid.
CPF3C90 E Literal value cannot be changed.
CPF3CF1 E Error code parameter not valid.
CPF9502 E Key length must be zero for data queue &1 in &2.
CPF9503 E Cannot lock data queue &1 in &2.
CPF9504 E An invalid search order was specified.
CPF9506 E Key length must be &3 for data queue &1 in &2.
CPF9507 E Invalid key length specified.
CPF9510 E Operation on DDM data queue &1 in &2 failed.
CPF9511 E Function not supported for DDM data queue &1.
CPF9523 E Data queue function not successful.
CPF9801 E Object &2 in library &3 not found.
CPF9802 E Not authorized to object &2 in &3.
CPF9807 E One or more libraries in library list deleted.
CPF9808 E Cannot allocate one or more libraries on library list.
CPF9810 E Library &1 not found.
CPF9820 E Not authorized to use library &1.
CPF9830 E Cannot assign library &1.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V1R3

[ Back to top | Object APIs | APIs by category ]