JBO-25070: Where-clause param variable vc_temp_1 needs ordinal index array
Hi,
I am migrating our PathFinder application code (a POC CRM application built with 11g ADF tech stack) from JI3 JDev 4510 to DROP31. Suprisingly I find below exception when execute a "Search" function in ContactSearch page. The application is working fine w/o such a problem with JDev JI3 4510.
oracle.jbo.InvalidOperException: JBO-25070: Where-clause param variable vc_temp_1 needs ordinal index array.
The ContactSearch page is based on a PartyContactVO which is built as "Normal" mode and using JDBC positional binding style. The SQL looks like below:
SELECT ContactEO.ROW_ID,
ContactEO.FST_NAME,
ContactEO.LAST_NAME,
ContactEO.CELL_PH_NUM,
ContactEO.EMAIL_ADDR,
ContactEO.FAX_PH_NUM,
ContactEO.HOME_PH_NUM,
ContactEO.JOB_TITLE,
ContactEO.MID_NAME,
ContactEO.OWNER_PER_ID,
ContactEO.PER_TITLE,
ContactEO.WORK_PH_NUM,
ContactEO.MODIFICATION_NUM,
OrgExtEO.NAME,
OrgExtEO.ROW_ID AS ROW_ID11,
OrgExtEO.MODIFICATION_NUM AS MODIFICATION_NUM1,
OrgExtEO.LOC,
PartyEO.ROW_ID AS ROW_ID12,
PartyEO.MODIFICATION_NUM AS MODIFICATION_NUM2
FROM S_PARTY PartyEO, S_CONTACT ContactEO, S_ORG_EXT OrgExtEO, S_PARTY_PER PartyPerEO
WHERE (PartyEO.ROW_ID = ContactEO.PAR_ROW_ID) AND (ContactEO.FST_NAME like 'PSR%') AND ((ContactEO.ROW_ID = PartyPerEO.PERSON_ID(+)) AND (PartyPerEO.PARTY_ID = OrgExtEO.ROW_ID(+))) AND (ContactEO.OWNER_PER_ID like ? )
There is a bind var: OwnerId and Bind Position is 0. When navigate from Home page to this ContactSearch page, it's working fine -- the right Contact records owned by OwnerId (LoginId) are properly displayed. But when a search spec (e.g. in First Name) is specified and "Search" button is clicked, the exception is thrown. Strangely I dont' observe such an exception when I test this PartyContactVO in BC Browser (I test search function by specifying same First Name condition) -- it's working fine!
I searched on JDev Forum and OTN, only find below explanation but dosn't help too much on my case.
JBO-25070: InvalidOperException
Cause: This view object of entity is using Oracle number style binding (:1, :2, ... binding, not named binding) or JDBC style (? binding). A variable of where-clause-param kind is found, but the extended int array that designates where the value should be bound is missing.
Action: When defining a variable for where-clause param in conjunction with a binding style which is not Oracle named binding, you must specify an int array that designates where the value should be bound.
Does anyone have an idea about what kind of problem I am facing? Any tips or fix is very welcome!