Sql like function in View Object for progammatically

Hi friends,
I used Jdeveloper 11.1.1.4.0 ,I need how to get the datas from database using sql like function(select * from tablename where name like 'p%') using viewCriteria by
programmatically.
Thanks & Regards,
Priya.
Edited by: priya on Apr 8, 2011 3:48 AM
Edited by: priya on Apr 8, 2011 3:49 AM

Check the docs: http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcadvvo.htm#sm0341
Timo

Similar Messages

  • How to change sql expression of SQL-Calculated Attribute of view object ?

    Hi
    jdev 11.1.1.5
    I have a view object with a SQL-Calculated Attribute (sumAnalytic) how can I change sql expression of this attribute in runtime?
    for example in application module method??

    Hi Mr Timo
    Thanks for your reply but I do not need dynamic vo because I can not change all of my vo
    I only need to change expression of SQL-Calculated Attribute of view object in run time.
    For this I set expression in view object something like this 'select 2 from dual' and in run time in my AM method I get the vo query and replace 'select 2 from dual' with something like 'selet sum(amnt) over (partition by 1)' and set new query.
    But I think the better solution must exist
    Thanks

  • How to create view object for a predefined Oracle view

    Trying to create an entity object with no success,,,
    I have an Oracle view(complex query in PL/SQL) that I need to encapsulate as a View Object then represent a column from this view as a '' | | linkcolumn | | ''
    then get a reference of the requestParameter "p" in this case that I need to use as whereclause parameter on another view object that is part of the ListPage.jsp.
    The application is basically a page of organization links that when click filters their reports as a list,
    In Jdeveloper's context webBean(RowSetBrowser list [org links] to RowSetBrowser [org report list])
    Can I implement this functionallity using the wizards or possibly writing custom code using the standard webBeans.

    Jerry,
    First, you can create an entity object based on an Oracle view. If you check the "Views" checkbox in the EO wizard, you'll see a list of database views. Then you can create a view object based on your entity object, and use it like any other view object.
    As for getting the page into the format you want, I suggest you start by generating your page using the BC4J JSP wizard, then customize the generated JSP.
    Thanks
    Blaise

  • Can we call custom functions in view objects?

    Can we call custom functions in view objects?these custom functions are from my backing bean...
    Please help.....

    User,
    You can certainly add code to your view objects to do whatever you like.
    However, it would be considered a very bad practice to call something in the backing bean from your view object. It violates the whole MVC design principle of ADF.
    Perhaps if you can share your real use case, someone will give you ideas about the best way to do it, but I, for one, would advise you to forget about calling a backing bean function from your view object.
    Best,
    John

  • Passing an argument in the SQL Query of a View Object

    Hi,
    It is possible that this question has been asked before, however I have searched for a half an hour in the forums and couldn't find a solution.
    I am also new to using JDeveloper and ADF. Here's the situation:
    I am developing an application that doesn't have to do anything else then displaying data from a database. Pretty straightforward actually.
    Now I have made a vew pages with several collapsible panels (af:showDetailHeader) and have setup the datasources (or so I thought).
    All that remains is:
    - drag & drop a view object, from the application module that I created, onto the collabsible panels, so a child element gets created which displays data from the database.
    - hack the layout so it looks like I want it to.
    The problem that I have is the following:
    I am using a 'User'-class that contains values I need when quering the database.
    That User-object is part of a user-session.
    What I want, for example, is to use the 'getPersonId()' function of that User-object and pass the argument to a SQL-query of a certain view-object.
    The query would become something like:
    'SELECT * FROM people WHERE people.personId = :someNumber'.
    Now I've read some stuff about variable binding, which is complemented by something like (backing bean code):
    getDBTransaction().getRootApplicationModule().getACertainViewObject().setWhereClauseParameter(1, user.getPersonId());
    The examples I have found that might match my wishes are not using business components, but EJB's. I am having difficulty with understanding the 'how'-part of variable binding.
    Also, I do not know enough of ADF to be able to create a situation like:
    'User loads page, collapsible panel 1 is fully shown, the others are undisclosed.'
    (meaning, that for panel1 a query has been executed.)
    'User clicks on collapsible panel 2 which triggers a backingbean that somehow retrieves data from a view object'.
    I would appreciate any help that somebody can give.
    If it is not too much of a problem, please provide code snippets in case you have a solution. I am new to ADF :(.
    -edit
    I am using JDeveloper 10.1.3.3.0 in case that is of any importance.
    Message was edited by:
    Hugo Boog

    Hello Stijn,
    I didn't think about a referenced bean rule in the faces-config.
    I added it right away and I am now able to set parameters of a View-object, not using a page button and before the page loads. You made my day!
    In case anyone ever reads this post again, the summary of how to generate a table based on a View-object using dynamic parameters.:
    1a: Go to faces-config.xml -> Overview tab'
    1b: Go to the menuitem "Referenced Beans"
    1c: Click on 'new' and select the existing bean you want to access data from and input a name. In this example I use name="user"
    2: Create a View-object using the wizard.
    2a: Specify the query you want in the menuitem 'SQL Statement'.
    Add the 'parameters' you want to. You will have something like:
    "SELECT * FROM someTable WHERE table.columnname LIKE :someArgument".
    - hint: if you want the result to become something like:
    "SELECT * FROM someTable WHERE table.columnname LIKE '%someArgument%'" then you have to add the '%'-characters in your code itself (read: someClass.setParameter("%" + someArgument);).
    2b: In the menuitem 'Bind Variables' you have to add the variables you are referring to in the query. If you look at the query in 2a, then you have to add a variable with name "someArgument".
    2c: Add the View-object to a Application Module (create one if nessecairy).
    3a: Open a .jsp(x) file. Drag the View-object created in step 2 from the 'Data Controls'-pane to the page.
    3b: Click on the '+' of the View-object in the 'Data Controls'-pane and open 'Operations' and drag 'ExecuteWithParams' to your page as a button.
    3c: We do not want to use a button, the action has to be executed immediatly. So In the page source remove the lines that were created after dropping 'ExecuteWithParams'.
    3d: Right-click on the page and select "Go to Page Definition".
    3e: Go to the action id that is called 'ExecuteWithParams#', where # is a number.
    Change the id to something useful.
    3f: Change the NDValue so it corresponds with the value you want.
    Example:
    <action id="getAddressData" IterBinding="AddressesView1Iterator"
    InstanceName="MyHRServiceModuleDataControl.AddressView1"
    DataControl="MyHRServiceModuleDataControl" RequiresUpdateModel="true" Action="95">
    <NamedData NDName="someArgument" NDType="java.lang.String"
    NDValue="#{user.personId}"/>
    </action>
    Note: It is possible to use the value of a Backing Bean in NDValue.
    Note 2: user is the bean I referred to in the faces-config.xml!
    3g: Under the executables item, add an 'invokeAction' to pass the parameter to the View-object before your JSP-file loads:
    <executables>
    <invokeAction Binds="getAddressData"
    id="loadAddressDataOfPersonIdInSession"
    Refresh="prepareModel"/>
    Thank Stijn Haus for this :)

  • Problem in using View Object for validation

    Hi,
    I have defined a simple swing form to practice. It has one Entity Object and two View objects. One of these view objects is an updatable VO based on the EO and the other one has a simple "select count(*)" from a table. I defined a method validation on one of the EO attributes to see how can i use the VO for validation. On the other hand i defined the Application Module to use both of my views. As far as i undrestood, when i define a VO for AM, the AM will instantiate it the first time it starts running. Here is the code inside the method validation for FirstName attribute:
    /**Validation method for FirstName
    public boolean validateFirstName(String data) {
    ViewObject vo = getDBTransaction().getRootApplicationModule().findViewObject("CountEmployeeInstance");
    if (vo == null) {
    System.out.println("vo is null");
    else {
    vo.executeQuery();
    if (vo.hasNext()){
    System.out.println("count = " + ((CountEmployeeRowImpl) vo.next()).getCount());
    else {
    System.out.println("vo has no next");
    return true;
    The problem is that vo.executeQuery() does not return any record. In fact the vo.hasNext() returns false and i get the message "vo has no next" on the console. Please pay attention that the VO's sql statement is SELECT COUNT(*) and it always returns a record. I found that if i use vo.closeRowSet() before vo.executeQuery() everything works fine.
    Please tell me that what is my problem and why is it working like this?
    Best Regards,
    Alireza Vali

    Chris,
    1- Every thing is fine with the ADF model layer in this practice. I have tested it by using Test option on AM and it works. It works exactly the same as how it works throug swing UI that i use for it.
    2- The VO is beeing found and as you see in the code, i have tested it by "if (vo == null)" just after the statement which finds it and vo is not null which means it has been instantiated by AM as it was supposed to.
    3- The VO's SQL statement is "SELECT COUNT(*) FROM EMPLOYEE" with no where clause. I have 14 records in this table.
    Every thing is OK with swing form. It runs and shows the records and all the binded operations like "next record", "previous record" and so on work perfectly on the records.
    4- The code i used is a combination of two examples. Example 9-7 and 9-8 in pages 9-12 and 9-13 of mentioned document.
    Now my findings:
    I changed the code to the following:
        /**Validation method for FirstName
        public boolean validateFirstName(String  data) {
            ViewObject vo = getDBTransaction().getRootApplicationModule().findViewObject("MaxEmployeeIdInstance");
            if (vo == null) {
                System.out.println("vo is null");
            else {
                //vo.closeRowSet();
                vo.executeQuery();
                System.out.println("Row Count = " + vo.getRowCount());
                System.out.println("Default Slot = " + vo.getCurrentRowSlot());
                vo.next();
                System.out.println("Slot after next() = " + vo.getCurrentRowSlot());
                vo.reset();
                System.out.println("Slot after reset() = " + vo.getCurrentRowSlot());
                vo.first();
                System.out.println("Slot after first() = " + vo.getCurrentRowSlot());
                vo.last();
                System.out.println("Slot after last() = " + vo.getCurrentRowSlot());
                System.out.println("----------------------");
                vo.executeQuery();
                System.out.println("Deafault index = " + vo.getCurrentRowIndex());
                vo.next();
                System.out.println("Index after next() = " + vo.getCurrentRowIndex());
                vo.reset();
                System.out.println("Index after reset() = " + vo.getCurrentRowIndex());
                vo.first();
                System.out.println("Index after first() = " + vo.getCurrentRowIndex());
                vo.last();
                System.out.println("Index after last() = " + vo.getCurrentRowIndex());
                System.out.println("Slot Before First = " + vo.SLOT_BEFORE_FIRST);
                System.out.println("Slot Beyound Last = " + vo.SLOT_BEYOND_LAST);
            return true;
        }Here are the results :
    Row Count = 1
    Default Slot = 0
    Slot after next() = 3
    Slot after reset() = 0
    Slot after first() = 0
    Slot after last() = 0
    Deafault index = 0
    Index after next() = -1
    Index after reset() = 0
    Index after first() = 0
    Index after last() = 0
    Slot Before First = 2
    Slot Beyound Last = 3
    As you see, after the execution of the statement "vo.executeQuery()" the The RowIterrator pointer is not pointing to the slot before the first record but it is pointing to the first record itself. And that is why the statement "if (vo.hasNext()" returns false because we just have one record and RowIterrator Index is standing on that record and there is no next record present. The very important thing is that even reset() method does not set the index to the slot before the first record and it sends it to the first record.
    After that, i took the statemet "vo.closeRowSet()" out of the comment and here are the results:
    Row Count = 1
    Default Slot = 2
    Slot after next() = 0
    Slot after reset() = 2
    Slot after first() = 0
    Slot after last() = 0
    Deafault index = -1
    Index after next() = 0
    Index after reset() = -1
    Index after first() = 0
    Index after last() = 0
    Slot Before First = 2
    Slot Beyond Last = 3
    These are the exact things that we expected from the first. After query execution, the pointer is set to the slot before first record and the reset() method does its defined job which is sending the pointer to the slot before the the first record.
    My Assumptions:
    The Rowset which is created by AM is somehow different from the RowSet which you create in your program. I am absolutely sure that this functionality is not a bug but a design decission. I look at my simple program and see that when it runs, the data is queried and shown on the screen which is all done by AM by instantiating my VO and executing the query on it. AM reasonably must put the RowSet pointer on the first record and not the slot before first record. And i am sure that if i use reset() method on the shown RowSet, the pointer goes to the first record and the data on the screen does not get cleared. Whe we use vo.closeRowSet() and execute the query again, the AM made RowSet is closed and a new one is created and the new RowSet is your's not AM's so it functions as you expect.
    Best Regards,
    Alireza Vali

  • How to handle sql error exception in view object

    Guys,
             I have view object (with rows fetched from a sql query).
    Say the query in the VO looks like this..
    select plsql_fun(c) from dual
    (Note : the plsql function in the above query can throw an exception in some cases)
    when the plsql function throws a exception, we get sql exception  (oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation)
    Is there any way i can catch this exception and return -1 in the view object...
    Thanks in advance.

    Check out http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1897193.html
    Have you tried to surround hte executeQuery  with a try catch block?
    Timo

  • Problem with view object for global variables

    Hi,
    I'm using jdeveloper 11.1.2.3.0
    We are using view object with transient attributes for global variables.
    we defined the view as explained here:
    http://docs.oracle.com/cd/E14571_01/web.1111/b31974/bcstatemgmt.htm#ADFFD19610
    also we defined one of the attributes as primary key.
    When we start to test our application with disable connection pooling we got some problems.
    sometimes the row in the global view object is deleted.
    (for example after using executeEmptyRowSet on other view object).
    it looks strange, we couldn't fוnd why does it happen.
    Any idea?

    As Timo said, it is very hard to help without source.
    Are you sure that you do the next step:
    After the call to super.prepareSession(), add code to create a new row in the transient view object and insert it into the view object.

  • Setting bind variables in view objects for LOV

    ADF 11.1.1.1.0
    I have two application modules - amCodeTable (contains the code tables) and amLOV (contains the list of values)
    In amLOV I have a VO aListOfValuesVo (not based on an entity) that runs a query Select * from aTable where userNr = :pBindVar
    In amCodeTable I have a VO aMainTableVo based on an EO, This VO has a field (aLOVField) which has a LOV defined on it and uses the
    aListOfValuesVo.
    I've hardcoded the bind parameter to its corresponding value and everything works as expected, list of values from
    aListOfValuesVo available on the aLOVField in aMainTableVo.
    I now need to set the bind parameter by code.
    What I have tried to do is override the execute query of the aListOfValuesVo in the aListOfValuesVoImpl.java
        @Override
        public void executeQuery() {
           setNamedWhereClauseParam("pBindVar","32");
           super.executeQuery();       
        }If I test the amLOV application module the query returns the correct values.
    If I test the amCodeTable the list of values on the aLOVField in the view aMainTableVo is empty.
    I've added a breakpoint to the executeQuery() method but it would seem that the method is not called.
    How are bind parameters for list of values set ?
    Paul

    Ok I've activated an SQL trace and got the following :
    [498] _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch_0 ViewRowSetImpl.doSetWhereClause(-1, pUserNr, null)
    [499] _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch_0 ViewRowSetImpl.execute caused params to be "un"changed
    [500] Column count: 4
    [501] _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch_0 ViewRowSetImpl.doSetWhereClause(-1, pUserNr, null)
    [502] _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch ViewRowSetImpl.setNamedWhereClauseParam(pUserNr, 41)
    [503] ViewObject: _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch Created new QUERY statement
    [504] _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch>#q computed SQLStmtBufLen: 238, actual=198, storing=228
    [505] Select b.Branch_Nr,Decode(b.status,1,'','*')||b.Branch_Id DisplayId,b.Designation,b.Status
    from stt_branch b, stt_users_branch u
    where u.user_nr = :pUserNr
    and b.Branch_Nr = u.Branch_nr
    order by 4,1
    [506] Bind params for ViewObject: _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch
    [507] For RowSet : _LOCAL_VIEW_USAGE_ch_mit_trac_model_views_codeTables_SttIncotermView_lovUserBranch_0
    [508] Binding null of type 12 for "pUserNr"To me this looks as if 2 lovUserBranch instances have been created a lovUserBranch and a lovUserBranch_0
    The parameter is being binded to the lovUserBranch but the LOV is using the lovUserBranch_0 which has a bind value of null
    Anybody got any idea as to what is happening ?
    Regards
    Paul

  • Call package function in view object

    ok i have a viewobject with a select statement to a table.
    in the where clause i would like to call to a package function,
    how can i do this?

    If you can call the function in a sql statement (i.e. in SQLDeveloper) you can use expert mode in the VO and type in the sql statement there. It should work like in SQLDeveloper.
    Timo

  • How to block first time loading data in View Object for searching

    hi all,
    I am using jdeveloper ADF 11g 2 release. i am making search page. but i make it manually, not use ADF query pannel.
    I drag and drop the adf read only table. it can execute using Lov and date time range using backing bean.
    eg: vo1.setWhereClause(whereClause);
    vo1.executeQuery();
    where clause can change dynamically.
    But my table indicate vo which load it all data first time page loading. I add all tuning performance,but no data option is for insert only. so like that option can make programmatically and can execute query??
    This method I used because of I can not make searching options what I want in ADF query pannel. Is there any way add 3 options but display all table fields??
    hoping help anyone.,thks

    Akash ,
    thanks ur reply.
    how to call that method? I made this method in my AppImpl class
    public void loaddata(){
    ViewObject viewObject = this.findViewObject("EstimateSearchDet_VO1");
    viewObject.executeEmptyRowSet();
    then in my backing bean make this after phase method..
    public void view_afterPhase(PhaseEvent phaseEvent) {
    // Add event code here...
    EstimateSearch_AMImpl amob= new EstimateSearch_AMImpl();
    amob.loaddata();
    BUT it say loaddata() can not find? what should i do?
    in view property After phase include this..
    #{backingBeanScope.backing_EstimateSearchnew.view_afterPhase}
    it is underline and say After phase is not define property.
    thks

  • Creating View Objects for complex query

    Hi All,
    I am trying to create a VO for inner query, but i am not able understand what type of bind variable to select.
    PFB the scenario:
    I have 2 tables, say orders, products
    I am supposed to execute the following query:
    Select * from Orders o, Products p where o.order_id = 123 and p.product_id in (111,222,333.....)
    In the VO when I try to create, I need to create 2 bind variables
    1 for order id and other for product id
    the problem i am facing is selecting the type of the bind variable
    I am selecting "Integer" type for order id bind variable but i am able to understand what should be the bind variable type for the product id.
    I tried to use "Array" type, but in the query it is "= : bindvariable" operator instead of "in (: bindvariable)"
    Also, please note that, the number of product_id is not fixed and is dynamic.
    So my question is:
    what should be bind variable type that should be used (for product_id case)?
    Also, please advice if it is the same way to apply the criteria in AMImpl class.
    Thanks in advance.
    Thanks,
    Varun

    Varun,
    this will not work as you can't use bind variables in sql IN queries.
    Jobinesh has bloged a solution
    http://jobinesh.blogspot.com/2010/12/using-oraclejbodomainarray-with.html and http://jobinesh.blogspot.com/2011/07/tips-on-using-oraclejbodomainarray-as.html
    or my 'trick' explained here http://tompeez.wordpress.com/2011/08/21/extending-viewcriteria-to-use-sql-contains-4/ might help to solve this.
    Timo

  • AFP (Advanced Function Presentation) Viewer needed for 10.4.11 or earlier

    My company uses ".afp" to send documents to employees. I cannot find a viewer for Mac OS that can view these AFP files. The largest problem is that I try to look for "AFP" along with Mac and all I get is Apple Filing Protocol.
    There are quite a few programs for Windoze that will translate AFP to PDF but unfortunately, that doesn't help us Mac users.

    Baltwo,
    Thanks. I'm not hopeful that what you suggest will work in this case. Initially, my system was working fine with 10.4.11. I cloned with CCC and then Installed 10.5 over the existing drive. The install appeared to go well, but on restart, the keyboard was not accepted. I installed all upgrades and repaired permissions using the 10.5 install disk. The keyboard still didn't work.
    I took the computer to the Apple Genius bar and they were about to do an Archive and Install when they noted that my hard drive was "failing". So they went out and replaced the hard drive and installed 10.5.8. It appeared to work fine. I then used Migration Assistant from the clone to the new operating system. I now have the same problem with the keyboard not working on the 10.5.8 hard drive, but working fine when I boot up on the 10.4.11 clone.
    My guess is that there is some 3rd party file or files that are compatible with 10.4.11 but not compatible with 10.5.8.
    If, after repairing with DiskWarrior and Tech Tool Pro, I still have the problem, I'll try what you suggest, but I am not hopeful that it will work. When I clone back tot he 10.5 hard drive, it will bring any problem files with it.
    The next step would be a clean install and then a drag and drop from the clone with a re-install on things that require it. That will be a major undertaking,but I am afraid that I may need to do it.
    Do you have any suggestions for how to find what files might be incompatible with 10.5.8? Is there some way to migrate files in small groups? What if I used Time machine, so that I could easily go back if a Migration step was a problem?
    Thanks again. Your suggestion is a good one and I'll try it, but I already have some indication that it won't work this time.
    Best Regards,
    Dave

  • Simple java class for SQL like table?

    Dear Experts,
    I'm hoping that the java people here at the Oracle forums will be able to help me.
    I've worked with Oracle and SQL since the 90s.
    Lately, I'm learning java and doing a little project in my spare time. 
    It's stand alone on the desktop.
    The program does not connect to any database 
    (and a database is not an option).
    Currently, I'm working on a module for AI and decision making.
    I like the idea of a table in memory.
    Table/data structure with Row and columns.
    And the functionality of:
    Select, insert, update, delete.
    I've been looking at the AbstractTableModel.
    Some of the best examples I've found online (they actually compile and work) are:
    http://www.java2s.com/Code/Java/Swing-JFC/extendsAbstractTableModeltocreatecustommodel.htm
    http://tutiez.com/simple-jtable-example-using-abstracttablemodel.html
    Although they are rather confusing.
    In all the examples I find, there always seems to be
    at least three layers of objects:
    Data object (full of get/set methods)
    AbstractTableModel
    GUI (JFrame, JTable) (GUI aspect I don't need or want)
    In all the cases I've seen online, I have yet to see an example
    that has the equivalent of Delete or Insert.
    Just like in SQL, I want to define a table with columns.
    Insert some rows. Update. Select. Delete.
    Question:
    Is there a better java class to work with?
    Better, in terms of simpler.
    And, being able to do all the basic SQL like functions.
    Thanks a lot!

    Hi Timo,
    Thanks. yes I had gone thru the java doc already and  they have mentioned to use java.sql.Struct, but the code which got generated calls constructor of oracle.jpub.runtime.MutableStruct where it expects oracle.sql.STRUCT and not the java.sql.STRUCT and no other constructor available to call the new implementation and that is the reason i sought for some clues.
      protected ORAData create(CmnAxnRecT o, Datum d, int sqlType) throws SQLException
        if (d == null) return null;
        if (o == null) o = new CmnAxnRecT();
        o._struct = new MutableStruct((STRUCT) d, _sqlType, _factory);
        return o;
    here CmnAxnRecT is the class name of the generated java class for sqlType.
    Thanks again. Please let me know if you have any more clues.
    Regards,
    Vinothgan AS

  • How do I obtain the next number for a Primary Key using an ADF View Object?

    I have two separate View Objects (A & B) for the same Entity Object. View Object A does a SELECT on all of the fields in the table. This View Object is where I execute my adds and updates. View Object B is only used to retrieve the next number for the primary key. This is done so that when I add a row to the database, I always get the max number of the primary key and add one to it. I accomplished this by setting the SQL mode to Expert and using the SQL: "SELECT MAX(NBR) AS MAX_NUMBER FROM TABLE_1". This may be overkill having a seperate View Object for this, but so far this is the only way I have found to obtain the next number. However, I have discovered that this way does not always work.
    The problem I'm running into is when I try to add multiple records to View Object A without committing the transaction between each add. Because View Object B is disconnected from View Object A, the MAX_NUMBER of View Object B comes back with the same number for each add I do on View Object A. So I know I must retrieve the MAX_NUMBER from View Object A.
    I've tried using the following code in my Table1ViewImpl class:
    this.setQuery("SELECT MAX(Table1.NBR) AS MAX_NUMBER FROM TABLE_1 Table1");
    this.executeQuery();
    The view object now has what I want, but I have yet to figure a way to extract the MAX_NUMBER out of the View Object. I've also looked into using the method addDynamicAttribute() but I can't figure out any way to set the attribute with the MAX_NUMBER.
    I can't be the only one trying to retrieve the next number from a database table using ADF. Can anyone help me with this? FYI - I'm using JDev 10.1.3 EA.

    You missing the point.
    On a multi-user db knowing the next highest number doesn't guarantee the number will be available when it comes time to commit the record. You can prove this to yourself by opening two instances of your app and do whatever you do to add a new record to your VO. Both will assume the same number, and when you commit an error will be generated
    You must use sequences to avoid the possibility of duplicate keys. If you are trying to avoid gaps in your numbering then you need to convince yourself why this is necessary.

Maybe you are looking for