Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

QREL Delete temporary queue

The QREL (queue release) call is used to delete a temporary queue dynamically.
All the messages in the queue are deleted, and the name and the table space of the queue are made available.

Services that wait for DGET messages of this queue are continued.

The format of the QREL call is described in detail in the following. You will find more information on the subject of message queuing in section "Message Queuing (asynchronous processing)".

Setting the KDCS parameter area (1st parameter)

The following table shows the entries required in the KDCS parameter area.

Function of the call

Entries in the KDCS parameter area

KCOP

KCOM

KCRN

KCMF/kcfn

Delete temporary queue

"QREL"

"RL"

Name of the queue

Blanks

Setting the parameters

Field name in the KDCS parameter area

Contents

KCOP

"QREL"

KCOM

"RL"

KCRN

Name of the queue

KCMF/kcfn

Blanks

KDCS call

1st parameter


KDCS parameter area


C/C++ macro call

Macro names

Parameters

KDCS_QRELRL

(kcrn)

openUTM return information

Field name in the KB return area

Inhalt

KCRCCC

Return code

In the KDCS parameter area, make the following entries for the QREL call:

KCOP

In the KCOP field, enter the QREL operation code.

KCOM

In the KCOM field, enter the RL modifier.

KCRN

In the KCRN field, enter the name of the queue to be deleted.

KCMF/kcfn

The KCMF/kcfn field must be supplied with blanks.

For the KDCS call, specify:

1st parameter

The address of the KDCS parameter area.

Macro names

How to use macro calls for C/C++ is described in detail in the section "C/C++ macro interface".

openUTM returns:

KCRCCC

in the KCRCCC field the KDCS return code (see below).

KDCS return codes in the KCRCCC field for the QREL call

The following codes can be analyzed in the program:

000

The operation was executed.

40Z

There is no more space in the process-specific buffer for restart data.
Bottlenecks can result because openUTM executes a separate DADM call for each message read by means of DGET in a transaction that is not yet completed and has to write a processing item to the buffer.
What to do: Increase the value of MAX RECBUF=(..., length) and regenerate.

42Z

The value in KCOM is invalid.

44Z

There is no temporary queue with the name specified in KCRN.

45Z

KCMF/kcfn was not supplied with blanks.

49Z

Unused fields (except KCMF) have a value other than binary zero.

An additional return code can be found in the dump:

71Z

An INIT has not yet been called in the program unit run.

Features of the QREL call

  • No administration authorization is required to delete a temporary queue.

  • After the QREL call, messages in the deleted queue can no longer be read or administered. New messages cannot be created for this queue.

  • After a QREL call and the successful conclusion of the transaction, a new temporary queue can be created with the same name.