Build customizations on tables or on views

Hello all,
We are adding ebs modules to BIAPPS (like property management). I am always used to do this by quering directly on the tables (like AP_INVOICES_ALL) in stead of the views (like AP_INVOICES or AP_INVOICES_V).
However, now we have a discussion why we are not using views.
My reason for tables are:
I am doing this already since I started with BI on eBS (also before BIAPPS, with custom datawarehouses) (but this is not a real reason ofcourse ;)
In views you will see often profile settings like security (org_id) and language settings, and you don't won't this. However, this ebs implementation is single org and only one language is used (and BIAPPS also knows only one default language).
The reasons for views are:
If you compare ebs 11.5.10 and R12.1.1 then the views are more or less kept the same, while the tables changed totally (like what is happened by introducing the TCS model).
Does anyone have more reasons to use the tables or views?
Thanks,
Remc0

A few points..just because views are similar from 11i versus r12 doesnt mean the underlying EBS data/structures/logic is the same. This is the reason there are R12 adaptors versus 11i adaptors in OBIA. Therefore, the assumption that you can use the Views instead of tables in R12 may not be correct. Also, OOTB uses tables in Informatica/DAC and the remaining metadata. It would take more work to convert this to views. That being said, there is no compelling reason I can think of that prevents you from using views. It just seems like more work and more room for errors. The one place yo can use views (actually materialized Views) may be to speed up incremental load performance.

