Error Encountered With PCM_OP_RATE_GET_CANDIDATE_DISCLIST Opcode. (Doc ID 749416.1)

Last updated on JULY 26, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version: 7.0.0.0.0
This problem can occur on any platform.

Symptoms

-- Problem Statement:
We have two accounts A and B, one is a dummy account and the other having a service with a proratable cycle event product purchased. There are discounts purchased for account A and a DSG (discount sharing group) is created such that all the discounts are part of the DSG. Add account B as a member account. Deleted one of the discount objectd such that rec_id= 0 is deleted. Try to give back some charges to the account by calling subscription_cycle_fees and an error occurs in PCM_OP_RATE_GET_CANDIDATE_DISCLIST opcode.

Error in cm.pinlog:
E Tue Jun 16 00:54:58 2009 vfauh004 cm:13437 fm_rate_get_candidate_disclist.c:650
1:vfauh004:<no_name>:13431:1:120001:1214886067:1
fm_rate_get_cand_disclist_normal_disc error
<location=PIN_ERRLOC_FLIST:6 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1
errno=PIN_ERR_NOT_FOUND:3>
<field num=PIN_FLD_DISCOUNT_OBJ:7,7780 recid=0 reserved=0 reserved2=0
time(sec:usec)=0:0>
<facility=0 msg_id=0 version=0>

-- Steps To Reproduce:
1. Create only two accounts: A and B
2. Add a subscription service to account B
3. Purchase three account level discounts for account A (no need for any services for account A)
4. Create a DSG for account A by calling PCM_OP_SUBSCRIPTION_SHARING_GROUP_CREATE
5. Add all three of the discounts belonging to account A to the DSG using
PCM_OP_SUBSCRIPTION_SHARING_GROUP_MODIFY
6. Add account B’s subscription to the members array of the DSG using
PCM_OP_SUBSCRIPTION_SHARING_GROUP_MODIFY
7. Create an Ordered Balgroup for account B using PCM_OP_SUBSCRIPTION_ORDERED_BALGRP, the ordered
balgroups array of the Ordered Balgroup should include account A’s DSG
8. Remove the discount from account A which lies at rec_id = 0 on the DSG using
PCM_OP_SUBSCRIPTION_CANCEL_DISCOUNT
9. Advance the pin_virtual_time a little (not crucial – this is just to make sure there’s a
time gap between timestamps in steps 8 and 10)
10. Remove any one of the other two remaining discounts from account A using
PCM_OP_SUBSCRIPTION_CANCEL_DISCOUNT
11. Call PCM_OP_SUBSCRIPTION_CYCLE_FEES opcode on the account B so that some charges are given back to the account.


Cause

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