PCM_OP_SEARCH is Not Returning All the Results for Two Levels of ARRAY in a Class
(Doc ID 1541404.1)
Last updated on FEBRUARY 03, 2019
Applies to:
Oracle Communications Billing and Revenue Management - Version 7.5.0.0.0 and laterInformation in this document applies to any platform.
Checked for relevance on 7-Jun-2016.
Symptoms
PCM_OP_SEARCH was not returning all the search results. If there were 2-level of ARRAYs in a class, the PCM_OP_SEARCH was not returning them all.
Steps to reproduce:
1) Create a class in Developer Center: /test3
2) Add any OOB array say PIN_FLD_NAMEINFO to the /test3
3) Add a string to the 1-level array PIN_FLD_NAMEINFO Namely PIN_FLD_NAME
4) Add 2 more arrays to PIN_FLD_NAMEINFO namely PIN_FLD_NUMBERS and PIN_FLD_PHONES
5) Add string to PIN_FLD_NUMBERS and PIN_FLD_PHONES array.
6) Commit the class.
7) Create an object of the class. Pass the below input flist :
0 PIN_FLD_POID POID [0] 0.0.0.1 /test3 -1 0
0 PIN_FLD_NAMEINFO ARRAY [0] allocated 20, used 5
1 PIN_FLD_NAME STR [0] ""
1 PIN_FLD_NUMBERS ARRAY [0] allocated 20, used 1
2 PIN_FLD_NUMBER STR [0] "123"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_NUMBERS ARRAY [1] allocated 20, used 1
2 PIN_FLD_NUMBER STR [0] "456"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_NUMBERS ARRAY [2] allocated 20, used 1
2 PIN_FLD_NUMBER STR [0] "789"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_PHONES ARRAY [0] allocated 20, used 1
2 PIN_FLD_PHONE STR [0] "t"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_PHONES ARRAY [1] allocated 20, used 1
2 PIN_FLD_PHONE STR [0] "r"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_PHONES ARRAY [2] allocated 20, used 1
2 PIN_FLD_PHONE STR [0] "p"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_ORDERS ARRAY [0] allocated 20, used 2
2 PIN_FLD_ORDER_ID STR [0] "123456"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_ORDERS ARRAY [1] allocated 20, used 2
2 PIN_FLD_ORDER_ID STR [0] "3456789"
2 PIN_FLD_TYPE ENUM [0] 0
1 PIN_FLD_ORDERS ARRAY [2] allocated 20, used 2
2 PIN_FLD_ORDER_ID STR [0] "789012"
2 PIN_FLD_TYPE ENUM [0] 0
8) Then execute PIN_FLD_SEARCH with input flist:
0 PIN_FLD_FLAGS INT [0] 512
0 PIN_FLD_TEMPLATE STR [0] "select X from /test3 where F1 = V1"
0 PIN_FLD_RESULTS ARRAY [*] allocated 20, used 1
1 PIN_FLD_NAMEINFO ARRAY [*] allocated 20, used 3
2 PIN_FLD_NAME STR [0] NULL str ptr
2 PIN_FLD_PHONES ARRAY [*] NULL array ptr
2 PIN_FLD_NUMBERS ARRAY [*] NULL array ptr
2 PIN_FLD_ORDERS ARRAY [*] NULL array ptr
0 PIN_FLD_ARGS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /test3 341137 0
The actual output flist only returned the incomplete 2-level array mentioned in the PIN_FLD_RESULTS:
0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 2
1 PIN_FLD_POID POID [0] 0.0.0.1 /test3 341137 0
1 PIN_FLD_NAMEINFO ARRAY [0] allocated 20, used 10
2 PIN_FLD_NAME STR [0] ""
2 PIN_FLD_PHONES ARRAY [0] allocated 20, used 2
3 PIN_FLD_PHONE STR [0] "t"
3 PIN_FLD_TYPE ENUM [0] 0
2 PIN_FLD_PHONES ARRAY [1] allocated 20, used 2
3 PIN_FLD_PHONE STR [0] "r"
3 PIN_FLD_TYPE ENUM [0] 0
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 |