Building custom date control in WAD
Hi,
Plz. let me know how can I build a custom date control in WAD which will take date intervals.
OR
How can I represent a date interval variable in WAD by not using the variable screen feature of the web template.
Thanks,
Priya
Hi Ashish,
Actually I searched for quite sometime & also consulted with SAP, but could not find an answer. I thus ended up building the whole logic myself. I used Input Field & Button Group web items to build the date controls & made it look like the standard SAP date control complete with icon etc. I enabled Javascript on the Button Group webitems that called a Calendar control for input date selection (my requirement was a date interval, so from & to dates). I then passed the input selection thru' Javascript using Command API to the query variables on click of another Button Group webitem along with some other inputs from Drop Down webitem etc.
--Priya
Similar Messages
-
How to create custom Data Control for Iterator?
Hi,
I have seen somewhere that is possible to customize set of data controls for all iterators in Data Controll Palette e.g. by adding custom data control (I remember JDev uses Velocity to display data controls). Is there any documentation or tutorial how to do it. Meybe any Oracle ACE will write some steps on his blog.
KubaI'm looking for any documentation or better some examples to customize files:
jdev/system/oracle.adfm.dt.faces.10.1.3.41.57/jsp_databinding_templates.xml
jdev/system/oracle.adfm.dt.faces.10.1.3.41.57/faces_creator_configuration.xml
This customization may be very useful while developing appliations
Kuba -
Custom data control createRowData(DCRowContext ctx)
Custom data control createRowData(DCRowContext ctx)
public Object createRowData(DCRowContext ctx) {
System.out.println("createRowData()");
DCRowSetIteratorImpl rsi = (DCRowSetIteratorImpl)ctx.getRowSetIterator();
ARow row = new ARow(new PersonTO(new Integer(122),"Juhan", "Santiago", "223311" ), rsi);
return row;
I overrode this method in my custom data control class ( MyCustomDataControl extends EjbDataControl)
However the returned row is not added to the rowsetiterator. ARow is a custom class which extends RowImpl,
there i only overrode the constructor. PersonTO is what would be returned by ctx.getRowDataProvider().
How can i get a PersonTO to be inserted into the rowsetiterator to which the ctx refers?
Many thanks!I know... But at the moment it's the only solution i can see that works.
I have tested it by executing the EL in my data control to retreive the value from my TF input parameter and it works.
So basically i am trying to write a DC that will retreive information from another system. As an input parameter of the taskflow, you need to specify the name of that system and it's that parameter I want to pass to my DC. So currently I have something like this:
public MyDC() {
super();
System.out.println("calling constructor");
String system = (String)get("#{pageFlowScope.system}");
System.out.println("System: " + system);
SessionFactory factory = new SessionFactory(system);
Session session = factory.getCurrentSession();
System.out.println("init complete");
}SessionFactory and Session are from the custom java API so don't bother about that :)
I have tested this and it works but I know it's not the best solution... (that's why I wrote this post)
Based upon that, is there a better way for passing the system name to the DC?
Edited by: Yannick Ongena on Jan 18, 2012 12:16 PM -
Creating Data Control Adapters
Hi,
I'd like to create custom data control adapter. Unfortunately, documentation I have found covers 10.1.3 version:
http://sqltech.cl/doc/oas10gR3/web.1013/b25386/advanced_adf_data_controls.htm
Why there is no documentantion to 11g ?
KubaHi,
in JDeveloper 12c we provide a wizard for this. Not sure what your reason is for building your own adapter, but in the past people outside of Oracle only used POJO beans and never considered writing their own adapters. This is how it comes that there is no documentation. So 12c is the target for your requirement
Frank -
Web Service Data Controls don't refresh properly.
I am runing JDeveloper Studio Edition 10.1.3.2.0.4066
I have developed several Web Service Data Controls and pages to use them to display output. The pages seem to have a problem refreshing output when the value of the input parameter is changed, but only once data has been successfully fetched once.
I have tried several settings for the refresh attribute:
IfNeeded: retrieves data only once. Even if other valid values are put in, displays same data. Values that would retrieve no data show a blank screen UNTIL a data set is retrieved, then goes to same data displayed instead of blank form.Scrolls through multiple records. This is true for every option which has IfNeeded in the name
Always: retrieves different data every time the parameter value changes. If the parameter value would result in no data being retrieved, the screen displays the last data retrieved with another value instead of blank. Scrolling is broken because every time I hit the navigation buttons, the screen refreshes and puts the current row back at the first record.
PrepareModel: retrieves different data every time the parameter value changes. If the parameter value would result in no data being retrieved, the screen displays the last data retrieved with another value instead of blank. It will scroll thru records, but every couple of records I get this error:
JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]
RenderModel: Same as IfNeeded.
This is the wsdl I used to build the data control:
http://ceres.dscr.dla.mil:8888/orabpel/default/Rqn/1.0/Rqn?wsdl
Here are the results from the wsdl:
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="Rqn" targetNamespace="http://xmlns.oracle.com/Rqn" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/Rqn" xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/top/Rqn" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/Rqn">
<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/Rqn" location="RqnService.wsdl" />
- <types>
- <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/Rqn" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="RqnProcessRequest">
- <complexType>
- <sequence>
<element name="input" type="string" />
</sequence>
</complexType>
</element>
- <element name="RqnProcessResponse">
- <complexType>
- <sequence>
<element name="result" type="string" />
</sequence>
</complexType>
</element>
</schema>
</types>
- <message name="RqnRequestMessage">
<part name="payload" element="ns1:RqnServiceSelect_p_nsnInputParameters" />
</message>
- <message name="RqnResponseMessage">
<part name="payload" element="ns1:RqnAllTabCollection" />
</message>
- <portType name="Rqn">
- <operation name="process">
<input message="tns:RqnRequestMessage" />
<output message="tns:RqnResponseMessage" />
</operation>
</portType>
- <binding name="RqnBinding" type="tns:Rqn">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="process">
<soap:operation style="document" soapAction="process" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="Rqn">
- <port name="RqnPort" binding="tns:RqnBinding">
<soap:address location="http://ceres.dscr.dla.mil:8888/orabpel/default/Rqn/1.0" />
</port>
</service>
- <plnk:partnerLinkType name="Rqn">
- <plnk:role name="RqnProvider">
<plnk:portType name="tns:Rqn" />
</plnk:role>
</plnk:partnerLinkType>
This is the pageDef file for the output page:
<?xml version="1.0" encoding="UTF-8" ?>
<pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
version="10.1.3.40.66" id="showRqnPageDef"
Package="app1.pageDefs">
<parameters/>
<executables>
<variableIterator id="variables" Refresh="always"/>
<methodIterator id="processIter" Binds="process.result"
DataControl="ceresRqn" RangeSize="10"
BeanClass="ceresRqn.process" Refresh="ifNeeded"/>
<accessorIterator id="RqnAllTabIterator" RangeSize="10" Binds="RqnAllTab"
DataControl="ceresRqn"
BeanClass="ceresRqn.process.RqnAllTab"
MasterBinding="processIter" Refresh="ifNeeded"/>
<invokeAction id="qryRqn" Binds="process" Refresh="renderModel"/>
</executables>
<bindings>
<methodAction id="process" InstanceName="ceresRqn" DataControl="ceresRqn"
MethodName="process" RequiresUpdateModel="true" Action="999"
IsViewObjectMethod="false"
ReturnName="ceresRqn.methodResults.ceresRqn_process_result">
<NamedData NDName="p_nsn" NDValue="${processScope.holdNsn}"
NDType="java.lang.String" NDOption="2"/>
</methodAction>
<attributeValues id="boStatus" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="boStatus"/>
</AttrNames>
</attributeValues>
<attributeValues id="dob" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="dob"/>
</AttrNames>
</attributeValues>
<attributeValues id="docDate" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="docDate"/>
</AttrNames>
</attributeValues>
<attributeValues id="dorraRecTyp" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="dorraRecTyp"/>
</AttrNames>
</attributeValues>
<attributeValues id="extractDate" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="extractDate"/>
</AttrNames>
</attributeValues>
<attributeValues id="matlRcptAcknDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="matlRcptAcknDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="modeShp" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="modeShp"/>
</AttrNames>
</attributeValues>
<attributeValues id="nsn" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="nsn"/>
</AttrNames>
</attributeValues>
<attributeValues id="quantity" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="quantity"/>
</AttrNames>
</attributeValues>
<attributeValues id="rdd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="rdd"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSalesDoc" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSalesDoc"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSalesDocItm" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSalesDocItm"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSchdlLin" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSchdlLin"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSchdlLinDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSchdlLinDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="shpdDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="shpdDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="shpdQty" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="shpdQty"/>
</AttrNames>
</attributeValues>
<attributeValues id="statusCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="statusCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="suffix" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="suffix"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzdmdCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzdmdCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzfundCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzfundCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zznonStdRdd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zznonStdRdd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzorigDocNbr" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzorigDocNbr"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzpriCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzpriCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzprojCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzprojCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzsigCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzsigCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzsuppAdrs" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzsuppAdrs"/>
</AttrNames>
</attributeValues>
<action id="First" RequiresUpdateModel="true" Action="12"
IterBinding="RqnAllTabIterator"/>
<action id="Previous" RequiresUpdateModel="true" Action="11"
IterBinding="RqnAllTabIterator"/>
<action id="Next" RequiresUpdateModel="true" Action="10"
IterBinding="RqnAllTabIterator"/>
<action id="Last" RequiresUpdateModel="true" Action="13"
IterBinding="RqnAllTabIterator"/>
<action IterBinding="RqnAllTabIterator" id="Execute"
InstanceName="ceresRqn.process.return.RqnAllTab"
DataControl="ceresRqn" RequiresUpdateModel="true" Action="2"/>
</bindings>
</pageDefinition>
Any help would be welcome.After adding a refresh condition, RefreshCondition="${adfFacesContext.postback == false}", to the invokeAction for the Execute operation, I was able to query new data when the parameter changed, and maintain correct scrolling behavior. Thanks to Oracle's Chintan Shah for helping me confirm this solution.
However, I still have a problem. If I get a set of data and then pass a parameter which would cause the web service to return no data (a null result set), the screen displays the old set of data rather than a blank screen. Does anyone have a solution to this problem? -
Using UCM data controls in ADF application
Using *.6 Jdeveloper/UCM/Protal Application/UCM
Calling all the experts in Webcenter/Spaces/UCM/ADF.
We have a requirement to design search inteface for Documents stored in UCM for Webcenter Portal and Spaces application.
Our approach is
Design simple ADF application (no security/templates)
Bounded task flows using fragments.
Framents to use UCM data controls (provided by oracle)
UCM data control definition is extended to use custom metadata.
package the application.
Added as ADF library jar to portal application
Added as Shared Library to Spaces application.
Question.
Is this approach sound?
Does UCM data controls provide all the functionality, for example if we want to read a option list for custom metadata or need custom metadata in return table?
Can we add other methods to UCM data control provided by Oracle or should we create different one?
Is there good documentation for such requirements. We have acces Webcenter developers guide which throws some light on UCM data controls.
Let me know if more clarity is needed...
RegardsHi.
One of my last components was a custom "Document Explorer" and I used for first time JCR Data Control (Custom UCM Data Control provided by Oracle).
Sharing my experience I did something similar to you:
1) Create a ADF Bounded Task Flow and test it individually.
2) Add generated ADF JAR Library to WebCenter Spaces shared-lib.
3) Add your Task Flow to Resource Catalog.
Challenges that I found using custom Data Control:
1) When items retrieved are content/files all custom metadata can be retrieved OOTB.
2) When retrieving folders don't provide custom metadata like files. I used RIDC with JCR Data Control to provide all the information relative to folders. If you don't need more information about folders than the name, URI and icons then is OK :).
3) Using JCR Data Control registers in DataControls.dcx UCM Connection name used when generate JCR Data Control. After deploy your ADF JAR Library in WebCenter Spaces you'll have problems if you don't have a WebCenter Content Connection created with the same name. (Not talking about export UCM Connection with ADF JAR Library, Data Control uses a Connection name by itself :)).
I added extra functionallity with RIDC (not extending JCR Data Control).
I hope this help you.
Regards. -
Partial Solution:Web Service Data Controls don't refresh properly.
I am runing JDeveloper Studio Edition 10.1.3.2.0.4066
I have developed several Web Service Data Controls and pages to use them to display output. The pages seem to have a problem refreshing output when the value of the input parameter is changed, but only once data has been successfully fetched once.
I have tried several settings for the refresh attribute:
IfNeeded: retrieves data only once. Even if other valid values are put in, displays same data. Values that would retrieve no data show a blank screen UNTIL a data set is retrieved, then goes to same data displayed instead of blank form.Scrolls through multiple records. This is true for every option which has IfNeeded in the name
Always: retrieves different data every time the parameter value changes. If the parameter value would result in no data being retrieved, the screen displays the last data retrieved with another value instead of blank. Scrolling is broken because every time I hit the navigation buttons, the screen refreshes and puts the current row back at the first record.
PrepareModel: retrieves different data every time the parameter value changes. If the parameter value would result in no data being retrieved, the screen displays the last data retrieved with another value instead of blank. It will scroll thru records, but every couple of records I get this error:
JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]
RenderModel: Same as IfNeeded.
This is the wsdl I used to build the data control:
http://ceres.dscr.dla.mil:8888/orabpel/default/Rqn/1.0/Rqn?wsdl
Here are the results from the wsdl:
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions name="Rqn" targetNamespace="http://xmlns.oracle.com/Rqn" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/Rqn" xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/top/Rqn" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/Rqn">
<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/Rqn" location="RqnService.wsdl" />
- <types>
- <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/Rqn" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="RqnProcessRequest">
- <complexType>
- <sequence>
<element name="input" type="string" />
</sequence>
</complexType>
</element>
- <element name="RqnProcessResponse">
- <complexType>
- <sequence>
<element name="result" type="string" />
</sequence>
</complexType>
</element>
</schema>
</types>
- <message name="RqnRequestMessage">
<part name="payload" element="ns1:RqnServiceSelect_p_nsnInputParameters" />
</message>
- <message name="RqnResponseMessage">
<part name="payload" element="ns1:RqnAllTabCollection" />
</message>
- <portType name="Rqn">
- <operation name="process">
<input message="tns:RqnRequestMessage" />
<output message="tns:RqnResponseMessage" />
</operation>
</portType>
- <binding name="RqnBinding" type="tns:Rqn">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="process">
<soap:operation style="document" soapAction="process" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="Rqn">
- <port name="RqnPort" binding="tns:RqnBinding">
<soap:address location="http://ceres.dscr.dla.mil:8888/orabpel/default/Rqn/1.0" />
</port>
</service>
- <plnk:partnerLinkType name="Rqn">
- <plnk:role name="RqnProvider">
<plnk:portType name="tns:Rqn" />
</plnk:role>
</plnk:partnerLinkType>
This is the pageDef file for the output page:
<?xml version="1.0" encoding="UTF-8" ?>
<pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
version="10.1.3.40.66" id="showRqnPageDef"
Package="app1.pageDefs">
<parameters/>
<executables>
<variableIterator id="variables" Refresh="always"/>
<methodIterator id="processIter" Binds="process.result"
DataControl="ceresRqn" RangeSize="10"
BeanClass="ceresRqn.process" Refresh="ifNeeded"/>
<accessorIterator id="RqnAllTabIterator" RangeSize="10" Binds="RqnAllTab"
DataControl="ceresRqn"
BeanClass="ceresRqn.process.RqnAllTab"
MasterBinding="processIter" Refresh="ifNeeded"/>
<invokeAction id="qryRqn" Binds="process" Refresh="renderModel"/>
</executables>
<bindings>
<methodAction id="process" InstanceName="ceresRqn" DataControl="ceresRqn"
MethodName="process" RequiresUpdateModel="true" Action="999"
IsViewObjectMethod="false"
ReturnName="ceresRqn.methodResults.ceresRqn_process_result">
<NamedData NDName="p_nsn" NDValue="${processScope.holdNsn}"
NDType="java.lang.String" NDOption="2"/>
</methodAction>
<attributeValues id="boStatus" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="boStatus"/>
</AttrNames>
</attributeValues>
<attributeValues id="dob" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="dob"/>
</AttrNames>
</attributeValues>
<attributeValues id="docDate" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="docDate"/>
</AttrNames>
</attributeValues>
<attributeValues id="dorraRecTyp" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="dorraRecTyp"/>
</AttrNames>
</attributeValues>
<attributeValues id="extractDate" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="extractDate"/>
</AttrNames>
</attributeValues>
<attributeValues id="matlRcptAcknDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="matlRcptAcknDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="modeShp" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="modeShp"/>
</AttrNames>
</attributeValues>
<attributeValues id="nsn" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="nsn"/>
</AttrNames>
</attributeValues>
<attributeValues id="quantity" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="quantity"/>
</AttrNames>
</attributeValues>
<attributeValues id="rdd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="rdd"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSalesDoc" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSalesDoc"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSalesDocItm" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSalesDocItm"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSchdlLin" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSchdlLin"/>
</AttrNames>
</attributeValues>
<attributeValues id="sapSchdlLinDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="sapSchdlLinDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="shpdDt" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="shpdDt"/>
</AttrNames>
</attributeValues>
<attributeValues id="shpdQty" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="shpdQty"/>
</AttrNames>
</attributeValues>
<attributeValues id="statusCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="statusCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="suffix" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="suffix"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzdmdCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzdmdCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzfundCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzfundCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zznonStdRdd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zznonStdRdd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzorigDocNbr" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzorigDocNbr"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzpriCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzpriCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzprojCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzprojCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzsigCd" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzsigCd"/>
</AttrNames>
</attributeValues>
<attributeValues id="zzsuppAdrs" IterBinding="RqnAllTabIterator">
<AttrNames>
<Item Value="zzsuppAdrs"/>
</AttrNames>
</attributeValues>
<action id="First" RequiresUpdateModel="true" Action="12"
IterBinding="RqnAllTabIterator"/>
<action id="Previous" RequiresUpdateModel="true" Action="11"
IterBinding="RqnAllTabIterator"/>
<action id="Next" RequiresUpdateModel="true" Action="10"
IterBinding="RqnAllTabIterator"/>
<action id="Last" RequiresUpdateModel="true" Action="13"
IterBinding="RqnAllTabIterator"/>
<action IterBinding="RqnAllTabIterator" id="Execute"
InstanceName="ceresRqn.process.return.RqnAllTab"
DataControl="ceresRqn" RequiresUpdateModel="true" Action="2"/>
</bindings>
</pageDefinition>
Any help would be welcome.
Message Header was edited by:
sdnelsonAfter adding a refresh condition, RefreshCondition="${adfFacesContext.postback == false}", to the invokeAction for the Execute operation, I was able to query new data when the parameter changed, and maintain correct scrolling behavior. Thanks to Oracle's Chintan Shah for helping me confirm this solution.
However, I still have a problem. If I get a set of data and then pass a parameter which would cause the web service to return no data (a null result set), the screen displays the old set of data rather than a blank screen. Does anyone have a solution to this problem? -
Manipule a lista in data control
Hi everyone,
I have a data control from a oracle component and I don't have access to this code, so I used it in my page, the data control returns a collection of items, so I can use adf tree and other thinks like that.
The data control is a data control from a UCM component and I'm using getItems method.
So, as I say before I don't have access to the code of data control but I need manipulate the return with java operations, I need sort this list.
I was thinking about call this method in my java method and create my custom data control, but I don't know how "call" the data control method in my custom method.
I would like to know if it's possible cat the result of this oracle data control in a java method and so I can manipulate this.
Thks in advance,Is it possible to which type of Object, the list returned by the datacontrol contains?
If yes, you could create a custom comparator,
(The below sample NavigationTreeNode is the type of each item in the list)
import java.util.Comparator;
public class NavigationTreeNodeComparator implements Comparator<NavigationTreeNode> {
public NavigationTreeNodeComparator() {
super();
@Override
public int compare(NavigationTreeNode navigationTreeNode1,
NavigationTreeNode navigationTreeNode2) {
int displaySequence1 = navigationTreeNode1.getDisplaySequence();
int displaySequence2 = navigationTreeNode2.getDisplaySequence();
if (displaySequence1 > displaySequence2) {
return +1;
} else if (displaySequence1 < displaySequence2) {
return -1;
} else {
return 0;
After getting the list from method, you can use the custom comparator to sort the list as follows:
Here, the navigationTree contains the list of navigationTreeNodes
NavigationTreeNodeComparator navigationTreeNodeComparator =
new NavigationTreeNodeComparator();
Collections.sort(navigationTree, navigationTreeNodeComparator);
Thanks,
Navaneeth -
I am trying to use Login Data Control that comes with WebCenter Portal application.
I dragged & dropped it's handleLogin() method on my jsfx page as ADF parameter form. It created 2 text boxes for username & password each & a button to execute handleLogin() method. Now if I enter username & password (weblogic/weblogic1) & click this button, it should ideally call handleLogin() method... nothing happens, not sure if it called handleLogin() method of LoginDC class or not (this data control is created with LoginDC class - checked it's definition).
Checked code of handleLogin() method - it should redirect to 'success page' if login succeeds. 'success page' is an attribute in LoginDC class.
How do I set this attribute before calling handleLogin() method?
Later I created a custom data control which extends LoginDC:
package portal;
import oracle.webcenter.security.login.LoginDC;
public class MyLoginDC extends LoginDC {
public MyLoginDC() {
public void doLogin(String username, String password) {
setSuccessUrl("/welcome.jspx");
handleLogin(username, password);
And used this DC on my page but still nothing happens... it doesn't redirect to 'welcome page' - not even any error...
Can anyone help in using WebCenter's Login Data Control?
Thanks.You don't need that data control.
Just use the OOTB managed beans.
Take a look at my tutorial: http://www.yonaweb.be/webcenter_11g_ps3_tutorial_building_webcenter_template
The part about adding a login popup has all the code you require to put a login form on your application. -
I want to make available in Data Control Palette a custom collection data control. I proceeded like samples in [a]http://www.oracle.com/technology/products/jdev/collateral/papers/10g/ADFBindingPrimer/ADFBindingIntro.zip[a] from doc. Oracle ADF Data Binding Primer and ADF/Struts Overview but I didn't obtain same result (look for CommissionPlan+CommissionService).
That are my files which I made to construct my custom data collection control:
1)The child java bean:
package tdb.zero.model;
public class PersonBean
String name;
String pren;
public PersonBean()
public PersonBean(String s1, String s2)
{setName(s1);setPren(s2);
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getPren()
return pren;
public void setPren(String pren)
this.pren = pren;
} and the descriptive file of the bean:
<?xml version='1.0' encoding='windows-1252'?>
<JavaBean
id="PersonBean"
xmlns="http://xmlns.oracle.com/adfm/beanmodel"
version="9.0.5.15.88"
BeanClass="tdb.zero.model.PersonBean" >
<Contents >
<Attribute
Name="name"
IsUpdateable="true"
AttrLoad="Each"
IsQueriable="false"
IsVisible="true"
IsPersistent="false"
IsUnique="false"
IsNotNull="false"
PrecisionRule="true"
DiscrColumn="false"
SourceName="name"
Type="java.lang.String" >
</Attribute>
<Attribute
Name="pren"
IsUpdateable="true"
AttrLoad="Each"
IsQueriable="false"
IsVisible="true"
IsPersistent="false"
IsUnique="false"
IsNotNull="false"
PrecisionRule="true"
DiscrColumn="false"
SourceName="pren"
Type="java.lang.String" >
</Attribute>
</Contents>
</JavaBean>2) the collection:
package tdb.zero.model;
import java.util.ArrayList;
import tdb.zero.model.PersonBean;
public class AgendaBean
private ArrayList agenda= new ArrayList(10);
public AgendaBean()
agenda.add(new PersonBean("twew","pdske"));
agenda.add(new PersonBean("peter","george"));
agenda.add(new PersonBean("raddsu","iosxdnel"));
agenda.add(new PersonBean("paz","raz"));
public void setAgenda(ArrayList agenda)
this.agenda = agenda;
public ArrayList getAgenda()
return agenda;
}I generated this AgendaBean class as custom data control and the xml is:
<?xml version='1.0' encoding='windows-1252' ?>
<JavaBean
id="AgendaBean"
xmlns="http://xmlns.oracle.com/adfm/beanmodel"
version="10.1.2.18.73"
BeanClass="tdb.zero.model.AgendaBean" >
<Contents >
<AccessorAttribute
id="agenda"
BeanClass="tdb.zero.model.PersonBean"
IsCollection="true"
Type="java.util.ArrayList" >
</AccessorAttribute>
</Contents>
</JavaBean>The DataControls.dcx is:
<?xml version='1.0' encoding='windows-1252' ?>
<DataControlConfigs
id="DataControls"
xmlns="http://xmlns.oracle.com/adfm/configuration"
version="10.1.2.18.73" >
<Contents >
<DataControl
id="AgendaBeanDataControl"
SubType="DCJavaBean"
SupportsFindMode="false"
SupportsTransactions="false"
FactoryClass="oracle.adf.model.generic.DataControlFactoryImpl"
Definition="tdb.zero.model.AgendaBean"
BeanClass="tdb.zero.model.AgendaBean" >
</DataControl>
</Contents>
</DataControlConfigs>In Control Data Palette I have no acces to name and pren attributes of collection agenda.
I receive the error:
Wrong node type found. Expected a node of type oracle.adf.dt.navigator.nodes.BeanModelXmlNode , but found type oracle.bali.xml.addin.XMLSourceNode. You need to create your data control in a seperate project.
. What that means? What I have to do things works?
nullI found a solution reading the doc. above.
You don't have to manual describe an xml file for structure of the child bean (members of the collection).
Since introspection of the AgendaBean only tells us that the property is of type Collection, this additional "Bean class" metadata property lets us record the specific kind of bean that will be in the collection at runtime, tdb.zero.model.PersonBean. I had to set this property manually, using the Property Inspector. Once you tie the PersonBean bean into the AgendaBean by setting this BeanClass property, JDeveloper 10g creates the PersonBean.xml metadata file as well to record metadata about that bean as well. Strange is that automatically generated xml contains same data as the before xml file made by hand by me.
Now, the problem is how to make the collection class to keep the current row indicator trace. If I post something to my current row, the row pointer is resetted to the first. I want this pointer to mantain its position. -
Hi,
I'm using JDev v. 3.2.3 and have already programmed custom data web beans. I now would like to build custom data tags.
I'm looking for information or documentation about the steps required to do so.
Thanks!
SergeYou can refer to the JavaSoft web site for information on creating Tag Libraries. In addition to learning how to create tag libraries, you can copy our tag implementation by looking at jbohtmlsrc.zip which contains the tag implementations.
-
What are the benefits of converting my custom class into Data Control?
Hi,
I have developed my own custom class which implements no of methods for execution of Business Logic. Now I have two ways to use the same -
*1. Create and instance of the same (wherever required) and call those methods.*
*2. Expose the class as Data Control.*
I want to understand which methods/technique is better and why?
Does creating that class as Data Control provides me better performance any other benefit.
Thanks in Advance,
AmitHi,
1. You use this if you don't want to use ADF bindings to access the business logic (e.g. to build input forms or table for it)
2. You use this when you want to work with ADF. Additional benefits you gain is that you can specify UI control hints on the generated metadata, apply validation rules that are consistently applied to all uses of the POJO class. In addition you don't need to handle class instantiation and dismissal yourself anymore as the ADF framework takes care of it.
The base line though is "no data control - no ADF binding"
Frank -
Data control - Attributes in custom table
Hi!
Is it possible to design a custom data table (output) with the desired attributes of a data control? For example, dragging the attributes
and placing them in a specific cell of a table(html) ?Hi,
you can use Trinidada tablelayout, rowLayout and cellLayout components to build a grid. However, the attributes you drag and drop will only show the data of the current row in the ADF iterator binding.
Frank -
Creation of Data Control for custom java method which will return records
Hi Guys,
I have a requirement of creating a a custom java method in App module which will return a record set taking an id as input.In case of single return type it works fine but in case of returning record set it is not working.In my case i have to combine two tables and return it as a single entity as a view in Data Control.
Warm Regards,
Srinivas.Why don't you just create a custom view object? There's even an example or 2 in the docs:
http://docs.oracle.com/cd/E16162_01/web.1112/e16182/intro_tour.htm#CHDGDIEC (check out "View object on refcursor" example)
Edit: you are aware that you can create a View Object based on more than one table?
John -
How to cause POJO data control to use custom base ViewObject class
ADF 11.1.1.4
We have a POJO data control that displays data in a table. We can filter the table using the column filters and this performs in-memory filter. If an exception occurs I see that it is using a ViewObject for the in-memory filtering because this shows up in the stack trace.
oracle.jbo.server.ViewObjectImpl.rowQualifies(ViewObjectImpl.java:2811)
It uses DCDataVO which extends ViewObjectImpl
We have a Custom base view object defined that all our normal view objects inherit from, defined in Project Properties/BC/Base Classes
Is there any way to make the DCDataVO also extend from our Custom View Object that inherits from ViewObject so that we can override methods? For example if I wanted to customize the rowQualifies method.
In DCBeanDataControl.Java I see where it actually gets created.
vo = DCDataVO.createViewObjectFromDef(vdef, this, getApplicationModule());So you have already overridden then rowQualifies() method in your custom base View Object ? Are you calling super in that ?
Cheers
AJ
Maybe you are looking for
-
Adobe Bridge full screen previews look horrible??? Any ideas???
OSX finder previews and ViewNX look tac sharp????? I have scoured through other forums and have found this is a known issue but none of the tips are working. Full screen previews still look horrible!!!
-
Using iMovie 9.0.4 cannot zoom in or out on ken burns effect? Only pan
When I am in iMovie I am trying to apply a Ken Burns effect to a portrait style photo, I understand the ratio is different so It will not position the entire photo in the screen unless you choose fit. But when I choos fit I cannot apply a ken burns e
-
Cart problem: "We apologize. We are experiencing a technical problem."
1. I have cleared my cache.2. The problem persists whether I am logged in or adding to cart as a guest.3. I am not using the best buy app.4. The problem persists whether I use my normal browser, Chrome, or switch to Firefox. None of the solutions in
-
Microsoft Forefront Server Protection Eventing Service won't start?
Hi Guys, When Forefront Protection for Exchange was integrated/enabled on our SBS 2008 server, Microsoft Forefront Server Protection Eventing Service won't start. Even when we try to start it manually we are getting this message (see attached). Durin
-
Can't retrieve all attachments in Outlook message converted to PDF
Attempting to use Acrobat X with Outlook 2010 to convert groups of emails with attachments to PDF. Some of the email messages have more than one attachment. In those cases, once the email is converted to PDF we can only seem to open one of the atta