Out Of Box Profile Sharing Is Not Working As Expected (Doc ID 1519982.1)

Last updated on SEPTEMBER 21, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.4.0.0.0 and later
HP-UX Itanium
***Checked for relevance on 21-Apr-2016***

Symptoms

Profile sharing is being used for CUG promotion but OOB is not setting the CUG flag.

The parent account has a profile sharing group with 2 children added for voice and im services.
During rating fm_rate_pol_process_eras.c checks the era for A party number and then for B party. While getting the era for B party from profile sharing the input flist for getting the /ordered_balgrp is not populating the service obj and it fails to get the data.

Find below the search flist :

       fm_rate_get_cand_disclist_get_ord_bal_grp search input flist
# number of field entries allocated 20, used 7
0 PIN_FLD_POID           POID [0] 0.0.0.1 /search -1 0
0 PIN_FLD_FLAGS           INT [0] 256
0 PIN_FLD_ARGS          ARRAY [1] allocated 20, used 1
1     PIN_FLD_SERVICE_OBJ    POID [0] 0.0.0.0  0 0
0 PIN_FLD_TEMPLATE        STR [0] "select X from /ordered_balgrp where F1 = V1 and F2 = V2 "
0 PIN_FLD_INDEX_NAME      STR [0] "ordered_balgrp_acct_i"
0 PIN_FLD_ARGS          ARRAY [2] allocated 20, used 1
1     PIN_FLD_ACCOUNT_OBJ    POID [0] 0.0.0.1 /account 156429 0
0 PIN_FLD_RESULTS       ARRAY [0] allocated 20, used 3
1     PIN_FLD_POID           POID [0] NULL poid pointer
1     PIN_FLD_EFFECTIVE_T  TSTAMP [0] (0) <null>
1     PIN_FLD_ORDERED_BALGROUPS  ARRAY [*]     NULL array ptr

Even if this is fixed, there is another issue in the function fm_rate_pol_proc_eras_get_cug_era where the input flist is not checked for the PIN_FLD_SHARED_LIST array.
In case of a profile sharing, the p_flistp contains the below :

# number of field entries allocated 20, used 1
0 PIN_FLD_SHARED_LIST   ARRAY [0] allocated 20, used 1
1     PIN_FLD_PROFILE_DATA_ARRAY  ARRAY [0] allocated 20, used 4
2         PIN_FLD_PROFILE_NAME    STR [0] "CUG"
2         PIN_FLD_POID           POID [0] 0.0.0.1 /service/telco/ims/voice 261863 28
2         PIN_FLD_DATA_ARRAY    ARRAY [1] allocated 20, used 4
3             PIN_FLD_NAME            STR [0] "CUGCORP"
3             PIN_FLD_VALID_FROM   TSTAMP [0] (0) <null>
3             PIN_FLD_VALID_TO     TSTAMP [0] (0) <null>
3             PIN_FLD_VALUE           STR [0] "CUGCORP1"
2         PIN_FLD_EXTRATING    SUBSTRUCT [0] allocated 20, used 1
3             PIN_FLD_LABEL           STR [0] ""

but the while loop is checking as:

while ((prof_flistp = PIN_FLIST_ELEM_GET_NEXT(p_flistp, PIN_FLD_PROFILE_DATA_ARRAY,
&elem_id, 1, &cookie, ebufp)) != (pin_flist_t *)NULL) {

It is expected that the profile sharing should work correctly in the above situation.


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