PCM_OP_SUBSCRIPTION_PURCHASE_DEAL Fails For Deal With Balances As 0
(Doc ID 2519163.1)
Last updated on OCTOBER 10, 2019
Applies to:Oracle Communications Billing and Revenue Management - Version 18.104.22.168.0 and later
Oracle Communications BRM - Elastic Charging Engine - Version 22.214.171.124.0 and later
Information in this document applies to any platform.
In a BRM-ECE environment, one has a deal configured, which creates non currency buckets with zero balance and on first usage, these buckets are set with actual allowance for customer use. When this deal is purchased with overridden amount of 0 MVR (Maldivian Rufiyaa), it is failing in purchase_deal flow like below.
PCM_OP_SUBSCRIPTION_PURCHASE_DEAL opcode is invoking PCM_OP_BAL_POL_CHECK_LIFECYCLE_STATE, which checks if any one of the balances have available balance greater than Zero. If not, it is updating service status to suspend(103), so that customer can use the service only after recharging.
There are two issues here:
1. Because of this service status update, /purchased_product created for this purchase is getting updated with inactive status. During this flow, two events are getting pushed to ECE, (1) ProductUpdateEvent and (2) PurchaseEvent. ECE is throwing error as ProductUpdateEvent is getting pushed to ECE before PurchaseEvent.
2. This particular deal will be purchased for prepaid customers, so credit limit will always be zero and since balances granted are zero, OOB (out of the box) code is updating service status to inactive [point 1] and purchase is failing due to above reason.
ERROR in CM PINLOG
The issue can be reproduced at will with the following steps:
1. Create product with purchase event [one time event] and impact with non-currency value 0.
2. Create the deal and purchase the same.
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