DBMS_AQ.DEQUEUE Function Fetches The Events In Reverse Order When "DBMS_AQ.DEQUEUE_OPTIONS_T.Deq_Condition" Is Set

(Doc ID 1328724.1)

Last updated on JUNE 13, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.4.0.0.0 to 7.5.0.0.0 [Release 7.4.0 to 7.5.0]
Information in this document applies to any platform.
***Checked for relevance on 26-Apr-2013***

Goal

Scenario:

A user is doing implementation for processing 'orders' in BRM 7.4. Here 'order' contains creating service, associating device to service, purchasing service/account level products/discounts, creating discount sharing group and link discount group to member services ( i.e. Create Ordered Balance Group). All these activities are performed in a DB transaction and through calling different OOB opcodes.

The issue is with publishing business events through ifw_sync to pipeline. All these business events are getting queued successfully following its processing order but while de-queuing, the order is changed (example AddOrderedBalanceGroup event is coming before CreateGroupSharingDiscounts where as it is getting en-queued in other way). This is causing to fail discounting (discount is not getting applied to usage events and after restarting pipeline it is getting applied).

This article shows a workaround that can be used in this situation when ordering of events is lost in oracle AQ dequeue operation.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms