Read a view Object parameter value

can anyone tell me how to read a View Object parameter value from inside a DODML()?
Thanks

Please help us to understand the use case better. Can you please details the scenario? Are you looking for the bind variable value used for querying ?

Similar Messages

  • ADF View Criteria on a Read Only View Object

    Hi,
    I have created a read only view object using a query. The query consists of analytical functions to fetch the AVG values dynamically.
    So far my approach worked fine.
    I want the Average values in my query to be calculated dynamically based on the certain view criteria.
    But after applying view criteria, my query is formulated as shown below:
    SELECT * FROM (SELECT   RECEIVED_YEAR,
               WEEK_NO,
               NO_RECEIVED,
               NO_STARTED,
               ROUND (TO_NUMBER (REPLACE (AVG_HRS_TO_START, ':', '.')),2) AVG_HRS_TO_START,
               ROUND (AVG (TO_NUMBER (REPLACE (AVG_HRS_TO_START, ':', '.'))) OVER (ORDER BY RECEIVED_YEAR),2)              OVERALL_AVG_HRS,
               GOAL_HRS,
               ROUND (AVG (NO_STARTED) OVER (ORDER BY RECEIVED_YEAR), 2) AVG_NO_STARTED,
               ROUND (AVG (NO_RECEIVED) OVER (ORDER BY RECEIVED_YEAR), 2) AVG_NO_RECEIVED
               FROM ORDERS_RCPT_TO_START_VW
    ORDER BY RECEIVED_YEAR, WEEK_NO) QRSLT  WHERE ( ( ( ( (RECEIVED_YEAR = :RecdYear ) AND (WEEK_NO <= :weekNo ) ) ) ) )
    As per this query, it is calculating the Average values first and then applying filter criteria rather than applying the filter criteria and calculating average values.
    Please help me on this.

    Entity objects are used to update/delete/insert data to the database.
    If all your base DB object offers is read then just create a read only view object.

  • Partial read-only view object. How to make it work?

    Hello,
    is there a way to have a "partial" read-only view object, where some attributes are based on an EO and some others are extracted directly from a table with no corresponding EO?
    On this view-object it should be possible to perform row insertions from an af:table, in a way that, after validation (i.e. a row selection change), the values on the attributes not based on the EO do not get lost, even if they do not have any attributes based on an EO.
    On the other hand, if I use fake EO attributes ($none$) for those read-only attributes, their values will not gest lost after validation of the new interted rows, but in this case, when the table is first rendered on the page, the table shows empty values on those items, probably because the EO attributes are empty when the query is performed.
    Note that It seems I cannot use Transient attributes where their value is calculated with a SQL statement, since it would mean I would have to perform an heavy SQL statement for every transient attribute.
    Is there any other solution, I hope the problem is clear.

    That solution does not cover the case where an attributed of one entity used as reference is calculated from a SQL expression with parameters involving the remaining attributes of the same entity.
    For example consider a reference-only entity based on a table with one field T(COD). This entity has one more attribute other than COD itself, CALCULATED_VALUE.
    How can I bind the attribute CALCULATED_VALUE to a SQL expression which is a function of COD: MyDBPackage.GetValue(COD, :environment), where :environment is bind variable?
    The frameowork always give me JBO-exception , asking to specify IN or OUT for the variable.

  • Read-Only view object won't give me it's row

    Hi,
    I have a read only view object which when executed has one row in it, but the next method returns null.
    this is my code in the AM:
        public Row getPerson() {
            Row row = null;
            ViewObject vo = getPersonsView1();
            vo.setNamedWhereClauseParam("p_login_id", getUserPrincipalName());
            vo.executeQuery();
            System.out.println("rows:" + vo.getEstimatedRowCount());
            if (vo.hasNext())
               row = vo.next();
            return row;  
        }and the console log:
    06/09/15 10:37:57 [513] select person_id,
    login_id,
    orig_system_id,
    person_type,
    title,
    preferred_name,
    preferred_name ||' '||surname full_name,
    first_name,
    other_names,
    surname,
    phone_work,
    email_address
    from sys_persons
    where person_type = 'Staff'
    and login_id = :p_login_id
    06/09/15 10:37:57 [514] Bind params for ViewObject: PersonsView1
    06/09/15 10:37:57 [515] Binding null of type 12 for "p_login_id"
    06/09/15 10:37:57 [516] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    06/09/15 10:37:57 [517] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    06/09/15 10:37:57 [518] **** refreshControl() for BindingContainer :rft_ConsolePageDef
    06/09/15 10:37:57 [519] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    06/09/15 10:37:57 [520] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    06/09/15 10:38:00 [521] Column count: 12
    06/09/15 10:38:00 [522] ViewObject: PersonsView1 Reusing defined prepared Statement
    06/09/15 10:38:00 [523] Bind params for ViewObject: PersonsView1
    06/09/15 10:38:00 [524] Binding param "p_login_id": banstey
    06/09/15 10:38:00 rows:1
    Source breakpoint occurred at line 38 of SystemServiceImpl.java.Note above System.out.println("rows:" + vo.getEstimatedRowCount()); returns:
    06/09/15 10:38:00 rows:1
    but when i debug with a break point in the above method if (vo.hasNext()) returns false.
    I have tried doing row = vo.next(); without the if statement, but row still evaluates to null.
    The VO returns one record in the BC4J tester and I have this exact method and VO defined in another project and it works there. Tearing my hair out with this one...
    Brenden

    try RowSetIterator instead,
    RowSetIterator it = vo.createRowSetIterator("myIt");
    if(it.hasNext())
    MyVORowImpl row = (MyVORowImpl)it.next()
    //don't forget close the RowSetIterator
    I guess you use the VO.next(), but the current row of the VO is the one you get from db, and his next is null...

  • Finding Application Module name in read-only view object classes

    Hi all,
    I have a fairly basic question about finding application module name when we are coding in ViewObject java classes.
    I want to know how can I obtain <<application module>> NAME that our current view object is contained in it at run-time. I think there should be a way to find current application module NAME, when we are in ViewObject classes including View Object, View Row or view object definition classes (I've overridden all mentioned classes).
    I should notify that since our view object is read-only I may not count on view object's entity classes, coz as you know a read-only view object don't have any entity in it!
    So, if you have any idea about finding current application module name in view object java classes please let me know.
    Appreciate for your replies,
    Nasser

    Thanks guy, it was helpful:)
    Now i can access application module name through viewObject classes.
    But another question is raised...sorry if i m boring:( I promise its the final question ;)
    Is there a way to get application module name in an extended version of JboException class?
    Thanks again for your reply:)
    Nasser

  • Adding/deleting rows from a treeTable with a read-only view object

    Hello --
    I'm getting a JBO-25016 error when I go to delete a row from a treeTable. I want to create the hierarchy from a stored procedure, have the user add and remove nodes without calling back to the database. I will iterate through the tree and see what has changed and made the necessary updates on the database manually.
    What is the correct method for adding/removing rows form the UI component?
    Thanks!
    Tom

    Thank you, Amit! That did the trick.
    Edited by: Tom on Apr 28, 2011 11:51 AM

  • Read Query String Parameter Value in SSRS

    Hi,
    We have Project Server 2010 and Sharepoint Server 2010 env and using SSRS 2008 R2 for reporting purpose in Native mode.
    Here I am displaying the SSRS Project report in Project Server page using Report Viewer web part like below.
    Here I want to read projuid query string parameter value (Highlighthed above in URL ) in SSRS by using any way, so that I can pass that
    projuid value in my SSRS report parameter to filter and make this report dynamic.
    Right now I have to select the ProjectName (Label) which passes ProjUID
    as value from the Parameter, but I want it should read the projuid
    from URL so that this reports will display the project the data for the opened Project automatically
    Thanks and let me know in case we can achive this using OOTB or some custom functions.

    Hi,
    For the report parameter, you can get the value from database query or some embedded funcitons etc. or even some customerized function.
    You may consider to create your own code for the report to read the projuid from application or URL. The customer code can be used to get the values from the applicaiton or from the url etc. Then report can call the customer code function to get the value.
    refer link
    https://technet.microsoft.com/en-us/library/ms155798(v=SQL.100).aspx
    https://support.microsoft.com/kb/920769?wa=wsignin1.0
    Thanks,

  • Reading POST-Request-Parameter-Values from WebDynPro now possible?

    Hello,
    in the past I always was disappointed that in WebDynPro there was no way to read POST-request-parameter-values directly after the call of a WebDynPro-Application.
    The only (documented) way to read / transfer request-data into an WebDynPro-application was via "URL query string parameters" in the request URL.
    The last week I forgot this restriction. I called my WebDynPro-application using a POST-Request-Parameter (cookie_guid) instead of an URL-parameter.
    After noticing my mistake, I was really surprised that the WebDynPro could read / shows the the POST-Request-Value.
    I didn't make any changes in the coding of my WebDynPro-Application (zvis_show_sso_cookie).
    After this cognition I built the following simple HTML-formular to analyse the behavior of the WebyDynPro by calling it with an URL-Parameter (cookie_guid=Url-GUID) together with the POST-Parameter (cookie_guid = Post-Value-GUID).
    After calling the WebyDynPro it reads / shows the "POST-Value" of the request !!!
    (Remark: If I made a simple refresh or type directly the URL "http://hg10762.vis-extranet.de:1080/sap/bc/webdynpro/sap/zvis_show_sso_cookie?sap-language=DE&cookie_guid=Url-GUID" in the browser, the same webdynpro reads / shows the URL-Parameter-Value).
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    </head>
    <body>
    <form method="post" action="http://hg10762.vis-extranet.de:1080/sap/bc/webdynpro/sap/zvis_show_sso_cookie?sap-language=DE&cookie_guid=Url-GUID">
      <table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
        <tr>
          <td align="right">Cookie_GUID:</td>
          <td><input name="cookie_guid" type="text" size="30" maxlength="30" value="Post-Value-GUID"></td>
        </tr>
        <tr>
          <td>
            <input type="submit" value=" Absenden ">
            <input type="reset" value=" Abbrechen">
          </td>
        </tr>
      </table>
    </form>
    </body>
    </html>
    My questions:
    I there any documentation that describes the behavior of  WebDynPro after calling it by using POST-Parameter values?
    I believe in the past it wasn't possible to read POST-request-parameter-values in WD. Has SAP changed the functionality?
    Is the behavior I described in my example above mandatory?
    Regards
    Steffen

    As far as i know in general HTTP request  GET method is standard but in SAP POST is standard.  All the client request is passed as POST to the server in order to avoid the URL parameter length restriction in GET method.

  • Possible?Multi-Entity View Object with one Entity Object that is Read-only.

    I know this sounds crazy, but I would like to create a multi-entity view object, where one entity object is based on a table in my application (we'll call it "Users", which basically stores the primary key for the person from the institutional people database), and the other table is a entity object based on a view of the institutional people database table (read only access), which we can call "People".
    I know that since no updates will be done to the People table, it really should be a read-only View Object, but I would lose the ability to sort on attributes like Last Name, Hire date, etc, since those would be transient attributes in my ViewObject for the Users. By having People as an entity object, I can then create a multi entity view object and have the ability to join Users to People and be able to sort on the above mentioned fields (like Last Name).
    The problem is that when I use the JDev (I'm currently using 10.1.2.1) AppModule BC4J tester, when I click on the multi-entity view object that I added to the AppModule it gives me an error:
    oracle.jbo.RowCreateException) JBO-25017: Error while creating a new entity row for People.
    ----- LEVEL 1: DETAIL 0 -----
    (java.lang.InstantiationException) null
    I have tried to change all the attributes to updateable in my entity object, but no create method, and I have tried to make them all read-only, but no effect, I get the same error (probably because the People view is read-only in my schema).
    Is there a way to change the entity object so that it will not try to create a new row when it runs the Tester? So that the multi entity view object behaves more like a view link, but gives me the added bonus of being able to sort on the Last Name column from the People table?
    Thanks for any help on this subject...at worst, I will have to use the view link method to get the job accomplished, but it would be "cooler" if this would work!
    Jeremy.

    Steve, thanks for your quick response to my question.
    To answer your questions, I was trying to create the Multi-entity View Object to give me more flexibility when working with my User table, and my People view. The flexibility I desired was that I would be able to sort my Users based on attributes in the People view. This is not possible when the there is only one Entity in my VO, and the People view data are all transient attributes, because they are not in the SQL statement.
    Ultimately, after working with one of my colleagues, we decided to use the approach that you mentioned by creating a read-only VO with the SQL query we want to display to the user (contains both User and People data fields), and then use a different ViewObject when performing other actions on the User Table (such as inserts/updates/deletes). By using the setWhereClauseParam() method in the handleLifeCycle() for the JSP page, we should be able to navigate between the different View Objects, so that the user does not see any difference.
    Thanks! Oh, and by the way, I have read your article you included before, and I have used it many times before to tune my View Objects! Thanks!

  • Problem with in-memory filtering: JBO-25016: View object is read only

    Hello,
    I have problem with implementation of Steve's Muench example #71 - Dropdown Lists in Table with Different Choices per Row.
    Source for the list is a read only view object.
    Invoking viewObject.findByViewCriteria throwing:
    javax.faces.el.EvaluationException: oracle.jbo.ReadOnlyViewObjectException: JBO-25016: View object ... is read only.
    What's wrong?
    Rado
    Error stack:
    Caused by: oracle.jbo.ReadOnlyViewObjectException: JBO-25016: View object ... is read only.
         at oracle.jbo.server.ViewDefImpl.newInstance(ViewDefImpl.java:991)
         at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:2784)
         at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1271)
         at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:1869)
         at oracle.jbo.server.ViewRowSetImpl.makeRowCopy(ViewRowSetImpl.java:1546)
         at oracle.jbo.server.ViewRowSetImpl.insertRowAtInternal(ViewRowSetImpl.java:1667)
         at oracle.jbo.server.ViewRowSetImpl.findByViewCriteria(ViewRowSetImpl.java:4126)
         at oracle.jbo.server.ViewObjectImpl.findByViewCriteria(ViewObjectImpl.java:7033)
    My code:
    public RowIterator selectDetails(String code) {
    ViewObject vo = getVO();
    if (!vo.isExecuted()) {
    vo.setQueryMode(ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES);
    vo.executeQuery();
    vo.last();
    vo.setQueryMode(ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
    ViewCriteria vc = vo.createViewCriteria();
    ViewCriteriaRow vcr = vc.createViewCriteriaRow();
    vcr.setAttribute("Code", "='"+code+"'");
    vc.add(vcr);
    vc.setCriteriaMode(ViewCriteria.CRITERIA_MODE_CACHE);
    return vo.findByViewCriteria(vc,-1,ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
    }

    check attribute settings of your VO...
    the attribute for wich you set view criteria must be set to queryable and updatable - always

  • How to create dynamic View Object and Dynamic Table

    Dear ll
    I want to create a dynamic view object and display the output in a dynamic table on the page.
    I am using Jdeveloper 12c "Studio Edition Version 12.1.2.0.0"
    This what I did:
    1- I created a read only view object with this query "Select sysdate from dual"
    2- I added this View object to the application module
    3- I created a new method that change the query of this View object at runtime
        public void changeVoQuery(String dbViewName) {
            String sqlstm = "Select * From " + dbViewName;
            ViewObject dynamicVo = this.findViewObject("DynamicVo");
            if (dynamicVo != null) {
                dynamicVo.remove();
            dynamicVo = this.createViewObjectFromQueryStmt("DynamicVo", sqlstm);
            dynamicVo.executeQuery();
    4- I run the application module for testing the method and I passed "Scott.Emp" as a parameter and the result was Success
    5- Now I want to show the result of the view on the page, so I draged and dropped the method from the data control as a parameter form
    6- I dragged and dropped the view Object "DynamicVo" as a table and I choose "generate Column Dynamically at runtime". This is the page source
    <af:panelHeader text="#{viewcontrollerBundle.SELECT_DOCUMTN_TYPE}" id="ph1">
            <af:panelFormLayout id="pfl1">
                <af:inputText value="#{bindings.dbViewName.inputValue}" label="#{bindings.dbViewName.hints.label}"
                              required="#{bindings.dbViewName.hints.mandatory}"
                              columns="#{bindings.dbViewName.hints.displayWidth}"
                              maximumLength="#{bindings.dbViewName.hints.precision}"
                              shortDesc="#{bindings.dbViewName.hints.tooltip}" id="it1">
                    <f:validator binding="#{bindings.dbViewName.validator}"/>
                </af:inputText>
                <af:button actionListener="#{bindings.changeVoQuery.execute}" text="changeVoQuery"
                           disabled="#{!bindings.changeVoQuery.enabled}" id="b1"/>
            </af:panelFormLayout>
        </af:panelHeader>
        <af:table value="#{bindings.DynamicVo.collectionModel}" var="row" rows="#{bindings.DynamicVo.rangeSize}"
                  emptyText="#{bindings.DynamicVo.viewable ? 'No data to display.' : 'Access Denied.'}"
                  rowBandingInterval="0" selectedRowKeys="#{bindings.DynamicVo.collectionModel.selectedRow}"
                  selectionListener="#{bindings.DynamicVo.collectionModel.makeCurrent}" rowSelection="single"
                  fetchSize="#{bindings.DynamicVo.rangeSize}" filterModel="#{bindings.DynamicVoQuery.queryDescriptor}"
                  queryListener="#{bindings.DynamicVoQuery.processQuery}" filterVisible="true" varStatus="vs" id="t1"
                  partialTriggers="::b1">
            <af:iterator id="i1" value="#{bindings.DynamicVo.attributesModel.attributes}" var="column">
                <af:column headerText="#{column.label}" sortProperty="#{column.name}" sortable="true" filterable="true"
                           id="c1">
                    <af:dynamicComponent id="d1" attributeModel="#{column}"
                                         value="#{row.bindings[column.name].inputValue}"/>
                </af:column>
            </af:iterator>
        </af:table>
    when I run the page this error is occured
    <Nov 13, 2013 2:51:58 PM AST> <Error> <oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter> <BEA-000000> <ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.ELException: java.lang.NullPointerException
    Caused By: java.lang.NullPointerException
    Can any body help me please
    thanks

    Have you seen Shay's video https://blogs.oracle.com/shay/entry/adf_faces_dynamic_tags_-_for_a
    All you have to do is to use the dynamic table to get your result.
    Timo

  • ExecuteWithParameter with Binds on several view objects

    I thought I knew how to do this, but it has been a month or two, and can't seem to get the syntax right. I would really appreciate some guidance on this.
    I'm using jdev 11 to create a basic page using ADF Faces. In the model, I have three seperate read only view objects based on queries I created in SQL Developer. I also have two lookup tables for use in LOVs to display names for IDs. In one of the views, I added two LOVs for id columns. I have one more lookup that displays name, id for Tech's.
    All three views have the same named bind variable - :TechID
    What I want is to have a single select box that displays the name column from Tech that will return the ID for TechID. When the user clicks the ExecuteWithParms, all three views should be refreshed and re-queried with the new bind value, and display the results. To see this work, I have been working with readonly tables, but eventually hope to use graphs for the three views.
    Here is the general layout that I am trying to achieve.
    Select One Choice (List of Techs with display set to name, and the return set to ID)
    ExecuteWithParams button. Currenly have table1, table2, table2 in the partialtriggers field.
    table1
    ViewObject1 that has a named bind of :TechID
    table2
    ViewObject2 that has a named bind of :TechID
    table3
    ViewObject3 that has a named bind of :TechID
    This seems like it should be easy to setup. Can this be done declaratively, or do I need code. If I need code, can I get a few hints?
    Is there an example that has something similar that I can gleen how to accomplish this?
    Thanks, Ken

    Timo et al,
    I still can't seem to get this to work. I finally worked through a problem with JDeveloper working (Feels like it has been April 1st for a week straight! (American Humor)). In trying to simplify this, I am asking if someone can create the following example use case based on the HR schema. I'm not asking for a paper, just 15 or so minutes from someone that is good at this to create a working example. Also, send me a zipped copy of the project, or make it available on your blog or other downloadable location.
    Thanks for any help with this to really understand how to get JDeveloper to work for me.
    Here are the specifics for a Highly desired example:
    This is based on HR schema.
    Read Only View Objects
    -- LOCATION_LKUP
    select
    (street_address || ' ' || city || ', ' || state_province || ' ' ||to_char(postal_code) || ' ' || country_id) as location_name,
    location_id
    from
    locations
    order by country_id, location_name;
    -- ViewObject DepartmentStuffView
    select *
    from departments
    where location_id = :LOC_ID;
    -- ViewObject EmployeeStuffView
    select * from employees
    where department_id in (select department_id
    from departments
    where location_id = :LOC_ID);
    -- Modify the AppService and ViewObjects to expose Java code to
    -- modify the (name)Impl.java file
    AppService Code
    public void updateViews(String locationID) {
         // Get a reference to the ViewObjects
    DepartmentStuffView vo1 = (DepartmentStuffView) getDepartmentStuffView1();
    EmployeeStuffView vo2 = (EmployeeStuffView) getEmployeeStuffView1();
         // Now have each view object requery itself with the new parameter
    vo1.updatewithParam(locationID);
    vo2.updatewithParam(locationID);
    ViewObject Code
    -- In both ViewObjects
    -- (DepartmentStuffViewImpl.java and EmployeeStuffViewImpl.java),
    -- add the following code at the bottom
    public void updatewithParam(String locationID) {
         setTechID(locationID);
         executeQuery();
    Layout:
    Location Name: ComboBox <== Displays LOCATION_NAME, Returns LOCAION_ID
    <Run Report> <== Button to run the process
    Table1
    The view object DepartmentmentStuffView
    Table2
    The View Object EmployeeStuffView
    Expected Behavior:
    Change the location in combo box and press the run report button.
    The data in both views with bind variables get updated.
    Extension:
    Page can have search with multiple filters. The AppService can control
    which views get updated with which values depending on selections. Common
    use case.
    Thanks so much, Ken

  • How to reference the Parent view Object attribute in Child View object

    Hi , I have the requirememt to generate Tree like struture to display Salary from joining date to retirement date in yearly form.I have writtent two Pl/SQL function to return parent node and child nodes(based on selected year).
    1.First function --> Input paramter (employee id, retirement date , joining date) --> return parent node row with start_date and end_date
    2. 2nd function --> input paarmter(employee id, startDate, end_date) --> return child node based on selected parent node i.e. start date and end date
    I have created two ADF view object based on two function return
    Parent Node --> select * from Table( EUPS.FN_GET_CONTR_SAL_BY_YR(employeeId,retirement Date, dateOf joining)) ;
    Child Node --> select * FROM TABLE( EUPS.FN_GET_CONTR_SAL_FOR_YEAR( employeId,startDate, endDate) ) based on selected parent node.
    I am giving binding variable as input for 2nd function (child node) . I don't know how to reference the binding variable value in child view from parent view.
    Like I have to refernce employeId,startDate, endDate values in 2nd function from parent view object. some thing like parentNode.selectedStart_date parentNode.employeeId.
    I know we can achive this writing the code in backing bean.But i want to know how can we refernce parent view object attribute values in child view object using Groovy or otherway?
    I will appreciate your help.
    Thanks

    I have two view com.ContractualSalaryByYearlyView for Parent Node and com.ContractualSalaryByYearlyView for child Node.
    I have created view link(ContractualSalYearlyByYearViewLink) betweem two view by giving common field empId, stDate , endDate.(below is the view link xml file).
    I tried give the binding attribute values using parent object reference like below in com.ContractualSalaryByYearlyView xml file but getting error
    Variable ContractualSalaryByYearlyView not recognized.I think i am using groovy expression.
    Thanks for quick response.
    com.ContractualSalaryByYearlyView xml
    <ViewObject
    <DesignTime>
    <Attr Name="_isExpertMode" Value="true"/>
    </DesignTime>
    <Variable
    Name="empId"
    Kind="where"
    Type="java.lang.Integer">
    <TransientExpression><![CDATA[adf.object.ContractualSalaryByYearlyView.EmpId]]></TransientExpression>
    </Variable>
    ContractualSalYearlyByYearViewLink.xml file
    <ViewLinkDefEnd
    Name="ContractualSalaryByYearlyView"
    Cardinality="1"
    Owner="com.ContractualSalaryByYearlyView"
    Source="true">
    <DesignTime>
    <Attr Name="_finderName" Value="ContractualSalaryByYearlyView"/>
    <Attr Name="_isUpdateable" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
    <Item
    Value="com.ContractualSalaryByYearlyView.EmpId"/>
    <Item
    Value="com.ContractualSalaryByYearlyView.StDate"/>
    <Item
    Value="com.ContractualSalaryByYearlyView.EndDate"/>
    </AttrArray>
    </ViewLinkDefEnd>
    <ViewLinkDefEnd
    Name="ContractualSalaryForYearView"
    Cardinality="-1"
    Owner="com.ContractualSalaryForYearView">
    <DesignTime>
    <Attr Name="_finderName" Value="ContractualSalaryForYearView"/>
    <Attr Name="_isUpdateable" Value="true"/>
    </DesignTime>
    <AttrArray Name="Attributes">
    <Item
    Value="com.ContractualSalaryForYearView.EmpId"/>
    <Item
    Value="com.ContractualSalaryForYearView.StDate"/>
    <Item
    Value="com.ContractualSalaryForYearView.EndDate"/>
    </AttrArray>
    </ViewLinkDefEnd>

  • ADF - View Objects

    Hi All,
    We are working on building a web application using on ADF.
    The landing page of our application is a dashboard screen that is read-only with 100 to 500 records displayed in a table.
    User can move to other pages and create requests.
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Please suggest.

    Hi,
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Note that premature optimization can be contra-productive and often is the root of all evil. In other words, as long as you don't experience performance problems, I would let the framework do its job - so be careful wanting too much without a reason. Anyway, to clear the entity cache (and this is the only memory you need to bother for) you can call  <ApplicationModuleInstance>.getTransaction().clearEntityCache(String entityName);
    clearEntityCache
    public void clearEntityCache(java.lang.String entityName)
    Clears the cache of the specified Entity Object. A value of null clears the caches of all Entities. If a View Object uses the Entity Object, the View Object's cache will be cleared as well.
    Parameters:
    entityName - the name of the entity whose cache is to be cleared. If null, caches for all entities are cleared.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Passivation is for pending changes only and not for all queried data. You define passivation on the AM level and you can switch it off there. In this case I suggest you use an Application Module that speacifically holds the dashboard queries.
    Since performance is your concern I recommend you reading:
    Advanced View Object Techniques - 11g Release 1 (11.1.1.7.0)
    Tuning Application Module Pools and Connection Pools - 11g Release 1 (11.1.1.7.0)
    Frank

  • How to create LOV not based on a View Object attribute?

    Hi,
    I am creating a handed-made search form and I want to create an af:inputListOfValues.
    I have :
    - a read-only-view-object to get the LOV values from BD.
    - af:inputListOfValues tag (droped from Component Palette).
    How can I create the listOfValuesModel in Bindings layer? (the inputListOfValues is not based on a View Object attribute).

    Sorry, I think I am not very clear in my posts.
    My requirement is to create a LOV but I have no ViewObject. I just want an input (not based on a view object attribute), alone, but with a LOV (where lov's datas are get from a view object).
    In a "normal" LOV I would have something like this :
    in jsff :
    <af:inputListOfValues id="departmentIdId"
                                popupTitle="Search and Select: #{bindings.DepartmentId.hints.label}"
                                value="#{bindings.DepartmentId.inputValue}"
                                label="#{bindings.DepartmentId.hints.label}"
                                model="#{bindings.DepartmentId.listOfValuesModel}"
                                required="#{bindings.DepartmentId.hints.mandatory}"
                                columns="#{bindings.DepartmentId.hints.displayWidth}"
                                shortDesc="#{bindings.DepartmentId.hints.tooltip}">
            <f:validator binding="#{bindings.DepartmentId.validator}"/>
            <af:convertNumber groupingUsed="false"
                              pattern="#{bindings.DepartmentId.format}"/>
          </af:inputListOfValues>in pageDef :
    <listOfValues StaticList="false" IterBinding="EmployeesView1Iterator"
                      Uses="LOV_DepartmentId" id="DepartmentId"/>in model layer : a view object (EmployeeView) with view accessor and LOV based attribute, and a read only view object (DepartmentRVO) to get datas for the LOV.
    But in my case I have no ViewObject, so I don't know how to create the listOfValuesModel in fragment pageDef.
    I have :
    <af:inputListOfValues label="Label 1"
                                    popupTitle="Search and Result Dialog"
                                    id="ilov1" model="here I want to point to a listOfValuesModel but I don't know how to create it"/>in pageDef : the listOfValuesModel but I don't know how to create it.
    in model layer : just a read only view object (like DepartmentRVO), to get the datas for the LOV.
    Edited by: h0s on 29 févr. 2012 00:31

Maybe you are looking for

  • Random segfaults when doing an xupdate at the container level

    I am having an error where updates to a container are causing segfaults in weird ways. I am on 2.4.16 with the latest patch applied. my query is attempting to mark a node as 'empty'... > for $q in collection('dbxml:/rx.dbxml')//results[text()="http:/

  • I have finally finished my lightbox

    I finally got my LB working in IE i had to sacrifice the fade in effect and give IE its own code for many things. anyway 2 problems remain perhaps someone ca give suggestions 1) in the corner of the faded area the corners dont quite line up with the

  • How to do LDAP/OID as datasource in OBIEE

    We have a requirement to read data from LDAP in the repository and expose the imported structure to business model and inturn in presentation area. So that we can create simple OBIEE report using the LDAP data. 1. How to add LDAP as datasource/databa

  • New tables in 12.1

    Hi We are working on the migration of Studio 11.5 to 12.1 . While creating the Library table names we are seeing the below two additional tables in 12.1. Please let us know the significance of the below tables. User Table Common Fields Table Do we ne

  • Adjacent audio tracks

    Hello all. When I add an audio track to my project, an empty video track gets added too. Is there a way to stop this from happening? Likewise, is there a way of adding extra video tracks without them being accompanied by empty audio tracks? I'm worki