Can reuse  one view object?

Hi All,
My server environment is JDeveloper 10.1.32 and JHeadstart 10.1.3.1.
I use one view In two Dynamic Domain(A、B) of "Application Definition Editor/Domains".
The Data Collection of Dynamic Domain(A、B) are using the same view object (v1).
The v1 use a bind parameters , it's name is p_CodeType .
a item choose A Domain.
b item choose B Domain.
a、b item's "Display Type" choose "DropDownList".
A Domain has query bind parameters and it's value is p_CodeType=02 .
B Domain has query bind parameters and it's value is p_CodeType=04 .
Run,
Two item's value of DropDownList are the same. a's DropDownList the same as b'DropDownList (p_CodeType=04).
Can reuse one view on two different Domains?
Thanks,
syuan
Message was edited by:
user581971

You can use the same ViewObject, but you need to create two separate view object usages in the application module for each domain.
Steven Davelaar,
JHeadstart Team.

Similar Messages

  • How we can remove  one authorization object from multiplt roles

    How we can remove one authorization object from multiplt roles

    > Correct me if I am wrong !!
    O.K., Here I go
    > But if the object is maintained in SU24 and if you use Expert mode for generation of the role then again those objects may be pulled.(make sure you never use expert mode once you delete the objects)
    Actually using expert mode and choosing 'edit old status' is the only way to avoid objects being 'pulled in' after menu changes.
    > As jurjen said, you may download the tables and instead of deleting the object from the excel sheet, change the value of the object in column "DELETED" = X, by doing this only the objects get inactivated(but remain in PFCG).
    I am not speaking of downloading tables but about downloading roles from PFCG. This will not get you a spreadsheet but a flat textfile. If you whish to set the object status to deleted you'll have to swap the space on position 207, right behind the 'U, S, G' flag,  with an 'X' for all corresponding lines.
    Jurjen

  • Multi Model project but one view object

    Hi Gurus,
    I would like to fetch data from multiple database base tables and display them in one table. Is this possible to create multiple model project and have just one View object that is fed by
    model objects?
    Thanks,
    Jai.

    Hi Chris,
    I have multiple database/schemas, all the schemas have the same table, I want to display the table buit one of the field value (say creation date) differes in each of these schema tables.
    I want to display table information with the creation date(one for each schema) in a ADF table. I was wondering if we could converge multi-model in to one view object which has the creation_date1,2,3 (one for each
    model).
    Thanks,
    Jai.

  • Two Queries, One View Object

    I have two fairly different ways to query the same table.
    One is a Spatial query, which returns rows that are within a radius of a starting point. This has the distance from the starting point as one of the expressions in the select list. You cannot have this expression in the select list unless the WHERE clause includes the spatial condition.
    The other way to query the table is with more "normal" WHERE clauses, like "WHERE name LIKE '%'||:nameParm||'%'", probably created as ViewCriteria. Distance is meaningless for this sort of query.
    Version one of the application solved this by having a single VO, and methods that reset the query as needed. But this had passivation/activation problems - when activated, the query would reset to the original query, but there might be bind variables left over from the other query. Solved it by not changing the query until just before it was executed. I'm not happy with this solution - it seems fragile to me.
    I could have two View Objects each with one of the queries. I envision a user interface where the user can choose which way to query the table, and some logic would have to decide which bind variables to obtain and which VO to execute. But I'd like the results from either to appear in the same ADF Faces table component. The rest of the select list is the same and would have all the same labels, etc. in the UI. I don't mind if the VO for which Distance is meaningless has a Distance attribute that is always null - I would simply set that column to not display if not appropriate.
    Possibilities: Subclass the two VOs from a third VO with a very basic version of the query, and use the parent VO in the ADF Faces table component? Or can I make the value attribute of the table dynamic - select the right VO at run time?

    Okay... no answer to this one, so I kept working on my own answer.
    Here's what I did:
    I created a VO with a very basic query that has all WHERE criteria that are common to all queries. That includes three bind variables. Call this one "BaseVO".
    I used TO_NUMBER(NULL) for the distance column that is only meaningful when you are doing a Spatial query.
    I created all of my View Links to this VO. I also did all of my UI defaults against this VO.
    Then I created two VO's that extend BaseVO. Each has the same attributes as the original, but one (call it NonSpatialVO) has View Criteria that encapsulate the non-spatial ways to query the table.
    The other VO, SpatialVO, has a different query, but it has the same select list, so it still maps to the same attributes. It has a where clause for searching by latitude and longitude, so these are bind variables. And the spatial function for the distance from the starting point replaces TO_NUMBER(NULL) in the query.
    So far, so good - the UI and View Links apply to NonSpatialVO and SpatialVO, even though they were only defined in BaseVO. It all works as expected when I run the Application Module.
    Next step - on to using the VOs in some pages in the ViewController project.
    It's going to have to decide dynamically which VO needs to be instantiated and executed, and then display the results in a table - the same table no matter which VO was used. I imagine that I'll use BaseVO to drag and drop the table on the page, but use EL to associated the correct VO with the "value" property.
    If anyone has done something like this before - your comments and advice are welcome.

  • Uix two view-objects on one entity-object synchronize

    Hi All
    I want to add some uix pages to an old project using ADF UIX and Business Components.
    I have an entity object to a table witch about 50 fields.
    Now I create two view objects due to a better performance. One witch seven attributes for the overwiew and one with all attributes for the detail page.
    They are related via a view link.
    I create the overview as a read-only-table and the detail-page as an input-form.
    The proplem is that the synchronization don't work. The detail page shows the first dataset ever.
    Has anyone a solution or a tip where I can found that?
    Is where a performance problem if I use one view-object for both pages?
    Thanks in advance
    Roger

    Use custom DataAction for the first page:
    package controller;
    import oracle.adf.controller.struts.actions.DataAction;
    import oracle.adf.controller.struts.actions.DataActionContext;
    public class Class1 extends DataAction
      protected void validateModelUpdates(DataActionContext actionContext)
         //super.validateModelUpdates(actionContext);
          // put you custom validation here
    }http://www.oracle.com/technology/products/jdev/collateral/papers/10g/ADFBindingPrimer/index.html#usingdataaction
    Message was edited by:
    Sasha
    Message was edited by:
    Sasha

  • ADF BC: range paging on dynamic view object

    hi!
    i have a dynamically generated sql query and i want to get the results one page at a time. for this to work i create at runtime a view object and try to use range paging:
    String sql = "SELECT ...";
    ViewObject vo = appModule.createViewObjectFromQueryStmt("tmpVO"+System.currentTimeMillis(), sql);
    vo.setRangeSize(pageSize);
    vo.setAccessMode(RowSet.RANGE_PAGING);
    vo.scrollToRangePage(pageNo);
    vo.getEstimatedRowCount();
    Row[] rows = vo.getAllRowsInRange();
    vo.remove();
    but when i run this it was pretty slow. so i traced the database session and saw that the executed query was the sql string, not the range paging select (SELECT * FROM (SELECT /*+ FIRST_ROWS */ IQ.*, ROWNUM AS Z_R_N FROM (...).
    i use range paging on other view objects that are not dynamically generated and it works fine. please tell me what can i do to get only the specified page from the data base.
    thank you
    Edited:
    here is the select i run:
    SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    here is the jbo.debugoutput that was generated; it includes the creation of the app module, the execution of SearchEntityPkVO (a predefined vo, not paged), then the execution of the code above:
    08/07/22 13:56:52 [436] Connected to Oracle JBO Server - Version: 10.1.3.36.73
    08/07/22 13:56:52 [437] mPCollUsePMgr is false
    08/07/22 13:56:52 [438] ViewObjectImpl.mDefaultMaxRowsPerNode is 70
    08/07/22 13:56:52 [439] ViewObjectImpl.mDefaultMaxActiveNodes is 30
    08/07/22 13:56:52 [440] Created root application module: 'enermet.aim.search.model.SearchAppModule'
    08/07/22 13:56:52 [441] Locale is: 'en_US'
    08/07/22 13:56:52 [442] ApplicationPoolImpl.resourceStateChanged wasn't release related. No notify invoked.
    08/07/22 13:56:52 [443] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
    08/07/22 13:56:52 [444] Creating a new pool resource
    08/07/22 13:56:52 [445] Trying connection/2: url='jdbc:oracle:thin:@AIMTEST:1521:AIM' ...
    08/07/22 13:56:53 [446] Successfully logged in
    08/07/22 13:56:53 [447] JDBCDriverVersion: 10.1.0.5.0
    08/07/22 13:56:53 [448] DatabaseProductName: Oracle
    08/07/22 13:56:53 [449] DatabaseProductVersion: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production With the Partitioning, OLAP and Data Mining options
    08/07/22 13:56:53 [450] <AM MomVer="0">
    <cd/>
    <CONN/>
    </AM>
    08/07/22 14:00:21 [985] SearchEntityPkVO>#q old SQLStmtBufLen: 234, actual=163, storing=223
    08/07/22 14:00:21 [986] select sep.pk_name, sep.position
    from MD_SEARCH_ENTITY_PK sep
    inner join MD_SEARCH_ENTITIES se
    on se.entity_id = sep.entity_id
    where se.name = :VarEntityName
    08/07/22 14:00:21 [987] ViewObject: SearchEntityPkVO Estimated Row Count Query Statement:
    08/07/22 14:00:21 [988] "SELECT count(1) FROM (select sep.pk_name, sep.position
    from MD_SEARCH_ENTITY_PK sep
    inner join MD_SEARCH_ENTITIES se
    on se.entity_id = sep.entity_id
    where se.name = :VarEntityName) "
    08/07/22 14:00:21 [989] Bind params for ViewObject.getQueryHitCount: SearchEntityPkVO
    08/07/22 14:00:21 [990] Binding param "VarEntityName": Unit
    08/07/22 14:00:21 [991] ViewObject: SearchEntityPkVO Estimated Row Count: 2
    08/07/22 14:00:21 [992] Clear QueryCollection in cache for VO tmpVO1216724421562
    08/07/22 14:00:21 [993] ViewObject: tmpVO1216724421562 close prepared statements...
    08/07/22 14:00:21 [994] tmpVO1216724421562>#q computed SQLStmtBufLen: 641, actual=601, storing=631
    08/07/22 14:00:21 [995] SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [996] *** createViewAttributeDefImpls: oracle.jdbc.driver.T4CPreparedStatement@4e6
    08/07/22 14:00:21 [997] Bind params for ViewObject: tmpVO1216724421562
    08/07/22 14:00:21 [998] Clear QueryCollection in cache for VO tmpVO1216724421562
    08/07/22 14:00:21 [999] ViewObject: tmpVO1216724421562 close prepared statements...
    08/07/22 14:00:21 [1000] Column count: 7
    08/07/22 14:00:21 [1001] tmpVO1216724421562>#q computed SQLStmtBufLen: 641, actual=601, storing=661
    08/07/22 14:00:21 [1002] SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [1003] ViewObject: tmpVO1216724421562 Estimated Row Count Query Statement:
    08/07/22 14:00:21 [1004] "SELECT count(1) FROM (SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [1005] Bind params for ViewObject.getQueryHitCount: tmpVO1216724421562
    08/07/22 14:00:26 [1006] ViewObject: tmpVO1216724421562 Estimated Row Count: 32732
    08/07/22 14:00:26 [1007] Column count: 7
    08/07/22 14:00:26 [1008] ViewObject: tmpVO1216724421562 Created new QUERY statement
    08/07/22 14:00:26 [1009] tmpVO1216724421562>#q old SQLStmtBufLen: 661, actual=601, storing=631
    08/07/22 14:00:26 [1010] SELECT * FROM (SELECT /*+ FIRST_ROWS */ IQ.*, ROWNUM AS Z_R_N FROM (SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    ) IQ WHERE ROWNUM < :0) WHERE Z_R_N > :1
    08/07/22 14:00:26 [1011] Bind params for ViewObject: tmpVO1216724421562
    08/07/22 14:00:26 [1012] setting rownum query between (0, 23)
    08/07/22 14:00:26 [1013] ViewObject: tmpVO1216724421562 close prepared statements...
    PS: I am using JDev 10.1.3.36.73

    You have a couple of choices. You could create one view object with a bind variable parameter(s) and in the application module you have 10 instances of that VO with appropriate values set for the bind variable in each instance.
    Or if you are using the LOV feature of a VO then you can set an attribute to point to one VO and then using a view cirteria applied to that specific LOV you can then "filter" the data that would appear in that LOV.
    Does that help?
    Grant Ronald

  • View object reexecutes when any event is fired on a page

    Hi All,
    I have following requirement
    Create a page which containts a table.
    Table has 2 fields one is Employee number LOV and second is emp name field which is read only.
    One view object is associated with this table.
    This view object has two transient attributes one is EmpId which is of type number and second is name which is of type string.
    View object does not have any query.
    when you enter any no in lov field,it goes to lov region and populates the respective emplyee details in the LOV region, when user selects any employee,it comes back to main page and shows Employee no and emp name in first row of a table.
    I have allowed the user to enter as many rows as he wants into the table.
    for that i have created Add another row button using footer property of table.
    but the problem is When i click Add another row button,row is added it to table but emp name which i have selected from LOV had lost.
    i know the reason is when i click Add another row button VO executes query again and my value has lost.
    i want to know that is there any way to prevent reexecution of view object query?
    Regards
    Hitesh

    Hitesh,
    Mukul, i can put my own Add another row button and do cusom code,but what about other events?
    Yes, see dev guide and old threads. It has been explained in dev guide claerly and have also replied this in old threads.--Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • 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.

  • Custom Search using new View Object (Programatically)

    Hi Experts,
    Currently i am exploring the ADF-BC and i have a basic question. Hope you experts will help on this. I am thinking of implementing the search functionality with out using the "Query component" because the search that i am going to implement is complex and very custom. So for that i have decided to create one View object with the controls that needs to be displayed in the search screen. E.g assume the DepartmentVO is available and i want to create the search screen So i have create a another view object called DepartmentSearchVO (Program view object) and create transient variables for each search filed that i was thinking to have.
    Now i want to implement the Search button. When the users clicks on the search then i can called the DepartmentVORowImpl method called search() and construct the query based on the input. Then how about the results return. Since the DeparmentVO is coarse grain i am thinking to have another light View object called DeparmentLightVO (Program object) and use that to bind with the table for display.
    Please let me know am i going in the right direction. Is there any better way for this kind of requirement implementation.
    -t

    Hi,
    As Shay mentioned, you could set the where clause of the VO which you want to filter.
    In your search() method, you could get the VO (DeparmentVO in your case), set the where clause based on the parameters you are passing to this method (or the columns in the DepartmentSearchVO) and execute the query.
    You could use the VO (on which you've performed executeQuery) as a table / ROT in your application.
    -Arun

  • Programmatic View Object

    I'm trying to create a programmatic view object from an Oracle Stored procedure that returns a single row containing Oracle Object Types. I created a Domain for my Oracle Object type called BillingInfo. Here is the code for my view object so far:
    package billing;
    import billing.common.BillingInfo;
    import java.lang.Integer;
    import java.math.BigDecimal;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.sql.Types;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import oracle.jbo.JboException;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    // --- File generated by Oracle Business Components for Java.
    public class BillingInfoViewImpl extends ViewObjectImpl
    // billing info procedure call variables
    private final static int BILLING_LOGGED_ON_USER_ID = 0;
    private final static int BILLING_BILL_TO_USER_ID = 1;
    private final static int BILLING_TRANSACTION_DATE = 2;
    private final static int BILLING_TRANSACTION_DETAILS1 = 3;
    private final static int BILLING_TRANSACTION_DETAILS2 = 4;
    private final static int BILLING_TRANSACTION_DETAILS3 = 5;
    private final static int BILLING_TRANSACTION_DETAILS4 = 6;
    private final static int BILLING_TRANSACTION_DETAILS5 = 7;
    private final static int BILLING_TRANSACTION_COUNT = 8;
    private final static int BILLING_TOTAL_CHARGE_AMOUNT = 9;
    private final static int BILLING_PAY_TYPE = 10;
    private final static int BILLING_ERROR_MESSAGE = 11;
    private final static int BILLING_ERROR_CODE = 12;
    private final static int BILLING_RETURN_VALUE = 13; /*
    * This is the PLSQL block that we will execute
    private static final String SQL =
    "begin ecs_jdbc_wrappers.get_billing_info_jdbc(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,?, ?, ?);end;";
    * This is the default constructor (do not remove)
    public BillingInfoViewImpl() { }
    * Overridden framework method.
    * Executed when the framework needs to issue the database query for
    * the query collection based on this view object. One view object
    * can produce many related result sets, each potentially the result
    * of different bind variable values. If the rowset in query is involved
    * in a framework-coordinated master/detail viewlink, then the params array
    * will contain one or more framework-supplied bind parameters. If there
    * are any user-supplied bind parameter values, they will PRECEED the
    * framework-supplied bind variable values in the params array, and the
    * number of user parameters will be indicated by the value of the
    * numUserParams argument.
    protected void executeQueryForCollection(Object qc,Object[] params,int numUserParams) {
    * If there are where-clause params they will be in the 'params' array.
    * NOTE: Due to Bug#2828248 I have to cast to BigDecimal for now,
    * ---- but this parameter value should be oracle.jbo.domain.Number type.
    int sqlcode = 0; // statement sql code
    String errorMessage = null; // statement error message
    String loggedOnUserId = null; // IN VARCHAR2
    String billToUserId = null; // IN VARCHAR2
    Date transactionDate = new Date(); // IN DATE
    BillingInfo transactionDetails1 = null; // IN OUT billing_info
    BillingInfo transactionDetails2 = null;
    BillingInfo transactionDetails3 = null;
    BillingInfo transactionDetails4 = null;
    BillingInfo transactionDetails5 = null;
    int transDetailsCount = 0; // IN INTEGER
    String payType = null; // IN VARCHAR2
    if (params != null)
    loggedOnUserId = (String)params[BILLING_LOGGED_ON_USER_ID];
    System.out.println("USER ID:" + loggedOnUserId);
    billToUserId = (String)params[BILLING_BILL_TO_USER_ID];
    System.out.println("BILLED USER ID:" + billToUserId);
    if (params[BILLING_TRANSACTION_DETAILS1] != null) {
    System.out.println(params[BILLING_TRANSACTION_DETAILS1]);
    transactionDetails1 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS1];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS2] != null) {
    transactionDetails2 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS2];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS3] != null) {
    transactionDetails3 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS3];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS4] != null) {
    transactionDetails4 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS4];
    transDetailsCount = transDetailsCount + 1;
    if (params[BILLING_TRANSACTION_DETAILS5] != null) {
    transactionDetails5 = (BillingInfo)params[BILLING_TRANSACTION_DETAILS5];
    transDetailsCount = transDetailsCount + 1;
    payType = (String)params[BILLING_PAY_TYPE];
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
    * Set the value of the bind variables
    st.setString(1, loggedOnUserId);
    st.setString(2, billToUserId);
    // Set Transaction Date to todays date
    java.sql.Timestamp sqlTs = new java.sql.Timestamp(transactionDate.getTime());
    st.setTimestamp(3, sqlTs);
    System.out.println("TRANS DATE:" + sqlTs);
    st.setObject(4, transactionDetails1);
    if (transactionDetails2 == null) st.setNull(5, Types.STRUCT, "BILLING_INFO");
    else st.setObject(5, transactionDetails1);
    if (transactionDetails3 == null) st.setNull(6, Types.STRUCT, "BILLING_INFO");
    else st.setObject(6, transactionDetails1);
    if (transactionDetails4 == null) st.setNull(7, Types.STRUCT, "BILLING_INFO");
    else st.setObject(7, transactionDetails1);
    if (transactionDetails5 == null) st.setNull(8, Types.STRUCT, "BILLING_INFO");
    else st.setObject(8, transactionDetails1);
    st.setInt(9, transDetailsCount);
    st.setString(11,payType);
    * Register OUT paramters
    st.registerOutParameter(4, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(5, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(6, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(7, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(8, Types.STRUCT, "BILLING_INFO");
    st.registerOutParameter(10, Types.DOUBLE);
    st.registerOutParameter(12, Types.VARCHAR);
    st.registerOutParameter(13, Types.INTEGER);
    st.registerOutParameter(14, Types.INTEGER);
    // execute the stored procedure
    st.execute();
    // get the SQLCODE
    sqlcode = st.getInt(13);
    System.out.println("sqlcode returned:" + sqlcode);
    errorMessage = st.getString(12);
    System.out.println("Error Message:" + errorMessage);
    catch (SQLException s) {
    System.out.println("sqlcode returned:" + sqlcode);
    System.out.println("Error Message:" + errorMessage);
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    super.executeQueryForCollection(qc, params, numUserParams);
    This almost works except when I try to print out the attributes I get an error. I beleive I have to override some of the view object framework methods. If so, how do I go about this? Is it the same methods overridden in this example Getting a View Object's Result Rows from a REF CURSOR? http://radio.weblogs.com/0118231/stories/2003/03/03/gettingAViewObjectsResultRowsFromARefCursor.html
    Nat

    Yes. only difference is that your VO will just have one row in it.

  • More than one view points

    hi there !
    i'm new at 3D ...
    i was wondering if it is possible to have more than one "camera" (view point) at the same time.
    ex:
    cam1: top view
    cam2: front view
    cam3: perspective view
    tnks!

    It is possible!
    You can add multiple View Object to a ViewPlatform and you can add multiple ViewPlatforms to a BranchGroup. Hope it helps.

  • Modifying where clauses for View Objects in Backing Beans

    In studying the RichTable class I saw no get/set methods that would allow me to manipulate the underlying view instance and rowset for the table in the Backing Bean. I know there is a way to do it, but I having great difficulty in finding it. The tutorials show how to build view objects and display them, but I haven't seen a tutorial that show how to respond to events from the Web page and directly change the data model and what is displayed via the backing bean.
    Can some one point to a tutorial or give me an example on how I can change a view object via a backing bean?

    What you want to do is add a method to your View Object Implementation class that changes the WHERE clause with setWhereClause or addWhereClause. Expose the method to your client. Then call the method from your page by binding it to a commandButton or commandLink. You can bind it through a pageDef file or a backing bean.

  • Creating View Object with different criteria

    Hi,
    I have a requirement to execute the following queries in the application logic. We have YEAR table with mileage rates with different effective dates. If the service date is greater than any of the existing effective dates we need to get the rate with that effective date. if the service date is less than the existing effective dates, then we have to get the rate with least effective date.
    SELECT mileage_rate, ... FROM year
    WHERE eff_date =  (SELECT MAX(eff_date) FROM   year WHERE  eff_date <= :bServiceDate)
    SELECT MILEAGE_RATE, .... FROM YEAR WHERE
    EFF_DATE =  (SELECT MIN(EFF_DATE) FROM YEAR)
    We have to execute the 1st query and if there is no matching records then we have to take the second query with min effective date. At present we are creating two view objects for the above scenario. Is there any possibility to create one view object with different criteria. What is the best solution to handle the above problem in ADF.
    Thanks and Regards,
    S R Prasad

    Well on the ViewObjectImpl you can fire the method getQueryHitCount() passing in the required ViewRowSetImpl. If you get the query hit count as 0, use can attached the other query and execute it.

  • Extending view object

    Hi all,
    I need to extend one view object(ReqSupplierVO). Please help with the following problems,
    1. What are the files i have to FTP and where i have to place those in my Jdeveloper directories.
    2. Im clear about extending,substituting the VO but when i transferred it how it will work. Any xml files to change.
    3. Is server.xml need. What its use.
    4. Please give step by step instructions if possible bcaz im new to this area.
    5. I refered Developers guide but im having doubt in basics that is needed files or the files to be modified and uploading the files.
    6. .jpx what its use is we have to FTP this file also?.
    Thanks,
    B.Kannan.

    1. What are the files i have to FTP and where i have to place those in my Jdeveloper directories.
    - Depends on what module or page you want to extend. You need to identify the relevant files by using the About this page feature in the page in the env which will give you details.
    3. Is server.xml need. What its use.
    - It is for ease of loading the files, server.xml will help you load all the relevant business objects. You need to have all the files listed in the server.xml in the project.
    4. Please give step by step instructions if possible bcaz im new to this area.
    - once you start loading files by opening server.xml it will automatically show errors on missing files which you need to ftp.
    5. I refered Developers guide but im having doubt in basics that is needed files or the files to be modified and uploading the files.
    - same as answer to question 1, you still need the libraries from the middle tier to run the page in jdev even if you are not modifying them. If your can map a drive to the $JAVA_TOP you can place that in the library otherwise you need to zip the appropriate module class files and add it to the library.
    6. .jpx what its use is we have to FTP this file also?.
    - You donot need them, you need them only after you had created the substitutions for running jpximporter.

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

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

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

Maybe you are looking for

  • CMOS / RTC Battery for Satellite A100-326?

    Hi, I'm after a replacement CMOS/RTC battery for my A100-326 I've got my machine open and located the battery but it has no model number on it. I have contacted a Toshiba assistance center and they replied that the battery is part of the board and th

  • Itunes 10.6 error 7 after installing

    I have just recently tried to update itunes to 10.6 using Windows 7 32-bit. As soon as I turn on Laptop it comes up with itunes.exe error with a SQLite.dll error. once I click the ok it says Itunes was not installed properly with Error 7 (windows err

  • Facing runtime error when i insatlled my web cam driver ..... how to fix it

    How do I fix a Microsoft Visual C++ runtime library error?  my web cam is diver free but months before i attached it in laptop usb and from that day it stops working only its microphone is in working but camera is not skype says can not find any web

  • ITunes forgets iPhone 5

    iTunes 11 is not recognizing my iphone. I already tried troubleshooting page. What do I do?

  • Accounting entries for IR/ISO with item cost 0.

    Hi All, Please let me know if accounting will be involved if an Item with 0 cost is being processed through IR/ISO within same OU but different Inventory Organizations. If yes, waht will be the flow? Thanks & Regards Prakash Kumar