Shared Discount Not Applied If DSG is Created After Subscription Transfer In The Same Transaction (Doc ID 1903130.1)

Last updated on MAY 20, 2016

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.5.0.0.0 to 7.5.0.0.0 [Release 7.5.0]
Information in this document applies to any platform.

Goal

On : BRM 7.5.0.0.0 version, Subscription Management

Issue :

Shared Discount is not applied if DSG (disount sharing group) is created after Subscription Transfer in the same transaction

Details :

A wrapper opcode designed by a customer, is performing a subscription transfer and then adding the subscription being transferred to the Discount Sharing Group owned by the TO account. The purpose of the discount being shared is to aggregate all currency usage.

The MRC(monthy recurring charge) that is applied on the TO account when the transfer happens is not being considered by the shared discount (i.e., not being aggregated). It is seen that the FM_RATE_GET_CANDIDATE_DISCLIST opcode does not return the shared discounts.

Once the transaction is committed, any further usages on the subscription are aggregated by the discount, which means the DSG and OBG are created correctly.

The following knowledge article ; "Ordered Balance Group Cache Issue" : <Note 1618776.1>, offered some tips around this issue.

However, there are issues when following some of the steps:

  1. destroying the named cache flist using below :
        trans_flistp = CM_FM_GET_NAMED_TRANS_FLIST(ctxp, FM_RATE_ORD_BALGRP);
        PIN_FLIST_DESTROY_EX(&trans_flistp, NULL);
        CM_FM_SET_NAMED_TRANS_FLIST(ctxp, NULL, FM_RATE_ORD_BALGRP);
    then it creates memory issues in the context and it throws core dump while closing transaction or at some other places.
  2. just setting the flist to NULL without destroying it does not affect the named cache list CM_FM_SET_NAMED_TRANS_FLIST(ctxp, NULL, FM_RATE_ORD_BALGRP);

Because of the above issues, a different approach was followed where all the PIN_FLD_RESULTS array elements were dropped from the flist after using CM_FM_GET_NAMED_TRANS_FLIST and this is done right after :-       
  *  Subscription Transfer is Done and
  *  DSG is Created and
  *  just before creating the ordered balance groups.

This approach seems to solve the issue mentioned; now the MRC applied during subscription transfer is also being picked for the shared discount when creating the ordered balance groups, and currency is aggregated.

Questions :

A.  Why are the steps 1 and 2 above leading to issues?
B.  Is the approach mentioned used thereafter, an acceptable tweaking of the cached flist and will it cause any unforeseen issues?

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