My Oracle Support Banner

Sub Balances Validity_to Is Set With Timestamp, Due To Which Discount Is Calculated As 0 (Doc ID 2997563.1)

Last updated on JANUARY 12, 2024

Applies to:

Oracle Communications Billing and Revenue Management - Version and later
Information in this document applies to any platform.


On Oracle Communications Billing and Revenue Management (BRM) version, Subscription Management

Customer business requirement is to apply Early Termination Fee(ETF), but without using ASC 606 feature

- functionality to calculate ETF was implemented by using non-currency resource and discount offer

- existing product which includes cycle_forward_arrear charge is changed so it will include cycle_arrear instead, by end-dating the cycle_forward_arrear with "1-oct", while cycle_arrear one is valid starting with "1-oct"

- account is created on 7-nov, and purchases the above mentioned product by backdating the purchase_start_date to "15-sep"; cycle_forward_arrear charge is created for 15-sep to 1-oct period, while for 1-oct to 1-nov a cycle_arrear charge is created

- pvt is moved to 15-nov (billing delay is set to 15 on customer's env) and billing is executed

- while still having pvt set as 15-nov, account is cancelled by executing PCM_OP_CUST_SET_STATUS; while product and discount are cancelled, discount is not calculated;
  it was observed that during execution of op_subscription_cycle_arrears (whithin op_subscription_cancel_product) op_bal_change_validity is executed

- it was observed that if cancelling the account after transition period (so after 2nd billing), discount is calculated (op_bal_change_validity is NOT executed)

- customer changed the relevant product to replace cycle_forward_arrear with cycle_arrear in PS8 only

- in PS5 env, product includes cycle_forward_arrear only, and behavior is as expected (op_bal_change_validity is NOT executed)

- in PS8 env, it was observed that if cancelling the product by executing op_subscription_cancel_product and passing PIN_FLD_FLAGS=67108864 (see <Doc ID 2461308.1>), the same scenario works as expected (discount is calculated)

- customer expectation is discount is calculated also when account is cancelled by executing PCM_OP_CUST_SET_STATUS

Steps to reproduce the Issue
1. Create a product with:

   Cycle_arrear event which has both currency($13.8) and Non-currency resource1(1) .
   Purchase event - Non currency resource 2 with balance as (12).
   and Cancel Event with currency balance Impact(120).

and Discount with Cancel event with currency balance Impact and formula is bal(Non currency resource )*charge/bal(Non-currency resource1).

2. Create a bundle with product and the discount.

3. Create an account and purchase this Bundle.

4. Bill for one cycle and terminate the account in the next cycle using PCM_OP_CUST_SET_STATUS. It will cancel the product and discount internally.

5. In the Input flist of PCM_OP_RATE_DISCOUNT_EVENT, we can see the CURRENT_BAL of 1000200(Non currency resource 2) is passed as 0, due to this discount is not calculated.


To view full details, sign in with your My Oracle Support account.

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

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.