View link in ADF

Hi,
I have created a view link. It works fine when I test it through application module, but when I select the view link node under related view object and look at the different options available in the dropdown list "Drop As:", I can't see anything. It is supposed to be something like Master Detail (Many to Many), but what I see is all blank in the dropdown list and I can't use it in the jsp page to create a master detail functionality.
Thanks,
Setare

yes that's the view object for the master.
Suppose you create a default business component on the Dept and Emp tables from the Scott schema.
In the Data Controller Palette you'll see a DeptView1 and if you expand it after the fieilds from the dept table you'll see the Empview table.
check out this image to see how it looks like:
http://otn.oracle.com/products/jdev/collateral/tutorials/9050/images/datacontrol.jpg
(that's from the UIX tutorial).

Similar Messages

  • Can I use View Link in ADF Creation Forms Jdev 10.1.3

    Hi...
    I created a view link of two tables. Then I created a ADF form with Master Object to show some informations.. and I created a ADF Creation form with the detail Object
    I'm trying to submit the informations added in the Detail forms.
    but no records are created in Database..
    Can I submit a creation form using detail object?
    Thanks

    I figured out "partially" the problem, I tried to overrid the create method, and for any reason the commit operation wasn´t working.
    I was trying to set a value for a proprety, but it did not work as a wish.
    My intention was.... when an user execute the form. one specific field brings a value.. however I cannot set default value. cause it´ll change sometimes.
    it´s something like this
    protected void create(AttributeList attributeList) {     
    super.create(attributeList);
    setMyProperty(new Number(0));
    do you know how can I figure out this problem?

  • Error with view link and ADF table Tree

    Hello
    ( Note: View objects are created based on static data but not from database tables)
    I created two view objects "SuiteViewObject" and "FamilyViewObject" which are based on static data( stored in collection) but not on database entity. A veiw link "SuiteFamilyViewLink" is created from the above two view objects. An ADFTreeTable is created from the above view objects and view link. When run the jspx page containing ADFTreeTable, following error is occured in the browser.
    JBO-30003: The application pool (staticviewobjects.staticappLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.InvalidOperException, msg=JBO-26016: Cannot set user query to view "FamilyViewObj2" because it is a destination in a view link
    Any help on the above error message.?
    Thanks in Advance
    Kristi
    Bangalore
    Message was edited by:
    user576892

    Hello
    The above error is coming becuase view link's SQL query expects tables. But in my case I dont have tables, view objects are created from static data source(collection).
    How to create a view link from view objects which are created based on static data source(collection)?

  • View Link on two programmatic view objects

    Hello,
    I use Build JDEVADF_11.1.1.1.0_GENERIC_090615.0017.5407
    I have two programmatic View Objects with data from other sources (an ArrayList in my example).
    Now I would like to create a View Link on it. How can I do this?
    I'm quite new on Java and ADF...
    I know it is possible because I already found Steve's example 132 here [http://blogs.oracle.com/smuenchadf/examples/|http://blogs.oracle.com/smuenchadf/examples/]
    But could somebody create a simple example based on my example classes below (which is understandable for a newbie like me ;-) ?
    Has been asked already here, but I did not found a solution as yet.
    Error with view link and ADF table Tree
    This is my example code for the view objects:
    Employee.java:
    private Number empno;
    private String ename;
    private Number dept;
    with getters and setters...
    Department.java
    private Number deptno;
    private String dname;
    with getters and setters...
    public class StaticDataDepartmentsImpl extends ViewObjectImpl {
    int rows = -1;
    private List<Department> departments = new ArrayList<Department>();
    protected void executeQueryForCollection(Object rowset, Object[] params,
    int noUserParams) {
    // Initialize our fetch position for the query collection
    setFetchPos(rowset, 0);
    super.executeQueryForCollection(rowset, params, noUserParams);
    // Help the hasNext() method know if there are more rows to fetch or not
    protected boolean hasNextForCollection(Object rowset) {
    return getFetchPos(rowset) < rows;
    // Create and populate the "next" row in the rowset when needed
    protected ViewRowImpl createRowFromResultSet(Object rowset,ResultSet rs) {
    ViewRowImpl r = createNewRowForCollection(rowset);
    int pos = getFetchPos(rowset);
    populateAttributeForRow(r, 0, departments.get(pos).getDeptno());
    populateAttributeForRow(r, 1, departments.get(pos).getDname());
    setFetchPos(rowset, pos + 1);
    return r;
    // When created, initialize static data and remove trace of any SQL query
    protected void create() {
    super.create();
    // Setup string arrays of codes and values from VO custom properties
    initializeStaticData();
    rows = (departments != null) ? departments.size() : 0;
    // Wipe out all traces of a query for this VO
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    // Return the estimatedRowCount of the collection
    public long getQueryHitCount(ViewRowSetImpl viewRowSet) {
    return rows;
    // Subclasses override this to initialize their static data
    protected void initializeStaticData() {
    Department d1 = new Department();
    d1.setDeptno(new Number(10));
    d1.setDname("IT");
    Department d2 = new Department();
    d2.setDeptno(new Number(20));
    d2.setDname("HR");
    departments.add(d1);
    departments.add(d2);
    // Store the current fetch position in the user data context
    private void setFetchPos(Object rowset, int pos) {
    if (pos == rows) {
    setFetchCompleteForCollection(rowset, true);
    setUserDataForCollection(rowset, new Integer(pos));
    // Get the current fetch position from the user data context
    private int getFetchPos(Object rowset) {
    return ((Integer)getUserDataForCollection(rowset)).intValue();
    public class StaticDataEmployeesImpl extends ViewObjectImpl {
    int rows = -1;
    private List<Employee> employees = new ArrayList<Employee>();
    protected void executeQueryForCollection(Object rowset, Object[] params,
    int noUserParams) {
    // Initialize our fetch position for the query collection
    setFetchPos(rowset, 0);
    System.out.println("in executeQueryForCollection");
    super.executeQueryForCollection(rowset, params, noUserParams);
    // Help the hasNext() method know if there are more rows to fetch or not
    protected boolean hasNextForCollection(Object rowset) {
    System.out.println("in hasNextForCollection. Rows:" + rows);
    return getFetchPos(rowset) < rows;
    // Create and populate the "next" row in the rowset when needed
    protected ViewRowImpl createRowFromResultSet(Object rowset,ResultSet rs) {
    ViewRowImpl r = createNewRowForCollection(rowset);
    int pos = getFetchPos(rowset);
    System.out.println("in createRowFromResultSet. Pos=" + pos);
    populateAttributeForRow(r, 0, employees.get(pos).getEmpno());
    populateAttributeForRow(r, 1, employees.get(pos).getEname());
    populateAttributeForRow(r, 2, employees.get(pos).getDept());
    setFetchPos(rowset, pos + 1);
    return r;
    // When created, initialize static data and remove trace of any SQL query
    protected void create() {
    super.create();
    // Setup string arrays of codes and values from VO custom properties
    initializeStaticData();
    rows = (employees != null) ? employees.size() : 0;
    System.out.println("in create(). Rows=" + rows);
    // Wipe out all traces of a query for this VO
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    // Return the estimatedRowCount of the collection
    public long getQueryHitCount(ViewRowSetImpl viewRowSet) {
    return rows;
    // Subclasses override this to initialize their static data
    protected void initializeStaticData() {
    Employee e1 = new Employee();
    e1.setEmpno(new Number(2333));
    e1.setEname("Emp1");
    e1.setDept(new Number(10));
    Employee e2 = new Employee();
    e2.setEmpno(new Number(1199));
    e2.setEname("Emp2");
    e2.setDept(new Number(20));
    Employee e3 = new Employee();
    e3.setEmpno(new Number(3433));
    e3.setEname("Emp3");
    e3.setDept(new Number(10));
    Employee e4 = new Employee();
    e4.setEmpno(new Number(5599));
    e4.setEname("Emp4");
    e4.setDept(new Number(20));
    Employee e5 = new Employee();
    e5.setEmpno(new Number(5676));
    e5.setEname("Emp5");
    e5.setDept(new Number(10));
    Employee e6 = new Employee();
    e6.setEmpno(new Number(7867));
    e6.setEname("Emp6");
    e6.setDept(new Number(20));
    employees.add(e1);
    employees.add(e2);
    employees.add(e3);
    employees.add(e4);
    employees.add(e5);
    employees.add(e6);
    // Store the current fetch position in the user data context
    private void setFetchPos(Object rowset, int pos) {
    if (pos == rows) {
    setFetchCompleteForCollection(rowset, true);
    setUserDataForCollection(rowset, new Integer(pos));
    // Get the current fetch position from the user data context
    private int getFetchPos(Object rowset) {
    return ((Integer)getUserDataForCollection(rowset)).intValue();
    Who can help?
    Thnx in advance!
    Rolf

    Rolf,
    I guess when we try to do it for you, we end up with almost the sample code provided by Steve Muench.
    So there from my point of view it doesn't make sense to do it all over.
    Take some time and study the sample code, run it without changes and after that try some changes which suits your use case better.
    If you don't understand what's going on in the sample post the question here and we try to help you.
    Timo

  • Use View Object with Alternative Data Sources in View Link

    In my case, I created a view object based on alternative data source (not with SQL query). I have setQuery(null) in the override create() function for this View Object. When I use this View Object at the destination end of the View Link, the setQuery(null) will raise Jbo-26016 exception (You cannot set customer query (calling setQuery()) on a view object if it is the detail view object in a master detail view link.) which does not allow me to do that. I looked Avrom's Framework for Database API-Based ADF BC, in which he override the DBTransaction and CallableStatement in order to intercept the default query clause set by the View Link. I'd like to see if there is any alternative ways to achieve my objective?

    Just following up what I found so far. I'm trying to use customized View Object based on alternative data source at the destination end of View Link with ADF 10.1.3.
    1. For the View Object at the destination end of View Link, I can not call setQuery() which will raise Jbo-26016 exception.
    2. I can omit the setQuery(null) call in my customized ViewObjectImpl, and as long as there is no SQL statement in the View Definition XML, it won't cause problem when calling the executeQueryForCollection() of the super class.
    3. The override executeQueryForCollection() must call the super.executeQueryForCollection() in order to get appropriate result (I tried to skip the call and it does not give back any results)
    4. The funny thing is, when I make getQuery() call in my customized ViewObjectImpl (I'm just trying to double check if the Query object is clean or not), the query object is set to "SELECT FROM" following the getQuery() call, and which causes the exceptions when I call super.exeuteQueryForCollection(). I found out later from the Javadoc API which is implemented in that way.
    So I guess my case is resolved by not making specific call to setQuery(null).

  • View links in oracle ADF/query featching from Database

    Please any one help for this query
    I have two tables Emp, Dept
    I have query like this select * from Emp e, Dept d where e.deptno=d.deptno
    Query is fetching like this
    Empno Ename job Salary Comm deptno deptno dname      Loc
    15 i1     support     50000     11     5     5     IT          sss
    15 i1     support     50000     11     3     3     Account     sss
    16 i2     support     8000     10     5     5     IT          sss
    16 i2     support     8000     10     3     3     Account     sss
    16 i2     support     8000     10     3     3     Software      sss
    16 i2     support     8000     10     4     4     Operation      sss
    Query is fetching 6 rows.
    but my requirement is what ever records fetching from database with same employee number is one record that is same employee number dept names grouped I will show it as one record how to fetch records from data base.
    Here is the example (My Requirement):
    This is first row:
    Empno Ename job Salary Comm
    15 i1     support 50000     11
    Deptno dname      Loc
    5     IT          sss
    3     Account     sss
    This is second row:
    Empno ename job Salary Comm
    16 i2     support     8000     10
    Deptno dname      Loc
    5     IT     sss
    3     Account     sss
    2     Software sss
    4     Operation sss
    i am useing oracle ADF if any possibility in view links either i get from the query as i mentioned.
    plz any one can help
    thanks

    Please any one help for this query
    I have two tables Emp, Dept
    I have query like this select * from Emp e, Dept d where e.deptno=d.deptno
    Query is fetching like this
    Empno Ename job Salary Comm deptno deptno dname      Loc
    15 i1     support     50000     11     5     5     IT          sss
    15 i1     support     50000     11     3     3     Account     sss
    16 i2     support     8000     10     5     5     IT          sss
    16 i2     support     8000     10     3     3     Account     sss
    16 i2     support     8000     10     3     3     Software      sss
    16 i2     support     8000     10     4     4     Operation      sss
    Query is fetching 6 rows.
    but my requirement is what ever records fetching from database with same employee number is one record that is same employee number dept names grouped I will show it as one record how to fetch records from data base.
    Here is the example (My Requirement):
    This is first row:
    Empno Ename job Salary Comm
    15 i1     support 50000     11
    Deptno dname      Loc
    5     IT          sss
    3     Account     sss
    This is second row:
    Empno ename job Salary Comm
    16 i2     support     8000     10
    Deptno dname      Loc
    5     IT     sss
    3     Account     sss
    2     Software sss
    4     Operation sss
    i am useing oracle ADF if any possibility in view links either i get from the query as i mentioned.
    plz any one can help
    thanks

  • [SOLVED] Multiple Dynamic View Objects and View Links - ADF Tree Table

    Hi all,
    I've got a method that creates 3 dynamic viewobjects using this:
                ViewDefImpl Level1ViewDef = new ViewDefImpl("Level1View");
                Level1ViewDef.addViewAttribute("LevelDescription","LEVEL1_DESCRIPTION",String.class);
                Level1ViewDef.addViewAttribute("SetOfBooksId","SET_OF_BOOKS_ID",Number.class);
                Level1ViewDef.addViewAttribute("CodeCombinationId","CODE_COMBINATION_ID",Number.class);
                Level1ViewDef.addViewAttribute("Level1","LEVEL1",String.class);
                Level1ViewDef.addViewAttribute("AccountType","ACCOUNT_TYPE",String.class);
                Level1ViewDef.addViewAttribute("PeriodYear","PERIOD_YEAR",Number.class);
                Level1ViewDef.addViewAttribute("PeriodNum","PERIOD_NUM",Number.class);
                Level1ViewDef.addViewAttribute("PeriodName","PERIOD_NAME",String.class);
                Level1ViewDef.addViewAttribute("PtdActual","PTD_ACTUAL",Number.class);
                Level1ViewDef.addViewAttribute("YtdActual","YTD_ACTUAL",Number.class);
                Level1ViewDef.addViewAttribute("LtdActual","LTD_ACTUAL",Number.class);
                Level1ViewDef.addViewAttribute("BudgetName","BUDGET_NAME",String.class);
                Level1ViewDef.addViewAttribute("BudgetVersionId","BUDGET_VERSION_ID",Number.class);
                Level1ViewDef.addViewAttribute("PtdBudget","PTD_BUDGET",Number.class);
                Level1ViewDef.addViewAttribute("YtdBudget","YTD_BUDGET",Number.class);
                Level1ViewDef.addViewAttribute("LtdBudget","LTD_BUDGET",Number.class);
                Level1ViewDef.addViewAttribute("EncumbranceType","ENCUMBRANCE_TYPE",String.class);
                Level1ViewDef.addViewAttribute("EncumbranceTypeId","ENCUMBRANCE_TYPE_ID",Number.class);
                Level1ViewDef.addViewAttribute("PtdCommitment","PTD_COMMITMENT",Number.class);
                Level1ViewDef.addViewAttribute("YtdCommitment","YTD_COMMITMENT",Number.class);
                Level1ViewDef.addViewAttribute("LtdCommitment","LTD_COMMITMENT",Number.class);
                Level1ViewDef.setQuery(sql_level1);
                Level1ViewDef.setFullSql(true);
                Level1ViewDef.setBindingStyle(SQLBuilder.BINDING_STYLE_ORACLE_NAME);
                Level1ViewDef.resolveDefObject();
                Level1ViewDef.registerDefObject();
                ViewObject vo1 = createViewObject("Level1View",Level1ViewDef);I can create the view objects fine and create a single viewlink between two of them, however i'm getting problems with 2 view links.
    This is how I'm creating a view link:
                ViewLink Level2Level1FKLink = createViewLinkBetweenViewObjects("Level2Level1FKLink1",
                                                        "Level2View",
                                                        vo1,
                                                        new AttributeDef[]{
                                                          vo1.findAttributeDef("Level1")
                                                        vo2,
                                                        new AttributeDef[]{
                                                          vo2.findAttributeDef("Level1")
                                                        "LEVEL1 = :Bind_Level1");
                ViewLink Level3Level2FKLink = createViewLinkBetweenViewObjects("Level3Level2FKLink1",
                                                        "Level3View",
                                                        vo2,
                                                        new AttributeDef[]{
                                                          vo2.findAttributeDef("Level2")
                                                        vo3,
                                                        new AttributeDef[]{
                                                          vo3.findAttributeDef("Level2")
                                                        "LEVEL2 = :Bind_Level2");I can get the data to display on an adf tree table if i'm only using a single view link, but when i try and implement 2 view link (for 3 levels on the adf tree table) i'm getting problems displaying the data.
    I'm getting the following error:
    Aug 10, 2007 2:44:39 PM oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer encodeAll
    SEVERE: Error during partial-page rendering
    oracle.jbo.NoDefException: JBO-25058: Definition Level3View of type Attribute not found in Level2View_Level2Level1FKLink1_Level2ViewThe thing is, Level3View isn't in the Level2Level1FKLink viewlink.
    I've been reading about something similar here
    BC4J Master-Detail-Detail
    but I am still unsure of what the problem is.
    Thanks in advance.

    I found the answer here:
    http://radio.weblogs.com/0118231/stories/2004/06/10/correctlyImplementingMultilevelDynamicMasterDetail.html

  • Oracle ADF with view Links

    Hello i use Oracle adf framwork to develop my Business logic through Business component and oracle as Database
    i have an error with my View link
    i got this error msg:
    oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT Meldung.MELDUNG_ID, Meldung.MELDUNG_MESSAGE, Meldung.SACHBEARBEITER_ID, Meldung.MELDUNG_DATUM FROM MELDUNG Meldung WHERE Meldung.SACHBEARBEITER_ID = :Bind_SachbearbeiterId
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1239)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:913)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:7282)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1227)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1078)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2800)
         at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:3058)
         at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2797)
         at oracle.jbo.server.ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:7208)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3555)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigationToRow(ViewRowSetIteratorImpl.java:3697)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3657)
         at oracle.jbo.server.ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:3440)
         at oracle.jbo.server.ViewRowSetIteratorImpl.previous(ViewRowSetIteratorImpl.java:1895)
         at oracle.jbo.server.ViewRowSetImpl.previous(ViewRowSetImpl.java:3609)
         at oracle.jbo.server.ViewObjectImpl.previous(ViewObjectImpl.java:10248)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1080)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
         at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
         at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
         at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
         at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.sql.SQLException: Invalid column type
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:11256)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:10605)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:11665)
         at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:11631)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:15891)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObjectAtName(OraclePreparedStatementWrapper.java:911)
         at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:4665)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3673)
         at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:21459)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1197)
         ... 59 more
    ## Detail 0 ##
    java.sql.SQLException: Invalid column type
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:11256)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:10605)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:11665)
         at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:11631)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:15891)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObjectAtName(OraclePreparedStatementWrapper.java:911)
         at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:4665)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3673)
         at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:21459)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1197)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:913)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:7282)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1227)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1078)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2800)
         at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:3058)
         at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2797)
         at oracle.jbo.server.ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:7208)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3555)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigationToRow(ViewRowSetIteratorImpl.java:3697)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3657)
         at oracle.jbo.server.ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:3440)
         at oracle.jbo.server.ViewRowSetIteratorImpl.previous(ViewRowSetIteratorImpl.java:1895)
         at oracle.jbo.server.ViewRowSetImpl.previous(ViewRowSetImpl.java:3609)
         at oracle.jbo.server.ViewObjectImpl.previous(ViewObjectImpl.java:10248)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1080)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
         at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
         at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
         at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
         at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    (oracle.jbo.SQLStmtException) JBO-27122: SQL error during statement preparation. Statement: SELECT Termin.TERMIN_ID, Termin.TERMIN_BEGIN_DATUM, Termin.SACHBEARBEITER_ID, Termin.TERMIN_MESSAGE, Termin.TERMIN_END_DATUN FROM TERMIN Termin WHERE Termin.SACHBEARBEITER_ID = :Bind_SachbearbeiterId

    Hello John,
    Thanks for the reply. I can't find any material so that I can aware with JSF introduction (with demos) and ADF Faces. So will you please suggest me some tutorial or demos related to JSF and ADF faces. I passed through the video demos of Oracle ADF homepage but still I can't understand the use of those tags.
    regards,
    Kush
    Edited by: kush on Feb 22, 2012 12:07 AM

  • [ADF-11.1.2] Dynamic EO/VO/Association/View Link/pagedef/JSPX XML Def files

    I though I found gold but it has nothing when I clicked on it.
    Steve Muench's "Not Yet Documented Examples" [http://blogs.oracle.com/smuenchadf/resource/examples] > "Using ViewObject writeXML and JSTL XML Tag Library" suppose to provide the example. but I am getting File not found error. Seems the sample application doesn't exists any more.
    Please point me to correct example for my following use case:
    At Run-time:
    1. My Application will ask user for database table name.
    2. for provided database table name, my application should Generate XML Definition file for EO, Associations, VO and View Links inside Model Project (basically all definition file should be created which gets created when developer create these Business Components for database table through JDeveloper Studio).
    3. Once done, application should also generate JSPX file using ADF page template in ViewController Project, with binding definition to it's corresponding newly generated VO Objects from step 2.
    4. The page will be then, visible to user to use it (create/update/delete records)
    First of all, is it possible to achieve above requirement ? Based on description of Steve Muench's "Using ViewObject writeXML and JSTL XML Tag Library", I think it is possible, but I don't have the sample application to refer.
    I could have used dynamic view object concept to display the records with basic page layout. But I want users the ability to modify the create/records/delete the records with following requirements:
    1. If require, Business Logic Developer can use Jdeveloper Studio to access new generated Business Components and modify it (like adding some validation rules)
    2. If require, UI Developer can access newly generated JSPX file and change the layout.
    Please let me know how much and how can I achieve it ?

    Shay,
    Thank you for your reply. I will take a look at your links.
    Use Case:
    Application will have different BC for different IT Assets (like Monitor, Keyboard, Servers etc), which will basically hold records for all available Assets (like Display Resolution, screen size etc for all monitor in Monitor BC).
    I want to give user; the ability to create, for e.g., the sub-class of Monitor to store more specific attribute-values in different table (which will be linked Parent BC). For e.g.: They may want to care about holding CRT and LCD Monitor records in separate new database table -- Application will ask user what all attributes/Columns they want to see for LCD which is specific to this type AND which is not present in already existing out-of-box Monitor BC/Table - e.g. - "Viewing Angle" Attribute).
    With that said, I can write code to create database table on fly (having 1-to-1 foreign key reference to parent table) but writing ADF part seems difficult. I also wanted application to automatically generate new page for newly added VO BC. E.g.: LCD-Monitor.JSPX inheriting all attributes from monitor (parent VO) in the same structure as Monitor.JSPX file is having with extra LCD-specific Attributes in separate panel tab (which again UI developers can customized it).
    Too much to expect huh !
    I am going to start building the application so If not above way, any other suggestion to achieve the requirement ?
    Edited by: Anandsagar Sah on Aug 29, 2011 9:23 PM

  • View link refresh issue in a ADF Faces application

    ADF BC, ADF Faces, JDeveloper 10.1.3.3
    There is an example.
    I have an Entity SaleEntity and two view objects: SalesView (based on the SaleEntity) and ProductsView (read only). SaleEntity has an attribute productId to reference a product sold. SalesView and ProductsView are related by a view link. The link works fine in a Business Component Browser.
    Then I created a ADF Faces form to edit a sale. I used an af:selectInputText component for a productId:
    <af:selectInputText
        value="#{bindings.ProductId.inputValue}"
        label="#{bindings.ProductId.label}" 
        required="true"
        columns="6"
        action="dialog:ProductSearch"
        autoSubmit="true"
        valueChangeListener="#{CreateSaleBean.productId_valueChanged}" 
        tip="#{bindings.ProductsViewName.inputValue}">
      <af:validator binding="#{bindings.ProductId.validator}"/>
    </af:selectInputText>
    {code}
    User can enter productId directly or select a product from a LOV. I set a tip attribute of af:selectInputText to display a name of the current product. The tip uses ProductsView through the view link between SalesView and ProductsView. valueChangeListener is used here to make tip update right after partial form submit:
    {code:java}
      public void productId_valueChanged(ValueChangeEvent valueChangeEvent) {
        String prodId = (String) valueChangeEvent.getNewValue();  
        JSFUtils.setExpressionValue("#{bindings.ProductId.inputValue}", prodId);
        getIteratorBinding("SalesViewIterator").refresh(DCExecutableBindingDef.RC_REFRESH);
        getIteratorBinding("ProductsView").refresh(DCExecutableBindingDef.RC_REFRESH);
    {code}
    SaleEntity has a productId attribute validator to ensure that id of existing product was specified. The validator is implemented in the same way as ADF Developer Guide chapter "9.6.2 Implementing an Efficient Existence Check" describes.
    All this works fine when user enters correct productId - the new value is submitted and the tip is updated. But if user enters non existing productId - the tip doesn't change. It seems that detail view row currency doesn't change in that case. I want to make the tip empty when the provided productId is incorrect. Any ideas how to achieve this?
    Thanks,
    Marius                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Blaise,
    no I don't want to insert new product. I want make products view object have no current row.
    In addition product existence check code is in a sale entity. I don't think it is a good idea to have an entity object depending to some specific view object. Maybe I'm in the wrong.
    Marius

  • How to display hourglass while ADF view link is retrieving rows in a swing.

    I posted this yesterday but did not get a solution, here is my posting again:
    Hi All,
    I have an ADF panel which includes several interdependent ADF View Objects and View Links. The query of the top view object might return several rows, then once user navigates from 1st to second row and so on, the dependent (child) view links display corresponding data. This is a swing app and not a web or jsf app.
    Sometimes it might take 8 to 12 seconds for the corresponding data from child view links to be retrieved, during this time window the ADF Panel might appear to be frozen to the user.
    So my question is what do I have to do so the ADF Panel would display hourglass while it is retrieving the rows for the corresponding child view links. If I have to manually update the java generated by Jdev, then what java line and where would I introduce it?
    Your inputs are most appreciated.
    Thanks.

    Check af:progressIndicator , af:statusIndicator
    http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/tagdoc/core/progressIndicator.html
    http://download.oracle.com/docs/cd/E15051_01/apirefs.1111/e12419/tagdoc/af_statusIndicator.html

  • How to display hourglass while ADF view link is retrieving rows.

    Hi All,
    I have an ADF panel which includes several interdependent ADF View Objects and View Links. The query of the top view object might return several rows, then once user navigates from 1st to second row and so on, the dependent (child) view links display corresponding data.
    Sometimes it might take 8 to 12 seconds for the corresponding data from child view links to be retrieved, during this time window the ADF Panel might appear to be frozen to the user.
    So my question is what do I have to do so the ADF Panel would display hourglass while it is retrieving the rows for the corresponding child view links. If I have to manually update the java generated by Jdev, then what java line and where would I introduce it?
    Your inputs are most appreciated.
    Thanks.

    from the component palatte drag n drop this component into your jsf page.
    more info:
    http://download.oracle.com/docs/cd/E15051_01/apirefs.1111/e12419/tagdoc/af_statusIndicator.html
    Using javascript you can change the mouse cursor to an hourglass. Try using clientListener within commandButton and use javascript.
    document.body.style.cursor = "wait";
    document.body.style.cursor = "default";
    Edited by: Puthanampatti on Jan 12, 2010 1:56 PM

  • ADF Navigation List  and View Links . any tutorial for this subject ?

    Hi
    Its two day that i am looking in oracle web site and tutorials that are provided in oracled ADF books.
    but i can not figure it out how i can user a Navigation List , view Link to insert record in a child table.
    so far i just could create a page that when i change the Navigation List selected item and then refresh that page , the related Fields of child table filled with master table PK.
    although i cheched and i saw that ComboBox (Navigation List) auto submit is true.
    does any one has a clue about this ?
    Thanks

    Timo,
    Thanks for your reply but there is lot of headache, human errors in removing such VO and associations.
    Jobinesh,
    I am doing exactly what is described in here http://www.oracle.com/technetwork/developer-tools/jdev/mysql-and-bc-howto-082060.html
    Expected Behaviour:
    1. Create Following Association and VL, which is working fine.
    PeopleCompanyFkAssoc1 and PeopleCompanyFkAsoc1Link >> 0..1 to * Cardinality Between Company.CompanyID and People.CompanyID
    2. Do NOT Create any other non sense Association and VL, but it is creating
    PeopleCompanyFkAssoc and PeopleCompanyFkLink >> 0..1 to * Cardinality Between People.PeopleID and People.CompanyID
    What's the relationship between PeopleID and CompanyID ?
    Screenshot: http://imageshack.us/g/64/assock.jpg/
    Problem 1: I was trying to create table "Table222" I got error as shown in screen shot.
    Problem 2: Screen shot of Associations

  • ADF: use of view link Accessor in Entity Object = always null?

    Hi,
    JClient 9.0.5.2, adf model.
    I would like to use the view link accessor method in the master EO to retrieve detail EO values and the view link accessor method in the detail EO to retrieve master EO values.
    Detail Rule:
    In the detail EO an attribute is derived from an attribute of the master EO: detail attribute = master attribute.
    Master Rule:
    In the master EO an attribute is derived from the detail EO: master atribute set to 0 if detail EO exist else set to 0.
    Tables:
    Table Master => MasterEO => MasterVO
    - masterPK (not updateable)
    - masterField (not updateable)
    - hasDetailsFlag
    Table Detail => DetailEO => DetailVO
    - detailPK (not updateable)
    - masterPK => foreign key (not updateable)
    - masterField (query only)
    MasterDetailLink based on foreign key.
    In link wizard I asked for the generation of following accessors in the source & destination Entity Objects:
    In DetailEO accessor name: RetrieveFromMaster
    In MasterEO accessor name: RetrieveFromDetail
    In the DetailEO, I asked for the generation of the DetailEOImpl file, accessors and create method.
    As wriiten in the file, before the create method:
    ** Add attribute defaulting logic in this method. **
    I tought this is the place to retrieve the master attribute:
    The code:
    MasterVORowImpl masterVO = getRetrieveFromMaster();
    if (masterVO == null)
    System.out.println("MasterVORowImpl masterVO create NNNNNNNNNNNUUUUUUUULLLLLLLLLL");
    The masterVO is always null?
    I suppose I didn't understand something, my guest is that ViewObjects may not be used for default logic?
    I know how to implement those rules in the database with triggers.
    I think that the data I need for implementing those rules exist somewhere at the ADF level so retrieving the data from the db is not necessary?
    Could somebody give some clues?
    I didn't find a similar example in the Business Rules in BC4J document.
    Your help will be appreciated
    Frederic

    Hi,
    Detail Rule, copy attribute value form master.
    In DetailEOImpl:
    protected void create(AttributeList attributeList)
    setAttribute(MASTERFIELD,this.getMaster().getMasterField());
    super.create(attributeList);
    Master rule, set flag to 0 if no details else set to 1.
    In the MasterEOImpl added method to check if detail row exists based on Row Iterator => no db retrieval?
    This method also sets the flag accordingly:
    protected void checkHasOtherDetails()
    oracle.jbo.RowIterator ri = this.getRetrieveFromdetail();
    ri.last();
    // last() must be called else hasNext() returns true even on last delete ???
    Number hasDetails = Constants.NUMBER_NO; // = 1
    if (ri.hasNext() || ri.hasPrevious())
    hasDetails = Constants.NUMBER_YES; // = 0
    if (!getHasDetailsFlag().equals(hasDetails)) {
    this.setHasDetailsFlag(hasDetails);
    I call this method in the remove method of the detailEOImpl:
    public void remove()
    this.getRetrieeFromMaster().checkHasOtherDetails();
    super.remove();
    To set the flag I added follwoing code in the create method of the DetailEOImpl:
    protected void create(AttributeList attributeList)
    setAttribute(MASTERFIELD,this.getMaster().getMasterField());
    **** ADDED ***
    Number masterHasDetailsFlag = getRetrieveFromMaster().getHasDetailsFlag();
    if (!masterHasDetailsFlag.equals(Constants.NUMBER_YES)) {
    getRetrieveFromMaster().setHasDetailsFlag(Constants.NUMBER_YES));
    super.create(attributeList);
    One more question:
    Is there a danger of calling last() on row iterators in create/update/remove methods of *Impl files?
    => current row changed => any effect on display in JPanel
    Thanks
    Frederic
    PS All variable/method/class names have been manually renamed in this code so some small syntax problems may exist.

  • ADF BC: both ID and view link object as getter/setter in row impl

    I notice something when generating the row implementation of VO that have links to other VO. I can't seem to find the logic behind it...
    Following model:
    users( id, address_id,name,firstname,...)
    address(id, street,number,...)
    their is an assosiation between the UsersEO and the addressEO. Their is also a view link between the UsersVO and the AddressVO based upon the assosiation of the EO's.
    When we create the row implementation of the UsersVO we find a getter and setter for both the address_id as well as the address row object.
    Why is this?
    We have this issue because i added the UsersVO and the addressVO to the app module but i haven't added the link to the appModule but when i create the SDO from the appModule, the Users has both the address_id as the address row object.
    THis does not seem to make sense. How do you use it correctly? Do you just need to set the address_id and can leave the row object null or do they both need to have the same? What if you set the address_id to 1 but the id in the address row object is set to 5...
    How do the databindings handle these things?
    To me it seems more logical that the VO only has a getter and setter for the address object and handles the address_id in the background according to the values in the address object.
    Can someone explain me why this is implemented this way and how to handle it correctly?
    Edited by: Yannick Ongena on Sep 27, 2010 5:29 PM

    Yannick Ongena wrote:
    When we create the row implementation of the UsersVO we find a getter and setter for both the address_id as well as the address row object.
    Why is this? The definition of the VL allows you to optionally generate accessors for the underliying VOs, i.e. getAddressVO() in the UsersVO and getUsersVO() in the addressVO.
    We have this issue because i added the UsersVO and the addressVO to the app module but i haven't added the link to the appModule but when i create the SDO from the appModule, the Users has both the address_id as the address row object. You should add the addressVO to the AM using the VL instead and not by itself.
    THis does not seem to make sense. How do you use it correctly? Do you just need to set the address_id and can leave the row object null or do they both need to have the same? What if you set the address_id to 1 but the id in the address row object is set to 5...
    As mentioned above, once you add the addressVO to AM using the VL, the framework will take care setting the value of the row objects accordingly.

Maybe you are looking for

  • I need help hooking my  Samsung 27" Class 1080p LED HDTV T27B350ND to my macbook pro

    I tried hooking my mac bool pro to this samsung monitor and all I get is the picture of the universe that came with the laptop and my mouse is on the monitor, but that is it.... help?

  • Portal

    Hi, Is it possible to implement vendor neutral portal? I need to maintain a weblogic portal. It's totally locked in weblogic since it uses jpf, netui, etc.. what's the best approach to avoid vendor specifics. Thanks

  • Bug in latest 2 bios updates for FM2-A55M-E33

    Hey guys, Today I tried to update my bios of my FM2-A55M-E33 to the latest version(7721vA4.zip). Once everything completed succesfully, the bios wouldn't boot anymore. I plugged out my 3TB hdd and it worked fine. I installed an earlier version of the

  • Can't acess itunes store

    keep getting error message. Itunes app cannot connect to itunes store

  • Which window is in front?

    Greetings, Using LV 7.1. My app uses windows that cover the entire screen. I have various dialog windows that will pop up in front of the current window. Here is the problem: A dialog window has opened in which the user must enter a filename. Meanwhi