Similar Messages

  • Are there any (dis)advantages in building a universe on fully normalized tables instead of building dimensional model/tables and then universe on top of them?

    Hello,
    I’m hoping someone can help me with understanding advantages and disadvantages if we want to build a universe on top of a fully normalized tables, compared to using a dimensional model with star schemas.
    I’ve read some discussions here that say that it is possible to create a universe on top of normalized tables. Then, can we avoid building of dimensional tables (a data mart), and just use normalized tables? I would say that it is easier to use star schema dimensions and facts tables to build a universe, but our end users might ask “why do we have to go through building a dimensional data mart, if we can have same reports with hierarchies and drill-down functionality based on a universe built on top of our already existing normalized tables?”
    Can you point me to some established best practices regarding using normalized tables to build a universe? Any documents with some examples for this?
    Any expected difficulties during design/development phase of our universe, related to using normalized tables?
    Any expected performance degradation if we use normalized tables compared to using dimensional tables?
    Can I build universe more easily if I transform (modify) our normalized model (by using alias tables and views) to look like snowflake model?
    I’m using BOE XI 3.1, tables are in Oracle 11.2.
    Thank you

    Few Disadvantages that I usually face when building universe on Normalized tables,
    1. Performance - Read operations have to suffer because indexing strategies do not go well with table joins
    2. Derived Tables - Due to complex Queries/ Logic, most of the time, end-up creating derived tables, which doesn't use back-end table indexes and slows down the report runtime.
    3. Normalized table/ Transaction tables may not always have proper cardinality and often results in Cartesian products
    4. Normalized tables may not have tight referential integrity and may have to join more than one column and join on varchar, etc whereas, good Dimensional model datawarehouse will have proper keys/ integer joins and not always necessary to join on multiple fields
    5. Often deal with Fan and Chasm Traps
    6. Dealing with Database fields with nulls, blanks, date in numeric format, etc.,
    7. No Facts, Dimensions separated and most of the time they are in same table
    and More...
    If performance is not a matter and building Datawarehouse is a big deal, then I will start building Universe on normalized tables by having the database diagram as reference for Joins, contexts, etc
    Note: After dealing with universes based on normalized tables for few years (by creating views, complex sql queries data loading to tables and unv on these tables, derived tables), I ended up creating star-schema dimensional model (couple of months extra ETL work), users/ developers felt lot better when they have to create standard/ ad-hoc reports and they are super fast compared to previous universes.

  • How to customize SORT event in the View Form ?

    I'm using Jdevelper 9.0.3 with BC4J+UIXML, and I need customize the View Object Query, including "bind variables" as:
    SELECT A.COD_CLIENTE,
    A.NUM_TESTE,
    A.NOM_TESTE
    FROM TESTE A
    WHERE A.COD_CLIENTE = :1
    I create the java class for prepare assign values to View Object as:
    //Nome da Package da Tela Detail
    package br.com.siadem.siaed.ed00010;
    // Importa as Bibliotecas necessárias
    import oracle.jbo.ViewObject;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.data.jbo.servlet.bind.*;
    import oracle.cabo.ui.data.BoundValue;
    import oracle.cabo.ui.data.DataBoundValue;
    import br.com.siadem.siaed.util.*;
    public class FunPreQuery
    public static EventResult FunConfiguraQuery(BajaContext context, Page page, PageEvent event) throws Throwable
    TrataDadosSessao varDadosSessao = new TrataDadosSessao();
    // Configura os Parametros
    String valor1 = varDadosSessao.getCodCliente();
    // Cria o objeto ViewObject para a difinição dos parametro na Query
    ViewObject view = ServletBindingUtils.getViewObject(context);
    // Configura os parametros na query do ViewObject
    view.setWhereClauseParam(0,valor1);
    // Executa a Query
    view.executeQuery();
    // Retorna o Resultado para a Página
    return new EventResult(page);
    This works very well customizing the "Search" event in the View form as:
    <event name="search" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="TesteView1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="TesteView1" >
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true" >
    <bc4j:exampleAttribute>
    <bc4j:nameBinding><bc4j:parameter name="attrName" /></bc4j:nameBinding>
    <bc4j:valueBinding><bc4j:parameter name="attrValue" /></bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <method class="br.com.siadem.siaed.ed00010.FunPreQuery"
    method="FunConfiguraQuery"/>
    <!--<bc4j:executeQuery/>-->
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName" >
    <bc4j:parameter name="attrName" />
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue" >
    <bc4j:parameter name="attrValue" />
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    I'm use the sortable columns with <bc4j:sortablecolumn> as:
    <bc4j:column attrName="NomTeste">
    <columnHeader>
    <bc4j:sortableHeader/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    But, the "Sort" event does not enable a manual control for call Java Class. When user click in any sortable column, occur the follow error:
    oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT A.COD_CLIENTE, A.NUM_TESTE, A.NOM_TESTE FROM TESTE A WHERE a.cod_cliente = :1 ORDER BY A.NUM_TESTE ASC
    Anybody know to implement this functionality ?

    Ok, the solution:
    Sort BC4J table with reduced view objects

  • Update tables in a view

    Is it possible to update the tables in a view?

    After a long time, here is the answer: "It depends."
    Peter

  • How to customize the table layout in WAD (BI70)

    hi experts,
    i want to customize the table layout in WAD.
    in 3.5, i can set the table interface class,and use T_Code se24.
    but now i am using BI7.0, there is no table interface, so how can i customize the table layout?

    Use report designer for customerizing.

  • How to get list data and bind to data table or Grid view in share point 2010 using j query

    hi,
    How to bind list data in to data table or  grid view  using Sp Services.
    How to use sp services in share point 2010 lists and document library 

    Hi, You can use List service, SPServices and JQuery to get your requiement done-
    See here for an sample implementation -
    http://sympmarc.com/2013/02/26/spservices-stories-10-jqgrid-implementation-using-spservices-in-sharepoint/
    http://www.codeproject.com/Articles/343934/jqGrid-Implementation-using-SpServices-in-SharePoi
    Mark (creator of SPServices) has some good documentation on how to use SPServices-
    http://spservices.codeplex.com/wikipage?title=%24().SPServices
    SPServices Stories #7 – Example Uses of SPServices, JavaScript and SharePoint
    http://sympmarc.com/2013/02/15/spservices-stories-7-example-uses-of-spservices-javascript-and-sharepoint/
    Hope this helps!
    Ram - SharePoint Architect
    Blog - SharePointDeveloper.in
    Please vote or mark your question answered, if my reply helps you

  • Need to find total no fo  tables/index/m.views in my database

    Hello Everyone ;
    How can i find total no fo  tables/index/m.views in my database ?
    when i  google  i have seen  following  command ;
    SQL> Select count(1) from user_tables where table_name not like '%$%' /
      COUNT(1)
             but i dont understand  what  '%$%'  indicates ?
    Thanks all ;

    Hello Everyone ;
    How can i find total no fo  tables/index/m.views in my database ?
    when i  google  i have seen  following  command ;
    SQL> Select count(1) from user_tables where table_name not like '%$%' /
      COUNT(1)
             but i dont understand  what  '%$%'  indicates ?
    Thanks all ;
    consider to simply Read The Fine Manual YOURSELF!
    Oracle Database Search Results: like

  • How to update multiple records in a table created in view (web dynpro)

    Here is my coding......
    *coding to get the district value
    DATA lo_nd_district TYPE REF TO if_wd_context_node.
        DATA lo_el_district TYPE REF TO if_wd_context_element.
        DATA ls_district TYPE wd_this->element_district.
        DATA lv_district_txt LIKE ls_district-district_txt.
      navigate from <CONTEXT> to <DISTRICT> via lead selection
        lo_nd_district = wd_context->get_child_node( name = wd_this->wdctx_district ).
      get element via lead selection
        lo_el_district = lo_nd_district->get_element(  ).
      get single attribute
        lo_el_district->get_attribute(
          EXPORTING
            name =  `DISTRICT_TXT`
          IMPORTING
            value = lv_district_txt ).
    *coding to diplay records when clicking a button(Submit)
    DATA lo_nd_table TYPE REF TO if_wd_context_node.
    DATA lo_el_table TYPE REF TO if_wd_context_element.
    DATA ls_table TYPE wd_this->element_table.
      DATA lv_district LIKE ls_table-district.
    navigate from <CONTEXT> to <TABLE> via lead selection
      lo_nd_table = wd_context->get_child_node( name = wd_this->wdctx_table ).
    get element via lead selection
      lo_el_table = lo_nd_table->get_element(  ).
    get single attribute
      lo_el_table->set_attribute(
        EXPORTING
          name =  `DISTRICT`
       " IMPORTING
          value = lv_district_txt ).
    The above coding updates only one record to that
    table created in view.
    If i enter 2nd district value means then the first record
    in the table is overwritten.
    So my need is the record should not be overwritten.
    it(2nd record ) should be displayed after the 1st record.
    Any one can help me and send the coding plz....

    instead of using set attribute you should use bind table method to display/update the records in table view.
    step1 ) collect all the data in a local table
    step2 ) and the bind that lacal table with your node
    search1 = wd_context->get_child_node( name = `TABLE1` ).
    search1->bind_table( lt_detail)
    here lt_detail is your local table and TABLE1 is node which is bound with table ui element.

  • Table and Materialized View in different namespaces?

    I've just faced something completly new for me. It appears that there are two objects with the same name and owner. Table and Materialized View have the same names and when I look into system dictionary I can se sth. like that:
    OWNER OBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE NAMESPACE
    USER_A USER_TABLE 159381 159381 TABLE 1
    USER_A USER_TABLE 159382 MATERIALIZED VIEW 19
    (I couldn't find how to write above with const length font).
    Two object in different namespace? I thought that Tables and Materialized Vievs have the same namespace.
    Can you please tell me how can I create objects to achieve above result? I would also be grateful if you tell me where to find that topic in documentation.

    Perfectly normal.
    SQL> select object_name, object_type from user_objects where object_name = 'TEST_MV';
    no rows selected
    SQL>
    SQL> create materialized view test_mv
      2  as
      3  select sysdate from dual;
    Materialized view created.
    SQL>
    SQL> select object_name, object_type from user_objects where object_name = 'TEST_MV';
    OBJECT_NAME                                        OBJECT_TYPE
    TEST_MV                                            TABLE
    TEST_MV                                            MATERIALIZED VIEW
    SQL>
    SQL> drop materialized view test_mv;
    Materialized view dropped.
    SQL>
    SQL> select object_name, object_type from user_objects where object_name = 'TEST_MV';
    no rows selected
    SQL>

  • How to move selected values in a table in one view to another

    Dear Experts,
    In my application,I have a table populated with data.My requirement is to select a row in the table and move the selected values of the row to the next view.
    Can anybody tell how to do this??
    Regards,
    Mamai.

    Hi mamai,
    First create a two internal tables ( nodes) itab1 & itab 2 with your required structure in component controller.
    Then bind the itab1 with view1 controller context.
    bind the itab2 with view2 controller context. and create a tables in both views and bind with itab1 and itab2 respectively.
    after getting the itab1 data, use the below code in wddoinit method of view2.
    data: count type i,
            pos type i value 1.
    Count = lo_nd_itab1->get_element_count( ).
    do count times.
    to copy the selected records
    if lo_nd_itab1->is_selected( index = pos ) = abap_true.
    lo_el_itab1 = lo_nd_itab1->get_element( index = pos ).
    lo_el_itab1->get_Static_attributes( importing static_attributes = ls_itab1 ).
    lo_el_itab2 = lo_nd_itab2->creat_element( ).
    lo_el_itab2->set_static_attributes( exporting static_attributes = ls_itab1 )
    lo_nd_itab2->bind_element( new-item = lo_el_itab2 set_initial_elements = abap_false ).
    endif.
    pos = pos + 1.
    enddo.
    Regards
    Srinivas

  • Linking Tables to Oracle Views

    I am not able to see the PKs in MS-ACCESS after creating a linked table to a view within Oracle. The views were created using Select * from the base table which is a materialized view. No WHERE clause in the view.
    Also, why do I get an error when creating a linked table to a materialized view in Oracle. I am getting the following error when creating the linked table:
    "Invalid filed definition M_ROW$$ in definition of index or relationship.
    Thanks,
    Todd Schaberg
    [email protected]

    This is a known problem. We're trying to work with the materialized views folks to get this resolved.
    As a workaround, you can create a view of the materialized view and link to that.
    Justin Cave
    ODBC Development

  • PayPal buttons inside table scramble Design View in DW CS5.5

    I developed my web site using Dreamweaver 8:
    http://www.harmonize.com/hatleymusic/classic.html
    As  you see, I have PayPal buttons inside table cells.  I did this using  Design View, putting the insertion point in the table cell, going to  code view, and pasting the PayPal button code at the insertion point.   This all worked fine.
    I just upgraded to DW CS5.5. and now  when I try to use the same procedure, the Design View image gets  scrambled  after I paste the button code in code view.  The table format  is no longer in place, and I can no longer see where the cells of the  table are.  However, when I go to Live View, everything looks fine  including the table and the buttons.
    Can anyone tell me  how to overcome this problem?  As it stands, I cannot use DW to work on  my web site, which is a major problem for me.
    Thanks.

    How do I get someone to respond to my question here?
    Let me try again.
    With DW CS5.5 when I try to insert a PayPal button into a table (which I always did with DW8) the table in Design View gets scrambled, making it unusable.  Please would one of you out there who is much more knowledgeable about DW than me try it and see if there is a solution?  If you create a new HTML page in Design view, create a table in it, place the insertion point inside one of the table cells, go to the code view and locate the insertion point there, then paste the PayPal button code at that point. Here's the code:
    <form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="XSXQ9CUMUVLQC">
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_cart_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </form>
    Now go back to Design view and see how it looks.  If it acts the way it does for me, the table is no longer visible, but if you go to Live View everything looks fine with the table and the button inside it.  Of course, I can't design in Live View.
    PLEASE can someone out there help me.
    Many thanks.

  • How to customize Database Tables Application Connector to OIM

    Hi,
    Anybody know whether is it possible to customize Database Tables Connector that it could be used to make reconciliation to any table in OIM schema (not only to USR table, that is default)?
    I have reviewed config xml files but did not found any entry that could be used to achieve this.
    Thanks in advance,
    Maciej.
    Edited by: maciej.mac on Oct 12, 2009 11:58 PM

    Hi,
    The custom DB App table connector is used to reconcile identities or account information from the target tables. So when you create a GTC connector this process will create all OIM objects for you (Resource Object, Process, Recon rules etc).
    You need to look into deploymenmt document for 'GTC DBApp Tables Connector'. look into the following link for section : "3 Creating the Connector".
    Link : [http://download.oracle.com/docs/cd/E11223_01/doc.910/e11194/create.htm#CIABIJCH]
    Remember as not to create this as connector for 'trusted mode'. This connector will replicate all the tables from the target to OIM and reconcile data what you want to these tables. But this data will behave as a 'Account for the User', so you need to make sure that you have some unique matching attribute at the target tables as well to link this account to OIM user.
    I recommend you to go thorugh the deployment doc and see what is created in OIM. This will make it more explicit.

  • Truncate table and materialized view log

    I user oracle 10 R2
    I have a table and on that table a materialized view log.
    I execute in a pl/sql procedure:
    1) execute immediate('drop materialized view log on tab1');
    then:
    2) execute immediate('truncate table tab1');
    3) Now I insert a lot of records in tab1
    4) execute immediate('create materialized view log on tab1 WITH rowid INCLUDING NEW VALUES');
    When I create the materialized view log I recieved this message:
    ora32321: refresh fast on tab2 unsupported after detail table truncate
    Why?

    Refresh fast after truncate operation on container table is not supported, regardless the container table is or is not partitioned.
    Perform a refresh complete.
    ORA-32321 :
    Cause:     A detail table has been truncated and no materialized view
         supports fast refersh after a detail table has been truncated
    Action:     Use REFRESH COMPLETE. Note: you can determine why your
         materialized view does not support fast refresh after TRUNCATE
         using the DBMS_MVIEW.EXPLAIN_MV() API.

  • How to give a hint on a table within a view

    How do I give a FULL hint to a table within a view?
    The table that I want to give a hint on resides in a different schema that I am working in. So, when I give the following hint, Oracle just sits on it and does nothing (I am afraid I can't do the same, so please help).
    /*+ FULL (VW.SCHEMA_NAME.TABLE) */

    Hi,
    In the hints documentation you have to pre cursor the table with the name of the view such as for example.
    /*+ full(view_name.table_name) */
    this is called a global table hint. Here is the link for your reading, it has an excellent example
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm#i27644
    and this one lists all the hints available to use.
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm
    enjoy.
    al

Maybe you are looking for

  • EFI Update Lost The Speakers?

    I'm on a brand new iMac 24". I ran System Update and now all the software is up to date. Part of that, apparently, was an EFI updater, which I also ran. After the EFI updater, the iMac no longer "sees" any internal speakers. Here's a screen shot: htt

  • Why can't i use "INNER JOIN" in a query for SQL Server with JDBC??????

    Hi, I'm trying to execute some SQL queries and I just don't understand what's wrong. I�m using Tomcat and SQL Server in order to do this, but when I�m try to execute a query with a INNER JOIN statements Tomcat raise a SQL exception... at the very fir

  • Add line items programatically (Bid invitation)

    Hi all, I've created a bid invitation and would like to add items programatically. Is there a standard method I can use? I started to analyse SAP standard program and try to find   out the functions I can call to do the task... Am I going to the wron

  • How do I name the IP address for my new iPad?

    I have six 'wireless clients' on my AirPort Extreme.  The first five are identified by name, i.e. GJ's iphone, GJ's Mac Mini, etc.  However, my new iPad does not show a name but just the IP Address of 10.0.1.5.   My new iPad does have a name but for

  • E-Commerce Gateway

    Is anyone using this module, E-Commerce Gateway? If so, is it hard to set up? Did you attend a class or did you hire consultants to set this up? What all does this module do for you or what are you using it for? Thanks in advance for any information