ADF - Accessing view object from a button in a window

Hi
I am using Jdeveloper 10.1.3.2.0 to build a Swing/ADF application.
I added a method to a view class to call a database procedure.
I use that view as a base of a jTable to display data in a window.
Now I need to call the method that I created in the view class from a button on the same window where I display the data, ideally using the same db connection.
I am quite new to ADF and I have no idea how to get a reference to the view instance in the button method to call my new method. How can I do that? Is there another way to achieve this?
Thanks!
Luis

You usually do this by creating the method at the application module level and then exposing it as a client method. You can then drag and drop it onto your form as a button.
See details in the ADF Developer Guide chapters 8.3-8.5:
http://download.oracle.com/docs/html/B25947_01/bcservices003.htm#sm0206

Similar Messages

  • Accessing view object class (impl) method from bean (or vice versa)

    Halo everyone, I am using JDeveloper 11.1.2.1.0
    I have a UsersViewImpl class with a method which refresh the user table like below.
    public void resetEmployeeSearch() {
    removeApplyViewCriteriaName("viewCriteria");
    executeQuery();
    and I have a UserBean class with a method which reset the search fields values like below.
    public void resetInput(ActionEvent actionEvent) {
    ........RichInputText = input ...
    input.setValue("");
    AdfFacesContext.getCurrentInstance().addPartialTarget(searchForm);
    I would like to implement it in such a way that, once I press a button, both methods will be called.
    I have tried to call from bean method using UsersViewImpl vs = new UsersViewImpl ..... which is wrong and wont work.
    I have read about doing something like ViewObject vo = am.findViewObject("DeptView1") but I duno how to use it because I cant have a proper example.
    Any suggestion on accessing view object class (impl) method from bean (or vice versa)?
    Or is there any way to combine both method in the same class ?
    Thank you :(

    User, if you get class not found exceptions you need to tell us which classes you can't find. The JSFUtils and ADFUtils classes needing some other libraries which should already be part of your Fusion Web Application template (which your adf application should be based on). If you did not use this application template, you may have to add some libraries yourself.
    What is the diff of using the ADFUtils and OperationBinding way?
    The ADFUtils can get you access to the application module which you then use to call exposed methods on. The disadvantage of doing this is that you have to implement your own exception framework which then handles exceptions thrown by the application module. An other thing is that if you e.g. alter a VO which you use on the page this changes are not seen on the page until you refresh the page. The binding layer does not know about these changes so the iterators (which are used on the page to show the data) are not refreshed and so you don't see the changes.
    In general you should avoid using the application modul in a managed bean method and always use the binding layer (OperationBinding) to call methods. This ensures that exceptions are all handled the same way and that changes to the data model are reflected in the GUI.
    Timo

  • How to execute Custom java data source LOV view object from a common mthd?

    Hi,
    My application contains Custom java data source implemented LOVs. I want to have a util method which gets the view accessor name, find the view accessor and execute it. But i couldn't find any API to get the view accessors by passing the name.
    Can anyone help me iin how best view accessors can be accessed in common but no by creating ViewRowImpl class (By every developer) and by accessing the RowSet getters?
    Thanks in advance.

    I am sorrry, let me tell my requirement clearly.
    My application is not data base driven. Data transaction happens using tuxedo server.
    We have entity driven VOs as well as programmatic VOs. Both are custom java data source implemented. Entity driven VOs will participate in transactions whereas programmatic VOs are used as List view object to show List of values.
    Custom java datasource implementation in BaseService Viewobject Impl class looks like
            private boolean callService = false;
        private List serviceCallInputParams = null;
        public BaseServiceViewObjectImpl()
            super();
         * Overridden for custom java data source support.
        protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
            List dataFromService = null;
            if(callService)
                callService = retrieveDataFromService(serviceCallInputParams);
            setUserDataForCollection(qc, dataFromService != null? dataFromService.iterator(): null);   
            super.executeQueryForCollection(qc, params, noUserParams);
         * Overridden for custom java data source support.
        protected boolean hasNextForCollection(Object qc)
            Iterator<BaseDatum> datumItr = (Iterator<BaseDatum>) getUserDataForCollection(qc);
            if (datumItr != null && datumItr.hasNext())
                return true;
            callService = false;
            serviceCallInputParams = null;
            setFetchCompleteForCollection(qc, true);
            return false;
        }Individual screen developer, who want to load data to VO, will do something like the below code in their VO impl class
        public void fetch()
            BaseServiceViewObjectImpl vo = this;
            vo.setCallService(true);
            vo.setServiceCallInputParams(new ArrayList());
            vo.executeQuery();
        }As these custom java data source implemented LOV VOs comes across the screens, i want to have a util method at Base VOImpl class, that gets the view accessor name, finds the LOV VO instance, retrieves data for that. I want to do something like
         * Wrapper method available at Base Service ViewObject impl class
        public void fetchLOVData(String viewAccessorName, List serviewInputParams)
            // find the LOV View object instance
            BaseServiceViewObjectImpl lovViewObject  = (BaseServiceViewObjectImpl) findViewAccessor(viewAccessorName);
            // Get data for LOV view object from service
            lovViewObject.setCallService(true);
            lovViewObject.setServiceCallInputParams(serviewInputParams);
            lovViewObject.executeQuery();
    Question:
    1. Is it achievable?
    1. Is there any API available at View Object Impl class level, that gets the view accessor name and returns the exact LOV view object instance? If not, how can i achieve it?

  • Call view object from ViewController [SOLVED]

    I'm using a valueChangeListener method in a managed bean, which I'd like to use to call a method on a view object. How can I call the view object from a managed bean class?
    Regards

    Maik,
    It is best practice to create a method on your application module, and have this method manipulate VO's and call VO methods.
    See section 8.5.3.1 in ADF Developers Guide for more info o calling an AM method from a managed bean:
    http://download-west.oracle.com/docs/html/B25947_01/bcservices005.htm#sthref673
    Please use the JDeveloper forum in the future for question like this, that are not related to JHeadstart.
    Steven Davelaar,
    Jheadstart team.

  • Access file object from flex web app

    Hi all,
    I want to access file object from flex web app. What should i do?
    I have to take array from my XML. In XML there will be only dir path. So for taking file name from dir i have to access it and have to perform for loop on that dir.
    What should I do?
    Any Ideas?
    Thanks,
    -CK

    Hi Michael
    My question is that I dont want to give name of images in XML file.
    In XML file there will be only path of image directory. So I need to find all image name from that image directory.
    Thats why I want to access file object.
    Any ideas?    

  • How to access COM+ Objects From JSP

    Friends,
    We have a requirement to access COM+ objects from JSP. Please guide me on this.
    Thanks in advance.
    Tarani

    Sanyam wrote:
    if there is any .dll extension file, how can we read that file in labview?
    You can use Call Library Function node to call that dll file and use it in LabVIEW. Read the help and you will get more details.

  • Accessing java objects from within javascript

    Hello,
    Anyone with an idea of a useful toolkit for accessing java objects from within javascript will be much appreciated.
    Thanks in advance,
    Antana.

    What do you mean by accessing Java objects? Do you mean interacting with an applet via JavaScript? Something else?

  • Accessing an object from a different server

    Hi,
    I am making a program that will access an object from a different server.
    I have a program that when I run calls a jsp page running on Server A which in turn should request an object A from Server B.
    I am relatively new to Java and jsp. What would my best course of action be.
    Thanks in advance,
    Brian

    Or RMI?OK, sounds good, I will look up some RMi on the site.
    Thanks, will prob have more questions for you later.

  • I have a new Macbook pro and need to run some Windows software, it appears "Parallel" should work well from what I've have read. Will I have any issues or problems accessing and printing from various printers on my Windows 7 network within Parallel?

    I have a new Macbook pro and need to run some Windows software, it appears "Parallel" should work well from what I've have read. Will I have any issues or problems accessing and printing from various printers on my Windows 7 network within Parallel? Is Parallel in fact the best way to go?

    First, back up all data immediately, as your boot drive might be failing.
    There are a few other possible causes of generalized slow performance that you can rule out easily.
    Reset the System Management Controller.
    If you have many image or video files on the Desktop with preview icons, move them to another folder.
    If applicable, uncheck all boxes in the iCloud preference pane.
    Disconnect all non-essential wired peripherals and remove aftermarket expansion cards, if any.
    Check your keychains in Keychain Access for excessively duplicated items.
    If you have more than one user account, you must be logged in as an administrator to carry out this step.
    Launch the Console application in the same way you launched Activity Monitor. Make sure the title of the Console window is All Messages. If it isn't, select All Messages from the SYSTEM LOG QUERIES menu on the left. If you don't see that menu, select
    View ▹ Show Log List
    from the menu bar.
    Select the 50 or so most recent entries in the log. Copy them to the Clipboard (command-C). Paste into a reply to this message (command-V). You're looking for entries at the end of the log, not at the beginning.
    When posting a log extract, be selective. Don't post more than is requested.
    Please do not indiscriminately dump thousands of lines from the log into this discussion.
    Important: Some personal information, such as your name, may appear in the log. Anonymize before posting. That should be easy to do if your extract is not too long.

  • Java access to view objects from uix page provider

    I have a java method called from a uix page as follows:
    <dataScope>
       <provider>
           <data name="frameworkTableData">
              <method class="smart.FrameworkAspects"
                      method="getFrameworkStudyAspects"/>
           </data>
       </provider>
    I want the java program to be able to access the bc4j view objects defined on the page. These are:
    <bc4j:registryDef>
      <bc4j:rootAppModuleDef name="SmAspectsBrowseAppModule"
                             definition="smart.Smartbc4jModule"
                             releaseMode="stateful" > 
       <bc4j:viewObjectDef name="SmFrameworksBrowse"
                        rangeSize="0"  />                       
      <bc4j:viewObjectDef name="SmAspectsBrowse"
                          rangeSize="10" />                       
      <bc4j:viewObjectDef name="SmStudyMembersAspectsEdit" />
      </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    I've read through several of the threads on using Configuration.createRootApplicationModule(amDef, config) and it is not clear what it is looking for in the arguments.  It appears that "config" is the name of the app module. I don't know what the amDef relates to.
    Anyway, I can't get it to work.  All I'm trying to do is get at 3 view objects I have defined in my bc4j section and am having trouble getting this to work.
    Any ideas on how to approch this would be much appreciated.
    Thanks, Steve
    Does anyone                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Can you explain how you solved the problem? I have the same. Thanks.

  • Access to a method located in view object from JSP page?

    Hi,
    How can i access a public method which is loacted in view
    object "viewobjectImpl.java" from JSP page.

    Juan,
    Either via Data tags or/and Java embedded code.(<%...%>).
    This method, suppose to execute a stored procedure.
    Thanks

  • Accessing View Object Information from JSP

    Hi!
    I know that my question it's a basic one, but I'm having some problems. Let me start by describing my problem.
    I need to implement an navigation select box to one table (this table will be a result of a query). I'm "building" the select box with a <c:forEach> iterator. Well, the problem starts where:
    <%-- Makes a kind of Math.ceil(double) --%>
    <c:set var="resultInDouble" value="${(binding.estimatedRowCount-1)/binding.rangeSize +1}" />
    <c:set var="resultInDoubleZero" value="${resultInDouble - resultInDouble % 1}"/>
    <fmt:formatNumber value="${resultInDoubleZero}" var="resultInt" pattern="0"/>
    <select name="select" >
    <c:forEach var="SelectBoxItems" begin="1" end="${resultInt}">
    </c:forEach>
    </select>
    As you can see, first I need to calculate the number of "<option> ... </option" I need to put on the select box, and I do that by making an ceil method emulation (for those that doesn't know ceil, it rounds up a division, like 7/3 = 3). To do this ceil I need to call the estimatedRowCount. And that's the problem: when I call estimatedRowCount, the query that I previous made is repeated to calculate the numberOfRows returned. As you can imagine, I don't want to re-execute the query, but only get the number of all rows.
    One solution that I thought, was in the Java Controller File for this page, use the method associated with the ViewObject getRowCount(), that doesn't re-execute the query. With this idea, I would construct the select box with java code, something like this:
    <select name="select" >
    <%
    int ceilResult = Math.ceil(viewObject.getRowCount(),viewObject.getRangeSize());
    for (i = 0;i<ceilResult;i++) {
    %>
    <option> ... </option>
    <% } %>
    </select>
    But with this idea, I hanged with a problem: "How do I in JSP, can "see" the view object?".
    Basically i only need a small example source, that in Java Controller File can get the iterator to make the return of the ViewObject getRowCount method.
    Does anyone have any idea how to solve this problem, or maybe a new approach ?
    Tiago Soares
    P.S. I've already tried some others (attempts of) solutions, but they didn't worked. I didn't posted their description, because I was afraid that anyone would read this post, because of the size of it. :)

    First of all, please stop reposting this question. Post it once and someone will probably reply to it.
    Secondly, you can expose methods of a view object through it's dialog (I think) or you will have to do it in the Application Module.. But it may suit your need better to create a transient column on you VO (one that exists only in memory) and store your value in that.

  • Error in Creation of a New View Object from Existing Entites

    I define a Complex JOIN in the expert mode of the View Object Creation Mode. On trying to access the VO, the system returns an error, unable to creat View Objecy.
    THe SQL Statement begins with
    SELECT * from ( select ...My actual Query)
    Is it possible to define ur own view objects with the same flexibility as the Data Tables

    Hi Saket,
    Following will be required for created a custom business object.
    1. Object Type - ZTEST (Internal Techincal Key)
    2. Object Name - ZTESTNAME (Technical Key Name)
    3. Name - TEST (Name of BO, it is used while selecting the object type)
    4. Description - (Short Description of BO)
    5. Program - ZTESTPROGRAM (ABAP program in which the methods of the object type are implemented)
    6. Application - A or B.. etc (Area to which your BO is related)
    Please remember that you can learn these basic things by giving F1 help on those fields and in HELP.SAP.COM.
    Regards,
    Gautham Paspala

  • ADF BC View Objects: Disappearing where clauses

    Playing around with the 11g Technical Preview I find out that sometimes the where clauses - added to View Objects by means of the new "Join Type" field in the VO-editor UI - disappear.
    I'm not able to reproduce exactly and "on demand", but it seems to happen when the sources of more than one View Object are open simultaneously and/or the XML definition of a View Object is edited directly on the Source-tab.

    Today I succeeded in reproducing:
    Two tables:
    TAB_MASTER:
    ID NUMBER NOT NULL
    DESCRIPTION VARCHAR2 NOT NULL
    TAB_DETAIL:
    ID NUMBER NOT NULL
    MASTER_ID NUMBER NOT NULL
    DESCRIPTION VARCHAR2 NOT NULL
    TAB_DETAIL.MASTER_ID is a foreign key referencing TAB_MASTER.ID.
    Steps to reproduce:
    1. Generate default ADF BC objects from database tables.
    2. Open definition of TAB_DETAIL View Object.
    3. Go to the Entity Objects tab
    4. Add TAB_MASTER Entity Object to the Selected Entities Objects. Association and Join Type are filled in automatically.
    5. Go to the Query tab and go to SQL tab in de Property Inspector. Where clause is filled.
    6. Go to the Attributes tab and click Add from Entity...
    7. Add TAB_MASTER.DESCRIPTION attribute.
    8. Again, go to the Query tab and go to SQL tab in de Property Inspector. Where clause is still filled.
    9. Go to the Attributes tab and select MASTER_ID attribute.
    10. Click icon to add List Of Values
    11. In List Of Values dialog add View Object TAB_MASTER and add the correct pairs of List Return Values for the ID and (MASTER) DESCRIPTION attributes.
    12. After completing the List Of Values dialog go to the Query tab -> SQL tab again. The where clause added to join the Entity Objects (see step 5.) is cleared, resulting in a wrong SQL statement for the View Object.

  • Connecting ADF BC view object w/ param to a JSF Table?

    I'm brand new to JDev so this is probably an easy one, I'm still trying to grasp some of the concepts: I have created an application module that has one view object containing a simple parameterized query (page is a simple search form - user enters keywords - I pass keywords to database and return results.) This Data Control shows up in the Data Control Palette and I am able to associate this with a table on the JSF page. Where I'm struggling is how / where do I tell JDev to bind the query parameter? In the examples from the help files, they show in the Data Control Palette a method with parameters. My Data Control Panel just shows the application module labeled as a Data Control with no parameters? In the Application Module (where I have defined the parameterized SQL stmt), in the Client Interface menu item, there are no methods available. Do I need to create the method even if I don't want to override the default functionality? Any help appreciated.
    Also, many of the tutorial and examples look like they use the EJB/Toplink approach - are there good examples or tutorial for using ADF BC and ADF Faces?
    Thanks. BTW - this product looks awesome so far! I was using myEclipse - this product is light years ahead.

    This new 10.1.3-production JSF/ADFBC tutorial covers a lot of ground and includes an example of building the search page that you're trying to build, too :-)
    http://otn.oracle.com/obe/obe1013jdev/masterdetail_adf_bc/master-detail_pagewith_adf_bc.htm
    The trick is noticing that a View Object with named bind parameters includes an additional built-in operation in its "Operations" folder called ExecuteWithParams. Dropping this operation onto your page gives you the choice of creating a "Parameter Form" for your VO's bind variables. If you then drop the VO as a readonly table to the same page and run the page, you are done. :-)
    Try to do that in Eclipse in two drag-drop operations! ;-)
    It warms my heart to hear you say that about JDeveloper versus Eclipse... Really makes my day!

Maybe you are looking for

  • Create a tree from a resultset

    Hi, I need to create a tree structure from a resultset and show them into my JSP. Here is my table sql (grup). CREATE TABLE GRUP ( ID_GRUP int(11) NOT NULL default '0', ID_GRUP_PARENT int(11) NOT NULL default '0', ORDER_BY int(11) NOT NULL default '1

  • Multiple Query Execution Order

    Is there any way to dictate the order in which multiple queries run? Example, I have: Q1 Q2 Q3 They are not linked and there no master query. Any way to tell Q3 to execute first, then Q1, then Q2? Message was edited by: capital_city

  • No country information has been maintained for IQ

    Hi Guys We have recently enabled the Embargo service , now when the Purchase Order is being created its getting blocked in embargo for the entirely wrong reason. When checking the Customs document log in GTS i see that its blocked in embargo because

  • Previous window opens when opening a new window

    When I have a number of windows open, and am looking at, say the third window and wish to open a new window, the last window in the sequence opens just before the new window. Although the new window will be on screen, as soon as I close the new windo

  • Using stamps in pro 9 destroying file

    I am still having a problem with some pdf files.  I opened one, did the optimizer, saved it, closed acrobat, re-opened the file, put a stamp on a couple of pages, did save as. closed reopened and now the file consists of blank pages!!!  Is there a bu