ADF query panel with table, adding new search fields dynamically
I am a beginner very new to ADF world. I have a ADF query panel with table which has its source from a ViewCriteria. I need to add a new search field on the form dynamically based on the user's need. Assume I am using a Employee table and I have search "employee ID" as one field in the form, upon clicking a add button in the form I need to have a another "employee ID" field appears along with the already existing one.
I tried to add the condition in ViewCriteria but do not know how to add it ?
Could some one pls address how it can be approached ?
User, please always tell us your jdev version.
Well, this use case need some thinking to be done. What do you want to archive with adding a new query field to the panel? As you said you already have one field for employeeId and now, on a click on a button, you add another one. How would the resulting query work with the new field? Should it use 'and' to concatenate the query or should it use 'or'?
I suggest that you use the ADF Riche Client Demo (http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx) select the Query node and then select 'af:query'. This shows you what is possible otu of hte box using the af:query component. You can add fields to existing queries in advanced mode (e.g. use system query 5, which starts with an empty panel and allows you to add fields).
Once you understand how this works you may come back with a more detailed use case description or you have found the solution already. Read the documentation on af:query along with trying otu the component.
Timo
Similar Messages
-
View Criteria in ADF Query Panel with Table-Class Cast Exception
Hi,
I am getting Class Cast Exception when using view criteria for ADF Query Panel with Table. The version I am using is 11g Release 1(11.1.1.2.0)
Here is what I did:
1. created a view criteria on a view object
2. all are optional
3. all are Strings
3. Dragged the view criteria as a query component (ADF Query panel with Query table) on to the design layout
and the error when I clicked the Search button is:
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1289)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at sni.foundation.facesextensions.filters.FoundationFilter.doFilter(FoundationFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._clearFilterCriteriaRows(FacesCtrlSearchBinding.java:4549)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._addFilterCriteria(FacesCtrlSearchBinding.java:4603)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
Thanks
VenkateshHi Frank.
I'm using JDev 11.1.1.3.0 as you suggest the error is no longer present in the latest version.
I can pick my query from the "Saved Search" pick list on the QueryPanel list of queries just fine, and it sets up the filter properly, but when I press the "Search" button, I get the same reported error...
<RegistrationConfigurator><handleError> Server Exception during PPR, #1
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1303)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._clearFilterCriteriaRows(FacesCtrlSearchBinding.java:4588)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._addFilterCriteria(FacesCtrlSearchBinding.java:4642)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:424)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
... 42 more -
BPM Payload bind to adf query panel with table
hi guys,
i have a requirement to process all result row in the table to my bpm process.
i have a bpm taskflow and already defined the payload xml.
in the taskflow UI, i hv a adf query panel with table from a criteria View object.
how can i bind the search result to the bpm payload ?
i tried to bind it directly, but it turns out error.
or do you hv a better approach to this requirement, so i can add/remove row in table dynamically ?
i use bpm 11.1.1.6
thanks before.Could you give some more details ?
Do you require that all the rows in the ADF based results table are passed on to the BPM payload ? -
"ADF Query panel with table" on a mobile device?
In an app made for a mobile device, I would like to make a simple screen or set of screens that has a similar features as the "ADF Query panel with table" you get when dropping the All Queriable Attributes on a normal form.
Can anyone point me to a tutorial or help file that can get me started? Or is this something needing to be built from scratch?Thanks, but I've already gone through that tutorial and while it does cover the basics it doesn't go into any detail nor provide a 'next step' reference. It also is missing a couple of steps in the middle to make it work right (unless I missed something.)
It covers making a quick edit screen and a browse records screen but no search type functionality.
All of the tutorials I've gone through from Oracle so far seem to be at that same level. They provide a high level overview of what you can accomplish but there is no followup, next step or references.
I'm starting to feel like the whole process for learning ADF with JDeveloper is
1. Look at the shiny things you can make with the step by steps.
2. ....
3. Now your an expert (Profit)
Or, of course, pay thousands of dollars to take a class from Oracle.
I'm not against taking some training when needed, but since our team is still in the process of choosing a framework and IDE, I am looking for a bit more on the front end before I commit us.
Back on topic... I'm sure I can bang out a couple screens to make this work, but I'm not sure its worth the effort at this point. If I have to go that route I may as well knock out an Android app in Eclipse. -
Capturing data from query panel built used "ADF Query panel with table ?
Hi All,
I have a Search page built with a view Criteria.
I enter the user_name in the query panel and hit Search and the result panel shows the results.
Now If I gave a user_name which does not have any record in the VO, no data is displayed.
At this point I want to capture the user_name from the query panel and on the click of a button ("Add" button I have created for Adding Records if not present) want to navigate to a different Add page .
So how to capture the user_name from the query panel.
Any pointers ??
I am using Jdev 11.1.1.4.0
Thanks
Sumit YadavHi , I tried using the impll java file and i was able to get the handle to the bind params ..
The sampl code is ..
ViewObjectImpl userRespVO=this.getSystemAdministrationUserResponsibilitySearch1();
SystemAdministrationUserResponsibilitySearchImpl provide =(SystemAdministrationUserResponsibilitySearchImpl)userRespVO;
String userName1=provide.getbind_UserName();
Thnanks
Sumit Yadav
Edited by: Sumit Yadav on Jul 7, 2011 9:17 AM -
Query panel with table not working in taskflow region
I've created an adf query panel with table(using all queriable attributes criteria) in a page fragment and at design time it's showing properly. But when inside a region in a jspx page, the search, save and reset buttons of the query panel are not rendering when i'm running the page. Please help.
Its hard to give any solution without any information like your JDev version, what happens if you drop the query directly in the jspx page, what exception you get in console etc.
-Arun -
ADF Query Panel with Tree Table -- Add Fields
I created ADF Query Panel with Tree Table using JDeveloper 11G. Under Advance Search, Add Fields pull down only list the fields in the master table. My questions are,
1) Can I search fields in detail table? If yes, how can I do it?
2) How can I customized this pull down list? Currently it just show the entire view of master table with unnecessary id type data.
Thanks in advance.
Edited by: kxc on Nov 9, 2009 9:21 AM1) Can I search fields in detail table? If yes, how can I do it?
Are there anyway to search the second level node?You can. But you need to evaluate if the arrangement works for you.
I assume you have a view link from the master to detail VO.
To do so, in your master view criteria (the one which you use in the query panel), shuttle the attributes of your detail VO (in master attributes list, you'l see the detail view link accessor - on selecting this, the detail atteributes are available to you)
In the Add Fields, it shows as student_id AND student_name. I was unable to delete the student_id field in the view since it is PKYou can set its 'display' UI hint to 'hide' in your VO. -
Get search criteria from query panel with table
hi guys,
i have a query panel with table that i created from a VO.
i use the all queryable attribute in the generated DataControl.
i hv a requirement to update the database value with the same search criteria with the query panel.
but i want the submitted search criteria, not only written in the query panel criteria.
i'm using JDEV & BPM 11.1.1.6
i've already tried to get the criteria using
QueryModel queryModel = getQueryPanel().getModel();
QueryDescriptor queryDescriptor = queryModel.getSystemQueries().get(0);
ConjunctionCriterion cc = queryDescriptor.getConjunctionCriterion();
for(int i=0;i<cc.getCriterionList().size();i++){
AttributeCriterion ac = (AttributeCriterion)cc.getCriterionList().get(i);
System.out.println("DEBUG LABEL : " + ac.getAttribute().getLabel());
System.out.println("DEBUG VALUE : " + ac.getValues().get(0));
} but it only get the value that filled in the search criteria input text, not the criteria that already been searched and viewed in the table
my other question is, can i override the search button function ? so i can add a custom method to save the search criteria to my temporary variable.
thanks
Edited by: Juw on May 29, 2013 2:05 AMIs this https://blogs.oracle.com/jdevotnharvest/entry/how-to_tell_the_viewcriteria_a_user_chose_in_an_afquery_component or http://www.learnoracleadf.com/2013/05/programatic-handle-to-adf-query.html what you are looking for?
Timo -
ADF Query Panel with Tree Table
I am using JDev 11g to create ADF Query Panel withTree Table. Basically it's working on data part.
But on presentation part it looks awkward. The tree table's master row and child row share first row for column name
ColumnMaster1 ColumnMaster2 ColumnMaster3 ColumnChild1 ColumnChild2 ColumnChild3
So when tree closed, the master side filled. Child side empty. When tree opened, master side empty and child side filled.
Are there any way, to make it inline looking with it's own column name for child?
Thanks in advance.
Edited by: kxc on Oct 30, 2009 9:19 AMHi,
the bug got closed already as not a bug. Instead this is filed as a documentation bug now, saying that tree tables don't support wrapped columns. So the bottom line is that three tables can only have a single leading column. If you need to show multiple information in there then I guess you will concatenate this
Frank -
Failing to refresh LOV fields added in the query panel with table
Hi.. Iam using Jdev 11.1.1.2.0
I have a scenario like ..i need to add 2 cascaded lovs in search panel and clicking on search button, the result should be displayed in table form.
For example..
I have cascaded LOV fields departmentId and Firstname ,
first name dropdown values depends on the selection of value in DepartmentIddropdown. I need to add only these 2 fields in search panel and clciking on search buton , the result should be displayed in emp table.
I have achieved the same creating View criteria with 2 fields and dragging and dropping that as query panel with table. But my problem is First name lov is not populating based on department id. It is showing static dropdown list.
Please help me how to achieve this ? thanks in advance.
Regards
Alekhya.Thanks for the reply.. actually if iam using those cascaded lovs in a form then we can set properties as u mentioned to refresh and display values correctly in the dropdown.
My scenario is like i need to use those fields in query panel header
code snippet
<af:panelHeader text="Employees" id="ph1">
<af:query id="qryId1" headerText="Search" disclosed="true"
value="#{bindings.EmployeesViewCriteria1Query1.queryDescriptor}"
model="#{bindings.EmployeesViewCriteria1Query1.queryModel}"
queryListener="#{bindings.EmployeesViewCriteria1Query1.processQuery}"
queryOperationListener="#{bindings.EmployeesViewCriteria1Query1.processQueryOperation}"
resultComponentId="::resId1"/>
</af:panelHeader>
Iam not having any field names to add properties.
Regards
Alekhya -
Problems with Query Panel with Table
Hi. I'm having a problems with this component in runtime. I'm using JDev 11.1.1.1 with ADFBC.
The query uses three optional parameters. When i put a value for the first and leave other blank and execute query, following error is produced:
03/11/2009 04:02:28 AM oracle.adfinternal.view.faces.config.rich.RegistrationConfigurator handleError
GRAVE: Server Exception during PPR, #6
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1282)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
I couldn't find any reference about this. Please help....
ThanksFrank,
I am also getting the same error. The version I am using is 11g Release 1(11.1.1.2.0)
Here is what I did:
1. created a view criteria on a view object
2. all are optional
3. Dragged the view criteria as a query component (query panel with query table) on to the design layout
and the error when I clicked the Search button is:
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1289)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at sni.foundation.facesextensions.filters.FoundationFilter.doFilter(FoundationFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._clearFilterCriteriaRows(FacesCtrlSearchBinding.java:4549)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._addFilterCriteria(FacesCtrlSearchBinding.java:4603)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
Thanks
Venkatesh -
Adding new search field in IC web client
Hi experts,
I need to add two search fields search term1 and search term2 in IC web client for the view 'search for Employees' as that is present in GUI with transaction BP.Please send me step by step details how to do that.
Thanks in advance
KoustavHi Koustav,
If you have added an append to the BuilEmpSearch BOL object, than the parameters are added to the query_service automaticaly.
Here is an example of the eh_OnSearch method for the search on business partners. (B2C scenario). The principle is the same. You can add you pre-search checks here. Don't fire the query before all required data is in the query_search object. (standard all parameters from the BuilEmpSearch object are in there).
METHOD eh_onsearch .
* 2. Business Partner Search
lv_wrapper = typed_context->SearchCustomer->get_collection_wrapper( ).
query_service ?= lv_wrapper->get_current( ).
lv_country =
query_service->IF_BOL_BO_PROPERTY_ACCESS~GET_PROPERTY_AS_STRING( 'COUNTRY' ).
IF NOT lv_country IS INITIAL.
CALL METHOD query_service->if_bol_bo_property_access~set_property
EXPORTING
iv_attr_name = 'COUNTRY_FOR_TEL'
iv_value = lv_country.
ENDIF.
* MVNI(EX00885)21022006: Begin of Insert
lv_firstname =
query_service->IF_BOL_BO_PROPERTY_ACCESS~GET_PROPERTY_AS_STRING( 'MC_NAME2' ).
lv_lastname =
query_service->IF_BOL_BO_PROPERTY_ACCESS~GET_PROPERTY_AS_STRING( 'MC_NAME1' ).
lv_insz =
query_service->IF_BOL_BO_PROPERTY_ACCESS~GET_PROPERTY_AS_STRING( 'ZZINSZ' ).
lv_birthdate =
query_service->IF_BOL_BO_PROPERTY_ACCESS~GET_PROPERTY_AS_STRING( 'ZBIRTHDATE' ).
replace all occurrences of '.' in lv_insz with ''.
replace all occurrences of '-' in lv_insz with ''.
condense lv_insz no-gaps.
* MVNI(EX00885)21022006: End of Insert
* check customizing for role
IF NOT ls_profile-customer_role IS INITIAL.
CALL METHOD query_service->if_bol_bo_property_access~set_property
EXPORTING
iv_attr_name = 'ROLE'
iv_value = ls_profile-customer_role.
ENDIF.
* limit search to maximum number of hits.
CALL METHOD query_service->if_bol_bo_property_access~set_property
EXPORTING
iv_attr_name = 'MAX_HIT'
iv_value = lv_bupacontroller->max_hits.
* fire query
TRY.
bo_col ?= query_service->get_query_result( ).
CATCH cx_sy_ref_is_initial.
ENDTRY.
entity_col ?= bo_col.
* set result into context
typed_context->customers->set_collection( entity_col ).
* navigate
IF entity_col->if_bol_bo_col~size( ) EQ 1.
op_showbupa( ).
ELSEIF entity_col->if_bol_bo_col~size( ) GT 1.
op_listcustomers( ).
if entity_col->if_bol_bo_col~size( ) eq lv_bupacontroller->max_hits.
lv_msgsrv = cl_bsp_wd_message_service=>get_instance( ).
lv_max_hit = lv_bupacontroller->MAX_HITS .
lv_msgsrv->add_message( iv_msg_type = 'I'
iv_msg_id = 'CRM_IC_APPL_UI_BPID'
iv_msg_number = '009'
IV_MSG_V1 = lv_max_hit ).
endif.
ELSE.
lv_msgsrv = cl_bsp_wd_message_service=>get_instance( ).
lv_msgsrv->add_message( iv_msg_type = 'I'
iv_msg_id = 'CRM_IC_APPL_UI_BPID'
iv_msg_number = '011' ).
* clear result list
view_manager->navigate(
SOURCE_REP_VIEW = rep_view
OUTBOUND_PLUG = 'showEmpty' ).
ENDIF.
ENDMETHOD.
In the class CL_BUIL_EMP (which has the superclass CL_BUIL_HEADER) you need to do a repair (changing of a standard SAP class) of method get_result_table.
What I have done is I've read the parameters that were added (automatically) to the query_service and added them to my FM to do the search.
You also need to take a copy of the BUPA_SEARCH_2 FM and add the parameters as importing parameters. Now you can add your search logic to the FM.
Here is the coding of the GET_RESULTS_TABLE:
METHOD get_result_table.
* CHANGES BY MVNI ON 03/07/2007.
* MARKER: MVNI(EX00885)03072007
* REASON: SPAU Upgrade 5.0.
* CHANGES BY MVNI ON 12/02/2008.
* MARKER: MVNI(EX00885)12022008
* REASON: CLM
DATA: ls_header_search TYPE crmst_header_search_buil,
lv_mc_name1 TYPE bu_mcname1,
lv_mc_name2 TYPE bu_mcname2,
ls_address TYPE bupa_addr_search,
ls_fax_data TYPE bapibus1006_fax_data,
lt_return TYPE TABLE OF bapiret2,
lv_xaddrversion TYPE abap_bool,
lv_no_hits TYPE i.
DATA: lt_but100 TYPE TABLE OF but100.
DATA: lv_role_category TYPE bu_role.
FIELD-SYMBOLS: <fs_result> LIKE LINE OF et_bupa_search_result.
* MVNI(EX00885)03072007: Begin of Insert
DATA: iv_birthdate TYPE bu_birthdt,
iv_insz TYPE ZBU_00000000,
lv_insz(15) TYPE c,
lv_bednr(15) TYPE c,
lv_vestnr(15) TYPE c,
ls_parameters TYPE crmt_name_value_pair.
* MVNI(EX00885)03072007: End of Insert
* MVNI(EX00885)03072007: Begin of Insert
CONSTANTS: C_IDENTIFICATIONTYPE TYPE BU_ID_TYPE VALUE 'ZINSZ'.
* MVNI(EX00885)03072007: End of Insert
* define structure we use for input parameters
MOVE-CORRESPONDING is_parameters TO ls_header_search.
MOVE-CORRESPONDING is_parameters TO ls_address.
MOVE-CORRESPONDING is_parameters TO ls_fax_data.
IF ls_header_search-fax IS NOT INITIAL.
IF ls_fax_data-country_for_fax IS NOT INITIAL.
ls_fax_data-fax_no = ls_header_search-fax.
ELSE.
ls_fax_data-fax_no = ls_header_search-fax.
ls_fax_data-country_for_fax = ls_header_search-country.
ENDIF.
ENDIF.
lv_mc_name1 = ls_header_search-mc_name1.
lv_mc_name2 = ls_header_search-mc_name2.
** MVNI(EX00885)03072007: Begin of Replace
* LOOP AT is_parameters INTO ls_parameters.
* ENDLOOP.
* ls_parameters-name = 'BIRTHDATE'.
* MOVE ls_parameters-value TO iv_birthdate.
* ELSEIF ls_parameters-name = 'ZZINSZ'.
* MOVE ls_parameters-value TO iv_insz.
* endif.
* Remove all allowed non-digits
lv_insz = ls_header_search-zzinsz.
replace all occurrences of '.' in lv_insz with space.
replace all occurrences of '-' in lv_insz with space.
condense lv_insz no-gaps.
ls_header_search-zzinsz = lv_insz.
* MVNI(EX00885)03072007: End of Replace
* MVNI(EX00885)12022008: Begin of insert
lv_bednr = ls_header_search-zzbednr.
replace all occurrences of '.' in lv_bednr with space.
replace all occurrences of '-' in lv_bednr with space.
condense lv_bednr no-gaps.
ls_header_search-zzbednr = lv_bednr.
lv_vestnr = ls_header_search-zzvestnr.
replace all occurrences of '.' in lv_vestnr with space.
replace all occurrences of '-' in lv_vestnr with space.
condense lv_vestnr no-gaps.
ls_header_search-zzvestnr = lv_vestnr.
* MVNI(EX00885)12022008: End of insert
* check if international address versions are active:
IF address_version_id IS INITIAL.
CALL METHOD check_for_int_add_versions( ).
ENDIF.
* check for customizing in IC WebClient
IF ls_header_search-no_trex IS INITIAL.
ls_header_search-no_trex = cl_crm_buil_services=>check_for_trex( ).
ENDIF.
CLASS crm_saf_get_settings DEFINITION LOAD.
IF NOT address_version_id IS INITIAL.
lv_xaddrversion = abap_true.
ENDIF.
* Optimization for combined search, Refer note 962864
IF ls_address-country IS NOT INITIAL
AND ls_address-city1 IS INITIAL
AND ls_address-post_code1 IS INITIAL
AND ls_address-region IS INITIAL
AND ls_address-street IS INITIAL
AND ls_address-house_num1 IS INITIAL.
IF ls_header_search-telephone IS NOT INITIAL OR
ls_header_search-email IS NOT INITIAL.
CLEAR ls_address-country.
ENDIF.
IF ls_header_search-email IS NOT INITIAL.
CLEAR ls_header_search-country_for_tel.
ENDIF.
IF ls_fax_data-fax_no IS INITIAL.
CLEAR ls_fax_data-country_for_fax.
ENDIF.
ENDIF.
* MVNI(EX00885)03072007: Begin of Replace
* CALL FUNCTION 'TREX_BUPA_SEARCH'
* EXPORTING
* iv_application = crm_saf_get_settings=>gc_app_name_bp
* iv_telephone = ls_header_search-telephone
* iv_email = ls_header_search-email
* iv_url = ls_header_search-url
* is_address = ls_address
* iv_mc_name1 = lv_mc_name1
* iv_mc_name2 = lv_mc_name2
* iv_fax_data = ls_fax_data
* iv_partner = ls_header_search-partner
* iv_partnerrole = ls_header_search-role
* iv_country_for_tel = ls_header_search-country_for_tel
* iv_category = ls_header_search-category
* iv_max_partners = ls_header_search-max_hit
* iv_xaddrversion = lv_xaddrversion
* iv_not_trex = ls_header_search-no_trex
* TABLES
* et_search_result = et_bupa_search_result
* et_return = lt_return.
* MVNI(EX00885)12022008: Begin of insert
CALL FUNCTION 'ZBUPA_SEARCH_2'
EXPORTING
IV_TELEPHONE = ls_header_search-telephone
IV_EMAIL = ls_header_search-email
IV_URL = ls_header_search-url
IS_ADDRESS = ls_address
IV_MC_NAME1 = lv_mc_name1
IV_MC_NAME2 = lv_mc_name2
IV_PARTNER = ls_header_search-partner
IV_PARTNERROLE = ls_header_search-role
* IV_X_ALL_PARTNERROLES =
* IV_PARTNERROLE =
* IV_SORT1 =
* IV_SORT2 =
* IV_COUNTRY_FOR_TEL =
* IV_CATEGORY =
IV_FAX_DATA = ls_fax_data
IV_XADDRVERSION = lv_xaddrversion
IV_MAX_PARTNERS = ls_header_search-max_hit
* IV_NATION_VERS =
* IV_OLD_ROLE_PROCESS =
* IV_NO_SEARCH_FOR_CONTP =
* IV_VALID_DATE = SY-DATLO
* IV_TIME_INDEPENDENT =
IV_RRNR = ls_header_search-zzinsz
IV_BIRTHDATE = ls_header_search-zbirthdate
IV_BEDNR = ls_header_search-zzbednr
IV_VESTNR = ls_header_search-zzvestnr
TABLES
ET_SEARCH_RESULT = et_bupa_search_result
ET_RETURN = lt_return.
* MVNI(EX00885)12022008: End of insert
* MVNI(EX00885)12022008: Begin of delete
* CALL FUNCTION 'ZBUPA_SEARCH'
* EXPORTING
* IV_TELEPHONE = ls_header_search-telephone
* IV_EMAIL = ls_header_search-email
* IV_URL = ls_header_search-url
* IS_ADDRESS = ls_address
* IV_MC_NAME1 = lv_mc_name1
* IV_MC_NAME2 = lv_mc_name2
* IV_PARTNER = ls_header_search-partner
* IV_PARTNERROLE = ls_header_search-role
* IV_SORT1 =
* IV_SORT2 =
* IV_COUNTRY_FOR_TEL =
* IV_CATEGORY =
* IV_FAX_DATA = ls_fax_data
* IV_XADDRVERSION = 'X'
* IV_MAX_PARTNERS = '50'
* IV_NATION_VERS =
* IV_NO_SEARCH_FOR_CONTP =
* IV_BIRTHDATE = ls_header_search-zbirthdate
* IV_INSZ = ls_header_search-zzinsz
* TABLES
* ET_SEARCH_RESULT = et_bupa_search_result
* ET_RETURN = lt_return.
* MVNI(EX00885)03072007: End of Replace
* MVNI(EX00885)12022008: End of delete
IF lt_return IS NOT INITIAL.
* no error handling
ENDIF.
* filter out real employees if role is not 'Employee'
* (and if category is not specified)
IF NOT et_bupa_search_result[] IS INITIAL
AND ls_header_search-category IS INITIAL
AND NOT ls_header_search-role IS INITIAL.
* function module has a buffer
CALL FUNCTION 'BUCP_EMPLOYEE_ROLE_GET'
IMPORTING
e_employee_role = lv_role_category.
IF NOT ls_header_search-role EQ lv_role_category.
SELECT * FROM but100 INTO TABLE lt_but100
FOR ALL ENTRIES IN et_bupa_search_result
WHERE partner = et_bupa_search_result-partner
ORDER BY PRIMARY KEY.
LOOP AT et_bupa_search_result ASSIGNING <fs_result>.
READ TABLE lt_but100 WITH KEY partner = <fs_result>-partner
TRANSPORTING NO FIELDS
BINARY SEARCH.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
DELETE lt_but100 WHERE partner = <fs_result>-partner
AND rltyp = lv_role_category.
READ TABLE lt_but100 WITH KEY partner = <fs_result>-partner
TRANSPORTING NO FIELDS
BINARY SEARCH.
IF sy-subrc NE 0.
DELETE et_bupa_search_result.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
* if TREX is disabled and addressversions are active -> MAX_HIT does not work
* workaround:
DESCRIBE TABLE et_bupa_search_result LINES lv_no_hits.
IF lv_no_hits GT ls_header_search-max_hit.
ev_max_hits = ls_header_search-max_hit.
ENDIF.
ENDMETHOD.
Hope this helps!
Kind regards,
Micha -
Adding new search fields in identifying accont in CIC Web client
Hi All,
How do I do to add a new field (not in BOL) to search for in the identiyng account in CRM 4.0 Interaction Center Web client.
We have extended the BOL with the new field and add it to the BSP for BupaSearchB2B, But what and where do I add functionality to also actually use the field content when searching for business partners.Hi jan
I am facing the same problem we are adding one field to identify account in CRM 4.0 IC WEBCLIENT , field name is CIF NUMBER (bu_sort1 or bpext) , I identified that it is not an standard BOL field , can you please update me how you added the new field to bol structure and what is the follow up process to provide complete functionality like the existing fields , Please extend your help regarding this field addition , it is very urgent
this is my mail id [email protected]
Warm regards
bms -
Adding new search fields in BP search of IC webclient
Hi ,
I am new in BSP and IC Webclient. Can anyone give me suggetion about how to add new fields in BP search in IC webclient and incorporate the new fields in the search process ?
Thanks in advance.
PratipUse the transaction EEWB for modifying the search structure.
-
Unable to view adf query panel in jsf page
hi i cannot view the Query > ADF Query Panel when i click the query button to load the page but i can see the page in design. i can only see the search with drop down arrow but cannot see other part of ADF Query Panel . i did this by 9.Expand the EmpDetails1 data control and expand the Named Criteria node below it. Select All Queriable Attributes and drag it into the new query.jsf page. Create it as a Query > ADF Query Panel.
Edited by: user603350 on 2011/12/08 12:04 PMthe query button am talking about is the button i click to navigate to the other page(jsf) the page does not display the Query > ADF Query Panel.
am doing this tutorial http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_55/jdtut_11r2_55_3.html am having problem in step 9 .Expand the EmpDetails1 data control and expand the Named Criteria node below it. Select All Queriable Attributes and drag it into the new query.jsf page. Create it as a Query > ADF Query Panel. i can view the ADF Query Panel in design but when i run the application and click the navigation button the page does not show the full ADF Query Panel it only show the search with drop down arrow
Edited by: user603350 on 2011/12/08 8:39 PM
Maybe you are looking for
-
Basic settings tab missing from Develop module
I recently bought lightroom 4 after using the free 30 day trial, and i have no basic settings on my mac, can't find them anywhere? My tabs go from histogram to colour curve. Where are they? Very confused.. Message title was edited by: Brett N
-
Issues with styles: any help gratefully received!
Hi all! I made the [perhaps reckless!] decision to use Pages as my primary word processing software for my PhD. I found a great bibliographic editor [Sente], and liked the look and feel of Pages. Now, 6 months, and about 10,000 words in, I am still b
-
Hi, Trying to set up the ipad (a few years old) after updating to iSOS 8 and we are stuck at the set up stage. It seems to be stuck at the connect to itunes page. When we connect to itunes it will start sync...then gets the end and says it can't sync
-
Hi, I have a requirement of clent that text o be displayed at the bottom of invoice on the basis of VAT code i.e. suppose VAT code selected is V1 - text should be ABC & if VAT code is V2-Text should be CDE How to configure this ? please help Thanks
-
This question pertains to the ATI Radeon X1900 XT Video Card, which Apple offered as a BTO Option for the Mac Pro 1,1. In September 2007 I purchased my Mac Pro 1,1 (2x Intel Xeon 3GHz Woodcrest) and configured it from Apple with the ATI Radeon X1900