| Previous | Next |  | Contents | Index | Glossary

## DequeueEventDetail

Syntax

`procedure DequeueEventDetail`

        (dequeuemode in number,

         navigation in number default 1,

         correlation in varchar2 default null,

         itemtype in out varchar2,

         itemkey out varchar2,

         actid out number,

         function_name out varchar2,

         param_list out varchar2,

         message_handle in out raw,

         timeout out boolean);

Description

Dequeue from the outbound queue, the full event details for a given message. This API is similar to DequeueOutbound except it does not reference the payload type. Instead, it outputs itemkey, actid, function_name, and param_list, which are part of the payload.

> Attention: If you call this procedure within a loop, you must remember to set the returned message handle to null, otherwise, the procedure dequeues the same message again. This may not be the behavior you want and may cause an infinite loop.

Arguments (input) | dequeuemodeA value of DBMS_AQ.BROWSE, DBMS_AQ.LOCKED, or DBMS_AQ.REMOVE, corresponding to the numbers 1, 2 and 3 respectively, to represent the locking behavior of the dequeue. A mode of DBMS_AQ.BROWSE means to read the message from the queue without acquiring a lock on the message. A mode of DBMS_AQ.LOCKED means to read and obtain a write lock on the message, where the lock lasts for the duration of the transaction. A mode of DBMS_AQ.REMOVE means read the message and update or delete it.
navigation | Specify DBMS_AQ.FIRSTMESSAGE or DBMS_AQ.NEXTMESSAGE, corresponding to the number 1 or 2 respectively, to indicate the position of the message that will be retrieved. A value of DBMS_AQ.FIRSTMESSAGE retrieves the first message that is available and matches the correlation criteria. It also resets the position to the beginning of the queue. A value of DBMS_AQ.NEXTMESSAGE retrieves the next message that is available and matches the correlation criteria. The default is 1.
correlation | Specify an optional correlation identifier for the message to be dequeued. Oracle8i Advanced Queues allow you to search a queue for messages based on a specific correlation value. You can use the Like comparison operator, '%', to specify the identifier string. If null, the Workflow Engine creates a correlation identifier based on the item type.
acctname | The Oracle Workflow database account name. If acctname is null, it defaults to the pseudocolumn USER.
| itemtypeSpecify an optional item type for the message to dequeue if you are not specifying a correlation.
message_handle | Specify an optional message handle ID for the specific event to be dequeued. If you specify a message handle ID, the correlation identifier is ignored.

> Attention: The timeout output returns TRUE when there is nothing further to read in the queue.

| Previous | Next |  | Contents | Index | Glossary