OHMPI Query Generates Error When Weight Option Is Set To False.
(Doc ID 2859091.1)
Last updated on JULY 13, 2023
Applies to:
Oracle Healthcare Master Person Index - Version 5.0 and laterInformation in this document applies to any platform.
Symptoms
On : 5.0 version, Master Index Main Component
When a custom query builder is implemented and when conditions are added, the following exception is thrown when weight option is set to false:
ERROR
-----------------------
MDM-MI-MSC582: MasterControllerImpl encountered a ProcessingException: name=com.sun.mdm.index.query.QMException, message=MDM-MI-QUE547: executeAssemble() failed: java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
, stack trace=
com.sun.mdm.index.query.QueryManagerImpl.executeAssemble(QueryManagerImpl.java:307)
com.sun.mdm.index.query.QueryManagerImpl.executeAssemble(QueryManagerImpl.java:185)
com.sun.mdm.index.ejb.master.MasterControllerCoreImpl.searchEnterpriseObject(MasterControllerCoreImpl.java:4142)
com.sun.mdm.index.ejb.master.MasterControllerEJB.searchEnterpriseObject(MasterControllerEJB.java:667)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
STEPS
-----------------------
The issue can be reproduced at will with the following steps:
To replicate the problem:
- create a custom query builder that will not return inactive patient.
example: public class CustomQueryBuilder extends BasicQueryBuilder {
public CustomQueryBuilder() {
super();
}
@Override
public QueryObject buildQueryObject(String[] ids, SearchCriteria crit,
SearchOptions opts) throws QueryBuilderException {
QueryObject queryObject = super.buildQueryObject(ids, crit, opts, false);
return queryObject;
}
- register your query in the query.xml
- deploy and use the Search operation in the OHMPI Web Service
- an exception is returned in the response:
S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
ns0:Server
MDM-MI-MSC582: MasterControllerImpl encountered a ProcessingException: name=com.sun.mdm.index.query.QMException, message=MDM-MI-QUE547: executeAssemble() failed: java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
, stack trace=
com.sun.mdm.index.query.QueryManagerImpl.executeAssemble(QueryManagerImpl.java:307)
com.sun.mdm.index.query.QueryManagerImpl.executeAssemble(QueryManagerImpl.java:185)
com.sun.mdm.index.ejb.master.MasterControllerCoreImpl.searchEnterpriseObject(MasterControllerCoreImpl.java:4142)
com.sun.mdm.index.ejb.master.MasterControllerEJB.searchEnterpriseObject(MasterControllerEJB.java:667)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
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 |
Cause |
Solution |
References |