My Oracle Support Banner

Positive Bucket is Created Even When Impact Bucket Has No End Date. (Doc ID 2956575.1)

Last updated on JUNE 21, 2023

Applies to:

Oracle Communications BRM - Elastic Charging Engine - Version and later
Information in this document applies to any platform.


As part of a business requirement, the user has introduced a safety net feature in which during post-rating hook, they are checking the current available balance and the cumulative impact during the terminate scenario. If any of the balance impact exceeds the current available balance, then the cumulative impact is adjusted to the available amount.


MB: 300MB

IU: 0MB => MB: 200 MB activeReservation=200MB, consumedReservation=0

1U: 200 MB => MB: 100 MB activeReservation=100MB, consumedReservation=200MB

T: 200MB => MB: 0MB | 100 MB positive bucket with unlimited validity (cumulative impact=400mb)

with safety net: MB: 0MB | no positive bucket created (cumulative impact=300mb)

Customization Logic:
In post-rating, they sum up all rating period impact on MB bucket (cumulativeImpact) and compare it with the current available balance of MB bucket (currentAvaialbleBalance).
if cumulativeImpact > currentAvaialbleBalance then cumulativeImpact = currentAvaialbleBalance (by overriding the individual rating period impact)

Since they are aligning the rating period impacts to the available balance as per the safety net customization, the expectation is not to see any positive balance impacts.

T: 200MB => MB: 0MB | 100 MB positive bucket with unlimited validity (cumulative
impact =400mb) ==> this is the actual behavior

with safety net: MB: 0MB | no positive bucket created (cumulative impact =300mb) ==> this is the expected behavior.

For a business requirement to align the order of consumption of local data {MB} buckets at the time of billing we override the rollover bucket end date to no-end-date{0} and this change is there for a while now. The issue is not specific to rollover buckets as the user also tried setting the end date to rollover bucket by set validity opcode and setting an end date to the current cycle end date.

The above scenario works fine for the normal scenarios where the impacts are on the local MB bucket (end date is defined). However, this does not work for impacts on Rollover MB bucket scenario (end date is not set as part of a business requirement). The user also tried overriding the end date of Rollover buckets and the scenario works fine as well.

Below scenario is creating the positive balance when there is an extra usage

• Balance Before Usage :
Balance Code : MB
balanceItemId = 10
currentBalance = -20480.000000000000
Valid from: 19-May-2021 00:00:00
Valid to : 0 (unlimited)

• Start the Usage @ 19-may-2021 10.41
CCR-U [RSU = ]
CCA-U [GSU = 20 MB]

Reservation in MB Balance
balanceItemId = 10

• Send next update with more USU then available

Reservation on MB Balance
balanceItemId = 10

New Balance Bucket created balanceItemId = 13 , currentBalance = 0
Valididty [21-May-2021 10.00 AM to 0]


• Terminate the session
CCR-T : USU = 0

Safety Net code got executed and changed the impact amount as below in Rating Period

Before Modification = impactAmount=UnitValue{quantity=30720.00,unit=Occ}
After Modification =
impactAmount=UnitValue{quantity=20480.000000000000, unit=Occ}

After SafetyNet while committing the balance due to consumption rule (EETLST) balance got updated as below

balanceItemId = 13 , currentBalance = 20480.000000000000
balanceItemId = 10 , currentBalance = -20480.000000000000



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.