My Oracle Support Banner

Two Schedule Objects are Getting Created for Future Dated Transfer (Doc ID 2225150.1)

Last updated on MARCH 21, 2019

Applies to:

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

Symptoms

On :  7.5.0.14.0 version, Subscription

User tested the changed functionality "If future dated end date is passed for service_bal_grp transfer, a schedule object will be created." (provided from Billing and Revenue Management (BRM) Maintenance Patch Set(MPS) 1 onward) on PS14. 

User noticed however that the new functionality works fine only for the very basic, simplistic case and fails when tests get a little bit less straightforward (and closer to reality).
Consider the following scenario #1 for an account with Billing Day of Month (BDOM)=1 and 3 billinfos (3 separate invoices):
1. on Jan 10th a Customer Service Representative(CSR) action triggers PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move a service A from BILLINFO_1 to BILLINFO_2 on Feb 1st. This schedules a deferred action for Feb 1st.
2. on Jan 15th a CSR realizes he made a mistake and subsequently takes an action which triggers PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move service A from BILLINFO_1 to BILLINFO_3 on Feb 1st. This schedules a second deferred action for Feb 1st.
Now you have 2 conflicting deferred actions pending - both scheduled for Feb 1st.

So both action will fire and the system state will be inconsistent afterwards. i.e. on Feb 1st some fees for service A will go to a bill for BF2 and some to a bill for BF3...

Steps to reproduce the issue.

For details about Scenario #1
1. create an account A with 3 BillinFos
2. create 2 services for account A billinfo BF1
3. set PVT = next_bill_t + 2 days
4. run pin_bill_day
5. set PVT += 3 days
6. for service S1 call PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move it from BF1 to BF2 at next_bill_t - 1 sec. This schedules SH1 a deferred action is created
7. set PVT += 3 days
8. for service S1 call PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move it from BF1 to BF3 at next_bill_t - 1 sec. This schedules SH2 a deferred action is created
9. set PVT = next_bill_t + 2 days
10. run pin_bill_day (this includes pin_deferred_act)

Scenario #2
1. create an account A with 3 BillinFos
2. create 2 services for account A billinfo BF1
3. set pin virtual time (PVT) = next_bill_t + 2 days
4. run pin_bill_day
5. set PVT += 3 days
6. for service S1 call PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move itfrom BF1 to BF2 at next_bill_t - 1 sec
7. for service S2 call PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move it from BF1 to BF2 at next_bill_t - 1 sec
8. set PVT += 3 days
9. for service S2 call PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER to move it from BF1 to BF3 at next_bill_t - 1 sec
10. set PVT = next_bill_t + 2 days
11. run pin_bill_day (this includes pin_deferred_act)

Changes

 

Cause

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
Symptoms
Changes
Cause
Solution
References


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