Rounding Errors Introduced By The FCT_CreditLimitCheck Plugin
Last updated on JULY 28, 2017
Applies to:Oracle Communications Billing and Revenue Management - Version 18.104.22.168.0 and later
Information in this document applies to any platform.
This problem can occur on any platform.
In the FCT_CreditLimitCheck plugin, Rounding errors are thrown.
Steps To Reproduce:
1) CM calculates authorization quantity of 21 seconds with impact of 0.168 (full resource usage)
2) CM rounds the impact to two decimal places giving impact of 0.17
3) FCT_CreditLimit detects violation of credit limit (-0.168 + 0.17 = +0.002)
4) FCT_CreditLimit determines that one can get 0.25 sec of service for the over-the-limit amount (0.002)
5) FCT_CreditLimit subtracts 0.25 from authorized quantity, and 0.002 from the balance impact, leaving event with authorized quantity at 20.7529411764706 and impact at 0.168
Please note that we begun with impact of 0.168 for 21 secs and finished with the same impact for ~20.75 secs.
Perceived problems are:
1) authorization quantity re-calculation in pipeline is prone to arithmetic errors
2) pipeline ignores rounding configured in BRM (it did return impact of 0.168, where we're rounding to two decimal places)
3) (connected with problem no 2) pipeline compares credit limit value against unrounded impact
In our stance, the correct behavior in this example would be to authorize for 20 secs with impact of 0.16.i
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