Binding parameter value pass to VO's query which contain IN clause
Dear All,
This based on "IN" clause of VO's query
ex: Following query contain in a VO
SELECT DISTINCT d.dep_id, d.dep_name, e.emp_name from Department d, Employee e where
d.dep_id = e.dep_id
and e.emp_type IN (:param)
In here query consist with IN clause.
So the problem is how parameter pass to this binding variable. (my binding variable param) ?
my parameter value from IMPL class as --> param = "Manager, CEO, Labor, TeramLeader"
When execute it should be display as following :
SELECT DISTINCT d.dep_id, d.dep_name, e.emp_name from Department d, Employee e where
d.dep_id = e.dep_id
and e.emp_type IN ('Manager', 'CEO', 'Labor', 'TeramLeader')
Thanks if Help on this,
Sagara.
Hi,
create a client interface method in viweobjectimpl, somewhat like this
public void executeForBranches(int[] branch_code){
ViewCriteria newVc = createViewCriteria();
ViewCriteriaRow vcr = newVc.createViewCriteriaRow();
StringBuilder sb=new StringBuilder();
for(int bc:branch_code){
if(sb.length()>0){
sb.append(",");
sb.append(bc);
String str="(" + sb.toString() + ")";
//System.err.println("Param = " + str);
vcr.setAttribute("OriginBranch", " IN " + str);
newVc.insertRow(vcr);
applyViewCriteria(newVc);
//System.err.println(getQuery());
executeQuery();
}just dragand drop the clientmethod to your taskflow..
for this you would need to remove the inclause from query
SELECT DISTINCT d.dep_id, d.dep_name, e.emp_name from Department d, Employee e where
d.dep_id = e.dep_id
--and e.emp_type IN (:param)Regards,
Santosh
Similar Messages
-
VO Substitution : JBO-25006 : Invalid parameter value passed for source
Hello All,
I want to add 2 new fields (attribute columns) to an existing VO for which I am trying to use VO substitution. I have followed these steps.
1. Downloaded all the class files from server to local machine
2. Opened an OA project and extended the VO by changing sql query to add 2 attribute columns
3. Added 2 transient VO attributes to map them to the added fields in sql query
4. Create a BC4J substitution and imported jpx file using jpximporter
While opening the page which consisted the original VO that I extended (creditRequestsVO), I am getting below error. Appreciate if anyone can throw any light on this.
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidParamException: JBO-25006: Invalid parameter value creditRequestsVO for source passed to method ViewLinkImpl.setSource. Explanation: view def mismatch
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1247)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2542)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:379)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:619)
## Detail 0 ##
oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidParamException: JBO-25006: Invalid parameter value creditRequestsVO for source passed to method ViewLinkImpl.setSource. Explanation: view def mismatch
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2542)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:379)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:619)
oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidParamException: JBO-25006: Invalid parameter value creditRequestsVO for source passed to method ViewLinkImpl.setSource. Explanation: view def mismatch
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2542)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:379)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:619)
Edited by: Bhavesh J Shah on Feb 22, 2010 1:58 AMHi Rama,
Parameter being passted to LeadHeaderDetailsVO is not right. Check the parameter values that are being passed,wether there are right or not
Thanks
Sandeep -
Parameter Value passing issue to Web i report from Design Studio APP
Hi all,
I am trying to pass values to 2 parameters in a web I report called DIM1_REPORT and DIM2_REPORT. The values with space for example, Computer Sciences Corporation is getting passed as Computer\Sciences\Corporation Looks like the space is getting replaced with \ and as the values doesn't match the database values, no results are being retrieved. I tried using Convert.urlEncode function as well. But no luck still having same issue. Below is the URL,
"http://servername:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=AWD5NloJ4rVKoi2Y8m89GY0"+
"&lsMDIM1_REPORT=" + GLOBAL_SCRIPTS_1.DIM1_FILTER_SCRIPT() +
"&lsMDIM2_REPORT=" + GLOBAL_SCRIPTS_1.DIM2_FILTER_SCRIPT()
Has any one faced this issue and have a solution for this? Appreciate any help on this
Thanks
NithinHi Mustafa,
Thanks for the response.
I tried to replace the \ with %20 using the following code
Convert.replaceAll(GLOBAL_SCRIPTS_1.DIM1_FILTER_SCRIPT(), "\ ", "%20");
But getting error in the script editor saying
I think \ is causing this issue. If I use any other character other than \ in search expression its not throwing any error in script editor. Any idea is \ considered as delimiter/break in design studio?
Any other way to fix this issue in design studio?
Thanks,
Nithin -
Parameter Values passed in WEBHTML or Forms Personalization Parameters
Hi All,
I'm calling my OA JSP from a core Form via a menu item enabled via Forms Personalization.
The JSP was tested in Jdeveloper called from another jsp that passed it a Project Number and Task Number that it retrieved and displayed.
I would like to pass the same parameters from the Core Form that it is enabled on.
I have set up the parameters on the Parameters section of the personalization using in the format
'projectNumber=':block.item||'&taskNumber='||block_item
When I press the verify button the JSP run successfully, however when I rerun the
form the JSP does not return the data.
Does the form function definition webhtml need the parameters defining as well and
if so what would the format be!
Thanks in advance
Cheers
GuyDoes the form function definition webhtml need the
parameters defining as well and
if so what would the format be!No it doesn't. You can pass in the values from the Form Fields using the below statement in the parameters window.
'param='||${item.<block>.<item>.value}
Please note that you need to close your form (that you've personalized) and re-open for personalization to reflect.
HTH. -
How to tune a query which contains "Bulk Collect Into" clause
I want to tune the below query:
SELECT customer_master_num,
product_nam
BULK COLLECT INTO t_cont09_rec
FROM TB_CMA009_SUPRA_RE_AGNT_CONT
WHERE re_agent_customer_master_num = p_63cust_master_num
AND customer_master_num = p_63board_master_num
AND cancellation_dt IS NULL
AND NVL (is_training_key_flg, 'N') = 'N';
This contains "Bulk Collect Into" clause.
TYPE cont09cur IS RECORD (
customer_master_num TB_CMA009_SUPRA_RE_AGNT_CONT.customer_master_num%TYPE,
product_nam TB_CMA009_SUPRA_RE_AGNT_CONT.product_nam%TYPE);
t_cont09_rec cont09_rec;
"t_cont09_rec" This is of Record Type
Please help me out how to tune this one.[url http://forums.oracle.com/forums/thread.jspa?threadID=501834&tstart=0]When your query takes too long ...
Also, don't get too distracted by the PL/SQL bulk collect into construction. If it takes time, then you have more than 99% chance that the time is spent in the SQL.
Regards,
Rob. -
Selecting an lov parameter value sometimes not passed correctly
When selecting a value from an LOV parameter, sometimes the parameter value doesn't seem to get passed correctly to the data template query.
For example, let's say I have the following LOV parameter called "risk":
Some Risk
New Risk
Other Risk
Last Risk
When I select "Some Risk", I would get correct results and when viewing the "Data" xml, I can see the parameter with the right value:
<RISK>Some Risk</RISK>
But when I select "New Risk" the results are incorrect and the xml shows:
<RISK />
as if the value was not passed as the bind parameter value for the dataset query.
Any idea what I'm doing wrong? Is this a BIP bug or is there a workaround?Hi, thanks for the reply.
The LOV is of "SQL Query" type (not fixed data) and the values were retrieved from the database.
Supposing this was the sql query for my "risk" parameter LOV:
select dimvaltl.GENERIC_VAL_NAME
from GENERIC_VAL_TL dimvaltl,
GENERIC_TL dimtl
where dimtl.GENERIC_NAME = 'Risk'
and dimvaltl.GENERIC_ID = dimtl.GENERIC_ID
order by dimvaltl.GENERIC_VAL_NAME
And supposing this was the sql query in the data template dataset:
select pdimv.ID
from GENERIC_V pdimv
where pdimv.NAME = 'Risk'
and pdimv.VALUE in (:risk)))
If risk is empty, obviously the query would not work. I noticed the xml generated sometimes show the selected parameter value and sometimes don't, as if BIP is not passing it to the dataset query as bind parameter value.
Incidentally I have other lov parameters that works fine, the only difference I can think of is that for this LOV query I am doing a join instead of a simple select statement from one table. -
Bug while using string parameter values in postgresql query
Hi,
I have the following query for the postgresql database:
Code:
<queryString><![CDATA[SELECT
evt_src_mgr_rpt_v."evt_src_mgr_name" AS esm_name,
evt_src_collector_rpt_v."evt_src_collector_name" AS collector_name,
evt_src_grp_rpt_v."evt_src_grp_name" AS grp_name,
evt_src_grp_rpt_v."state_ind" AS state_ind,
evt_src_rpt_v."evt_src_name" AS src_name,
evt_src_rpt_v."date_modified" AS date_modified,
evt_src_rpt_v."date_created" AS date_created,
CASE WHEN $P{mysortfield} = 'evt_src_mgr_name' THEN evt_src_mgr_name
WHEN $P{mysortfield} = 'evt_src_collector_name' THEN evt_src_collector_name
WHEN $P{mysortfield} = 'evt_src_grp_name' THEN evt_src_grp_name
ELSE evt_src_name END as sort
FROM
"evt_src_mgr_rpt_v" evt_src_mgr_rpt_v
LEFT JOIN
"evt_src_collector_rpt_v" evt_src_collector_rpt_v
ON EVT_SRC_MGR_RPT_V."evt_src_mgr_id" = evt_src_collector_rpt_v."evt_src_mgr_id"
LEFT JOIN
"evt_src_grp_rpt_v" evt_src_grp_rpt_v
ON evt_src_collector_rpt_v."evt_src_collector_id" = evt_src_grp_rpt_v."evt_src_collector_id"
LEFT JOIN
"evt_src_rpt_v" evt_src_rpt_v
ON evt_src_grp_rpt_v."evt_src_grp_id" = evt_src_rpt_v."evt_src_grp_id"
LEFT JOIN
"evt_src_offset_rpt_v" evt_src_offset_rpt_v
ON evt_src_rpt_v."evt_src_id" = evt_src_offset_rpt_v."evt_src_id"
WHERE
$P!{mysortfield} LIKE '$P!{searchvalue}' || '%']]></queryString>
That is I try to select only the records where the field which is
selected by user as report parameter ($P{mysortfield}) contains data
starting with the text entered by user as a report parameter
($P{searchvalue}).
When I try to run the report in iReport with active connection to the
database the report is generated as expected.
But when I try to run the report from Sentinel Log Manager I get the
following error: "java.lang.String cannot be cast to
net.sf.jasperreports.engine.JRValueParameter".
After several detailed debug sessions I finally came into a conclusion
that this error is related to the use of parameter values (
$P!{mysortfield} and $P!{searchvalue} ).
I even tried using the following WHERE clause (which emulates the
queries as used in standart reports (especially at VendorProduct related
SQL queries ) with no success:
Code:
WHERE
($P{mysortfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
($P{mysortfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
($P{mysortfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
($P{mysortfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
Any suggestions?
hkalyoncu
hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
View this thread: http://forums.novell.com/showthread.php?t=450687bweiner12345;2167651 Wrote:
> I'm not 100% sure the $P! (instead of just $P) is needed in that WHERE
> portion of your SQL statement.
>
> What I would suggest doing is building the WHERE portion of your query
> up again step by step. That is, instead of using any parameters in your
> WHERE:
>
> $P!{mysortfield} LIKE '$P!{searchvalue}' || '%'
>
> ... take a step back and literally hard-code some values in there, such
> as:
>
> evt_src_mgr_name LIKE '%' || '%'
>
> ... and run it on your box to make sure it works fine.
>
> If it works fine, start substituting the parameters one by one:
>
> $P{mysortfield} LIKE '%' || '%'
>
> .... test on the box.
>
> $P{mysortfield} LIKE '$P{searchvalue}' || '%'
>
> .... test on the box.
>
> It may be a little tedious, but at least you'll find out where the
> problem is occurring... and may be quicker in the long run.
>
> (Note: In my above example steps I didn't use the ! in with the
> parameters, as I don't think they are needed in the WHERE clause... but
> I could be wrong... and by following the above step-by-step technique
> should answer that for sure.)
Thank you for the suggestions:
While trying to implement your suggestions I realized that there was a
error at the parameter name I used inside the where clause (it should be
$P{searchfield}).
Here are my results:
Code:
vt_src_mgr_name LIKE '%' || '%'
worked as expected.
Code:
$P{searchfield} LIKE '%' || '%'
produced PDF but wrong output.
Code:
$P!{searchfield} LIKE '%' || '%'
resulted with the error "java.lang.String cannot be cast to
net.sf.jasperreports.engine.JRValueParameter" and no PDF.
Then I tried the following where clause which resulted in exactly as
expected PDF:
Code:
WHERE
($P{searchfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
($P{searchfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
($P{searchfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
($P{searchfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
As a summary:
* The query which works in iRepord do not work in Sentinel Log
Manager.
* I found a workaround for my case.
* I did not checked, but the reports provided in Sentinel RD which use
the same technique for VendorProduct parameter (i.e. the reports with
query string containing
Code:
LIKE ($P{VendorProduct} || '%')
will most probably not work as expected IF Sentinel RD uses the same
code as Sentinel Log Manager.
hkalyoncu
hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
View this thread: http://forums.novell.com/showthread.php?t=450687 -
How can I show Search Form parameter values in URI of Results page?
I have searched through these pages for posts relating to caching but haven't seen any that relate to my issue.
We run a website that accesses data through search forms and returns matching data to the requester in a results page. The search criteria are entered in a form and the results page is generated by a servlet that gets the search parameter values that the user entered using the GET method.
I would like rewrite this Search page using JDeveloper to bring our old code up to date and take advantage of new features that should help performance. In particular, I want to utilise the WebCache.
To use the WebCache effectively, the cache needs to know what the search criteria were when it delivers a page so that repeated requests using the same criteria can be served directly from the cache.
The data retrieved by a query may change from one search to to the next so I can't use time-based caching. But, I can use the WebCache Invalidation interface from the back-end DB server to flush old data out of the WebCache when it is changed, but to flush out the correct pages I need to know the parameter values passed.
If I just follow the demos, it seems like the search parameters are all hidden in beans or something which means that the Web Cache can't be used for what I want. The parameter values are important.
So my question is: is there a way of showing the search parameters used in the URI to the Results page? Can the old GET method of parameter passing be used (or can I somehow just put the old style parameters onto the URI?)
Alternatively, is there a simple How To or Demo on how to use the Web Caching facility with JSF?
(ADF Caching and Java Object caching do not seem appropriate for my needs. ADF caching seems to be limited to having fragments cached for fixed periods of time and Java Object caching is orders of magnitude slower and involves the Application Server.)
Thanks for any advice,
AndySorry - should have said I'm using JDev 10.1.3.0.4 with JSF & ADF BC.
-
Non-reproducable issue dynamic domain based dropdownlist and bind parameter
[JDeveloper 10.1.3. SU5]
[JHeadstart 10.1.3. build 91]
Hi,
Some dropdown lists in our application, which are based on a dynamic dropdown list using a bind parameter (value for the parameter set in Application Definition File, property 'Query Bind Parameters', i.e. theCodeType=LANGUAGE) most of the time work fine, but sometimes (not structural, not reproducable) do not fill and throw the error "Missing IN or OUT parameter at index: 1".
This is the case for example in LOV's with Advanced search: one of these advanced search fields uses such a dropdown. When entering the LOV, the error is sometimes raised (and the dropdown list is empty), but when you cancel and try again, it always fills successfully without error. So the mechanism works almost always, but in rare cases gives this error, but not always...and a retry always works as well.
Sounds like a known error?
ToineI have run into a similar issue recently, using Jdeveloper 10.1.3.1.0 (currently the latest release)
It's intermittent and next to impossible to repeat. Here's the debug-output:
...sql query) QRSLT WHERE SOMEID = :Bind_Someid
06/12/11 15:12:37 [7494] Bind params for ViewObject: SomeView2
06/12/11 15:12:37 [7495] Binding param "Bind_Someid": 212
06/12/11 15:12:37 [7496] ViewObject: SomeView2 close single-use prepared statements
06/12/11 15:12:38 [7497] QueryCollection.executeQuery failed...
06/12/11 15:12:38 [7498] java.sql.SQLException: Missing IN or OUT parameter at index:: 1
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1566)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2996)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:857)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:666)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3655)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:742)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:687)
at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2657)
at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2915)
at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2085)
at oracle.jbo.server.ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:4839)
at oracle.jbo.server.ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3408)
at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigationToRow(ViewRowSetIteratorImpl.java:3549)
at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3509)
at oracle.jbo.server.ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:3293)
at oracle.jbo.server.ViewRowSetIteratorImpl.setCurrentRow(ViewRowSetIteratorImpl.java:1000)
at oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3851)
at oracle.jbo.server.ViewRowSetIteratorImpl.getRangeSize(ViewRowSetIteratorImpl.java:627)
at oracle.jbo.server.ViewRowSetImpl.getRangeSize(ViewRowSetImpl.java:2251)
at oracle.jbo.server.ViewObjectImpl.getRangeSize(ViewObjectImpl.java:6090)
at oracle.adf.model.binding.DCIteratorBinding.initSourceRSI(DCIteratorBinding.java:1550)
at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1421)
at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1404)
at oracle.adf.model.binding.DCIteratorBinding.setRangeSize(DCIteratorBinding.java:2642)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2487)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2260)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:99)
at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:73)
at oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:33)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:331)
at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:94)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:231)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:200)
at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:122)
at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:106)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:619)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Once the problem occurs, it is persistent and is not resolved except by logging the user out (session.invalidate()) or starting a new session.
Is there anything I can do to resolve this? -
Need Help: Dynamically displaying parameter values for a procedure.
Problem Statement: Generic Code should display the parameter values dynamically by taking "package name" and "procedure name" as inputs and the values needs to be obtained from the parameters of the wrapper procedure.
Example:
a) Let us assume that there is an application package called customer.
create or replace package spec customer
as
begin
TYPE cust_in_rec_type IS RECORD
cust_id NUMBER,
,cust_name VARCHAR2(25) );
TYPE cust_role_rec_type IS RECORD
(cust_id NUMBER,
role_type VARCHAR2(20)
TYPE role_tbl_type IS TABLE OF cust_role_rec_type INDEX BY BINARY_INTEGER;
Procedure create_customer
p_code in varchar2
,p_cust_rec cust_in_rec_type
,p_cust_roles role_tbl_type
end;
b) Let us assume that we need to test the create customer procedure in the package.For that various test cases needs to be executed.
c) We have created a testing package as mentioned below.
create or replace package body customer_test
as
begin
-- signature of this wrapper is exactly same as create_customer procedure.
procedure create_customer_wrapper
p_code in varchar2
,p_cust_rec customer.cust_in_rec_type
,p_cust_roles customer.role_tbl_type
as
begin
//<<<<<---Need to display parameter values dynamically for each test case-->>>>>
Since the signature of this wrapper procedure is similar to actual app procedure, we can get all the parameter definition for this procedure using ALL_ARGUMENTS table as mentioned below.
//<<
select * from ALL_ARGUMENTS where package_name = CUSTOMER' and object_name = 'CREATE_CUSTOMER'
but the problem is there are other procedures exists inside customer package like update_customer, add_address so need to have generalized code that is independent of each procedure inside the package.
Is there any way to achieve this.
Any help is appreciated.
// >>>>
create_customer
p_code => p_code
,p_cust_rec => p_cust_rec
,p_cust_roles => p_cust_roles
end;
procedure testcase1
as
l_cust_rec customer.cust_in_rec_type ;
l_cust_roles customer.role_tbl_type;
begin
l_cust_rec.cust_id := 1;
l_cust_rec.cust_name := 'ABC';
l_cust_roles(1).cust_id := 1;
l_cust_roles(1).role_type := 'Role1';
create_customer_wrapper
p_code => 'code1'
,p_cust_rec => l_cust_rec
,p_cust_roles => l_cust_role
end;
procedure testcase2
as
l_cust_rec customer.cust_in_rec_type ;
l_cust_roles customer.role_tbl_type;
begin
l_cust_rec.cust_id := 2;
l_cust_rec.cust_name := 'DEF';
l_cust_roles(1).cust_id := 2;
l_cust_roles(1).role_type := 'Role2';
create_customer_wrapper
p_code => 'code2'
,p_cust_rec => l_cust_rec
,p_cust_roles => l_cust_role
end;
end;Not possible to dynamically in a procedure, deal with the parameter values passed by a caller. There is no struct or interface that a procedure can use to ask the run-time to give it the value of the 1st or 2nd or n parameter.
There could perhaps be some undocumented/unsupported method - as debugging code (<i>DBMS_DEBUG</i>) is able to dynamically reference a variable (see Get_Value() function). But debugging requires a primary session (the debug session) and the target session (session being debugged).
So easy answer is no - the complex answer is.. well, complex as the basic functionality for this do exists in Oracle in its DBMS_DEBUG feature, but only from a special debug session.
The easiest way would be to generate the wrapper itself, dynamically. This allows your to generate code that displays the parameter values and add whatever other code needed into the wrapper. The following example demonstrates the basics of this approach:
SQL> -- // our application proc called FooProc
SQL> create or replace procedure FooProc( d date, n number, s varchar2 ) is
2 begin
3 -- // do some stuff
4 null;
5 end;
6 /
Procedure created.
SQL>
SQL> create or replace type TArgument is object(
2 name varchar2(30),
3 datatype varchar2(30)
4 );
5 /
Type created.
SQL>
SQL> create or replace type TArgumentList is table of TArgument;
2 /
Type created.
SQL>
SQL> -- // create a proc that creates wrappers dynamically
SQL> create or replace procedure GenerateWrapper( procName varchar2 ) is
2 procCode varchar2(32767);
3 argList TArgumentList;
4 begin
5 select
6 TArgument( argument_name, data_type )
7 bulk collect into
8 argList
9 from user_arguments
10 where object_name = upper(procName)
11 order by position;
12
13 procCode := 'create or replace procedure Test'||procName||'( ';
14 for i in 1..argList.Count
15 loop
16 procCode := procCode||argList(i).name||' '||argList(i).datatype;
17 if i < argList.Count then
18 procCode := procCode||', ';
19 end if;
20 end loop;
21
22 procCode := procCode||') as begin ';
23 procCode := procCode||'DBMS_OUTPUT.put_line( '''||procName||''' ); ';
24
25 for i in 1..argList.Count
26 loop
27 procCode := procCode||'DBMS_OUTPUT.put_line( '''||argList(i).name||'=''||'||argList(i).name||' ); ';
28 end loop;
29
30 -- // similarly, a call to the real proc can be added into the test wrapper
31 procCode := procCode||'end;';
32
33 execute immediate procCode;
34 end;
35 /
Procedure created.
SQL>
SQL> -- // generate a wrapper for a FooProc
SQL> exec GenerateWrapper( 'FooProc' );
PL/SQL procedure successfully completed.
SQL>
SQL> -- // call the FooProc wrapper
SQL> exec TestFooProc( sysdate, 100, 'Hello World' )
FooProc
D=2011-01-07 13:11:32
N=100
S=Hello World
PL/SQL procedure successfully completed.
SQL> -
Declaratively set the value of a bind parameter in a view query
Can I declaratively set that I want the value of the bind parameter in the view query to be the value of a specific field in the current row of a specific iterator in my data bindings? Thanks :D
user11976105 wrote:
Hm I guess I should mention I'm doing the retrieval in Java, using a ValueChangeListenerIn this case, you will still need to bind an ExecuteWithParams action to your page definition and execute it from your ValueChangeListener after supplying its named data.
In the code spinet, the new value from the ValueChangeEvent is passed to the bind variable.
public void yourValidChangeListener(ValueChangeEvent valueChangeEvent) {
// get the ExecuteWithParameters operation binding from the bindings
OperationBinding executeWithParameters = ADFUtils.findOperation("yourExecuteWithParametersBindingId");
// setup bind variable using the new value from the valueChangeEvent
executeWithParameters.getParamsMap().put("yourParameterId", valueChangeEvent.getNewValue());
// execute
executeWithParameters.execute();
// check for errors
if(executeWithParameters.getErrors().size() != 0) {
// error(s) occured
} -
I have SSRS parametarized report in that one data set have repeated values with query parameter . but while am mapping that query
parameter to report parameter i need to pass distinct values. How can i resolve thisHi nancharaiah,
If I understand correctly, you want to pass distinct values to report parameter. In Reporting Service, there are only three methods for parameter's Available Values:
None
Specify values
Get values from a query
If we utilize the third option that get values from a dataset query, then the all available values are from the returns of the dataset. So if we want to pass distinct values from a dataset, we need to make the dataset returns distinct values. The following
sample is for your reference:
Select distinct field_name from table_name
If you have any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Text Box Value in the Query Bind Parameter
Hi
I have to use text box value in the query bind parameter
Thanks to help...Hi,
- drag Execute with params
- use EL
Frank -
Query bind parameter in Advanced Search
Hi,
We are using a query bind parameter in an Advanced Search . The parm that is passed is on an Lov field which works when we use the lov to populate the field but doesn't get passed if we enter the value manually instead.We are using the setActionListener tag in a copy of the findLovItem.vm file:
<af:setActionListener from="#{searchxxxx.criteria.xxxx+attributename+}"
to="#{QueryBindParamBean.+attributename+}"
The 'from' value is taken from the 'value' field in SelectInputText tag of that attribute ('+attributename+') found in the Advanced_Search_Lov_Item in the .jspx. We are doing the exact same thing in a form view (not the search) for the same attributes but are using the corresponding value for that attribute instead and it works no problem:
<af:setActionListener from="#{xxxx+attributename+LovItem.lovFieldValue}"
to="#{QueryBindParamBean.+attributename+}"
any ideas why the value isn't being passed in the search page when entered manually?
thanks!Hi,
It does not directly ring a bell for me why you cannot copy this value. But since JHeadstart is simply using a bean with a Map to store it's values, it does not sound like a JHeadstart issue per se.
To simplify the test case, you could create a simple drag-and-drop ADF application without JHeadstart and see if the same problem occurs there. If so, can you please log a TAR at MetaLink ( http://metalink.oracle.com/ ), or ask this question at the JDeveloper forum? Thanks.
Evert-Jan de Bruin
JHeadstart Team -
Hello Experts,
i have created a report where i have one parameter field where user will pass parameter(e.g. EmpId). As per parameter record will fetched to report if no parameter is passed then it will display all records. I have done it by taking SqlServer Database as datasource.
by using Following method
Now i would like to do it by taking Sharepoint List as Datasource. For that what would be the CAML Query.
Here is my existing CAML query.
<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListName>Employees</ListName>
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="FirstName" />
<FieldRef Name="LastName" />
<FieldRef Name="FullName" />
<FieldRef Name="UserName" />
<FieldRef Name="Company" />
</ViewFields>
<Query>
<Where>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">
<Parameter Name="EmployeeId"/>
</Value>
</Eq>
</Where>
</Query>
</RSSharePointList>
The above code is working if i am passing an employeeId to Parameter. If nothing is passed, it is Not retrieving any record.
Please suggest
Thank you
saroj
sarojYour problem follows the well-established pattern of using an "All" parameter filter in SSRS. There are a few approaches depending on the size of your data. The easiest one is to return all data from CAML and then filter it within SSRS, the following thread
provides some examples,
http://stackoverflow.com/questions/18203317/show-all-records-some-records-based-on-parameter-value.
Other options include passing all of the possible values within the CAML query when "All" is selected, using multiple Report Files to distinguish between both CAML queries, or to use multiple datasets with some logic to show/hide the correct one.
Dimitri Ayrapetov (MCSE: SharePoint)
Maybe you are looking for
-
Tried to purchase Flowpaper from the app store BUT
after I confirmed my credit card and billing details I then had a black shadow over the centre of the screen where the billing info panel was. and nothing seems to be happening. This has now disappeared afterrefreshing the page but there is no info a
-
Hello Community Using Sharepoint 2010 Server and the UI, building an intranet starting with a Blank Site and then adding subsites can be accomplished. However, in this case the current Blank Site page that was created only shows when logged i
-
Hello - I am purchasing a Samsung 730B 17" LCD monitor. It has both RGB/DVI and i am curious will the DVI work with my stock standard PowerMac G4 FW800 with mirrored doors. What type of cable would I have to get as I know there are different flavours
-
Websevice threading issue in Axis1.3 framework
Hi all, We are facing a strange problem with Axis 1.3 framework. We have a webservice (ex. ABC1 webservice) which calls another webservice (ABC2 webservice). We are getting abt 30 transactions per second to our webservice. Till now it was working fin
-
Cash Journal Receipt Functionality
Dear All, As we have Receipt printout from cash journal, how to change the formate of receipt? Please reply. Regards, Bhadresh