to get the current row, using the TableIterator as the executable
#{bindings.TableIterator.rangeStart+bindings.TableIterator.currentRowIndexInRange+1}
to get the current row, using the TableIterator as the executable
#{bindings.TableIterator.rangeStart+bindings.TableIterator.currentRowIndexInRange+1}
useful support link for oracle is here
https://support.us.oracle.com/oip/faces/secure/ml3/homepage/home.jspx
Recently found this issue on an internal forum and found the solution given by Jobinesh.. Thought I could share the info here
Problem description:
“I’m trying to apply a view criteria programmatic way here. When the bind variable for “StartDate” (which is a VO attribute) uses just a “=”. then at runtime the VC gets appended to the query using a TO_DATE for the bind var, which is as expected. However, when the bind variable for “StartDate” uses just a “>=” / “<“>” . then at runtime the VC gets appended to the query using a TO_CHAR for the bind var, which is not that we require. Is there any way to get a TO_DATE for this kind of comparison as well?”
Please take a look at the following sample method :-
public Row getSampleHeaderVORecord(Date activeDate) { ViewObjectImpl SampleHeaderVO = getSampleHeader1(); ViewCriteria viewCriteria = SampleHeaderVO.createViewCriteria() ; ViewCriteriaRow vcr1 = viewCriteria.createViewCriteriaRow() ; vcr1.setAttribute("StartDate", ">="+(activeDate.)); viewCriteria.add(vcr1); SampleHeaderVO.applyViewCriteria(viewCriteria); SampleHeaderVO.executeQuery(); return SampleHeaderVO.next(); }
Do let me know.
Sample query that appears at runtime :-
SELECT *WHERE ( ( (TO_CHAR( ForecastHeaderEO.START_DATE, 'yyyy-mm-dd') > '0007-04-02' ) ) )
The TO_CHAR in the last line is what I’m referring to. Is there any way to get a TO_DATE there?
Solution:
ViewObjectImpl SampleHeaderVO = getSampleHeader1(); ViewCriteria viewCriteria = SampleHeaderVO.createViewCriteria() ; ViewCriteriaRow vcr1 = viewCriteria.createViewCriteriaRow() ; ViewCriteriaItem vci = vcr1.ensureCriteriaItem("StartDate"); vci.setOperator(JboCompOper.OPER_ON_OR_AFTER); vci.setValue(activeDate); viewCriteria.add(vcr1); SampleHeaderVO.applyViewCriteria(viewCriteria); SampleHeaderVO.executeQuery();
I bet this is a common question among ADF developers who wish to have their own favicon for their page
Please follow the steps to achieve the same
add the following facet to the af:document tag of your adf page
<af:document id="d1"> .. .. .. <f:facet name="metaContainer"> outputText escape="false" value='png" href="#{facesContext.externalContext.requestContextPath}/favicon.ico">' id="o1"/> </f:facet> </af:document>
please note that the favicon specified in the value attribute in the outputext should be in the root-level of your web application
Target URL -- http://127.0.0.1:7101/[Application_Name]-[Project_Name]-context-root/faces/[page_name].jspx <22-03-2010 09:57:51 AM CLT> <[ServletContext@27112686[app:[Application_Name] module:[Application_Name]-[Project_Name]-context-root path:/[Application_Name]-[Project_Name]-context-root spec-version:2.5]] Servlet failed with Exception oracle.mds.exception.MDSRuntimeException: MDS-00168: MDS object oracle.mds.core.MDSInstance@160bf69 is being used after it or its MDSInstance or PManager has been released. at oracle.mds.core.MDSInstance.checkNotReleased(MDSInstance.java:1078) at oracle.mds.core.MDSInstance.getPersistenceManager(MDSInstance.java:638) at oracle.mds.core.MDSSession.getPersistenceManager(MDSSession.java:1992) at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:2769) at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1188) Truncated. see log file for complete stacktrace
The above mentioned error is due to a known issue for JDeveloper and ADF 11g.
This is related to the initialization of the ADFShare components in a web environment. the oracle.adf.share.http.ServletADFContext must be initialized per request. Normally, this is achieved because the jdev design time adds the ADFBindingFilter to the project web.xml when certain actions are taken
The ServletADFFilter must be used for correct use of ADFContext. ServletADFFilter specifically setup ServletADFContext properly at the start of the request.
<filter> <filter-name>ServletADFContextFilter</filter-name> <filter-class>oracle.adf.share.http.ServletADFFilter</filter-class> </filter> <filter-mapping> <filter-name>ServletADFContextFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
oracle.jbo.InvalidObjNameException: JBO-25005: Object name oracle_jbo_uicli_binding_JUIteratorBinding_281 of type Iterator Binding Definition is invalid.
the issue is with the filter order in the web.xml as explained in the bug 9880967
the correct order of the JspFilter and ApplSessionFilter in the web.xml is as follows
<filter-mapping> <filter-name>JpsFilter</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> <filter-mapping> <filter-name>ApplSessionFilter</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping>
set the following property in the af:document tag of your page
<af:document id="d1" uncommittedDataWarning="on">
uncommittedDataWarning -
Specifies whether users should be warned about uncommitted data when navigating off the page or region. Setting this property to ‘on’ will enable the warnings.
we can also call
ViewPortContext.isDataDirty();
to check for any uncommitted data