Universes versus database views

why would we use universes versus database views to store sql/formulas/calculations (other than the fact WEBI has to use it)? this is assuming crystal reports only

Kevin,
I am a big supporter of using Crystal Reports.  I've been using Crystal for a while.
However, there is a difference between using universes and database views.  I tend to use stored procedures more than I would a database view just because it is using the compiled code.  However, if you use a database view and need to add a command, you will get a plain dialog box asking for SQL and parameters.
If you are using a universe and add a command, you are going to get the Business Objects query panel.  With this query panel, you can add a combined query, add a sub query, look at the SQL, add fields, set whether you want to see unique values and designate how many rows are returned.
All this can be done using SQL.  However, the difference is for those that can't access the database when they want.  They would have to have permissions (and the know how) to modify the database view as they want or create a new one.  If a universe has been set up for them, they can manipulate the universe as they want.
If order to use a database view and add a command, you would have to know the SQL pretty well to do the same things.  Not a pretty GUI to use.
Hope that helps.
Glenn

Similar Messages

  • Universe design on Database Views Vs. on Tables

    Hi,
    I am builidng a universe over oracle database. The warehouse has both tables and views. Some of the reports we will be creating are based on the tables for which views are created. It would be my call to to choose the reporting too (webi or crystal).
    I want to know what will be the best approach. Whether creating universe which has database views affect the report performance?(As it will add additional layer. Universe > View > Actual table) If yes, then will it be feasible to go for Crystal Reports instead of webi?
    Regards,
    Chetashri

    There are two points which you have to think.
    1. Either crystal or Webi
       a) Generally, we prefer Crystal report when Business users want to have pixel perfect reporting. Enterprise reports such as generla ledger, transactions and so on we prefer Crystal Report.
       Cyrstal report has lot of options which helps us to create reporting which is impossible in other tools as possible in Crystal.
       b) WebI reports very flexible and easy to create reports. Not as flexible as compared to Cyrstal. But most of the reporting capabilities are available in WebI. Mostly, first I try to build the report in webI. If the tool is not sufficient or capable of creating that report, I go for Crystal.
    But WebI reports are preferrable.
    2. Peformance with Table or View
    There is no big difference now  between view and table when view refers only single table because of optimization strategies available in oracle database.
    But when a view refers mutlple tables in its definition, there is little edge for view with respect to performance because View optimizations calculated by oracle in advance.
    But you could use Tables or views vice versa if there is less data.
    Steps for creating reports either from views or tables are same. Instead of view you could use tables and Instead of tables you could use views.
    Hope this helps
    Regards
    Gowtham

  • Complex Folders Vs Database Views - Discoverer 10g

    Hello All,
    The way complex folders works is almost similar to creating a database view and using that to create a custom folder.
    So could someone advise wrt peformance etc which is a better option ?
    Creating complex folders gives the flexibility to change whatever changes are rqd using disco admin and does not reqd even logging to which incase of DB views would need to be done to recreate a view incase of any changes. But would like to weigh down both the options on other parameters.
    One thing i see is implementing oracle apps security is easier using DB views...but again..i could create custom folders using select * from table where gl_security_pkg concept and then create complex folders using these folders ?
    Any thoughts would be helpful
    Thanks.
    Message was edited by:
    vishalg

    Vishalg.
    The way I've always considered it is as follows:
    1. I prefer not to be 'married' to one tool (ie: Disco) and therefore always recommend writing database views over custom / complex folders if possible. That way, database tools such as TOAD, SQL Nav, SQL Dev, etc. can also use the view (not to mention Oracle Reports, etc. as well).
    With that in mind, I try to have most folders just pointing to a database view and all the 'fine tuning' done in the folder (ie: column order, hierarchies, security, etc.).
    2. I do use custom folders when it's a LOV that's used in an item class. For example, you could create a simple LOV in a folder on an item, by just using that item for the source and the output. However, if it's a big dataset or you want to go to another table that's small and just has the distinct values for example, a custom folder is perfect for creating (I always put a _LOV extension on the folder name so I know) and setting an item class against.
    Sometimes though, I've created a LOV for the list and then have just brought it in to a folder by simply pointing to it. It's the same kind of consideration in 1. above - if I'm creating a system that may be used by other tools - or God forbid - a client wants to move to another query tool like Cognos, BO, etc. then all the views are already there in the database and you just have to build their version of the middle layer (ie: catalog, universe, etc.).
    3. I don't think I've ever had to use a complex folder. The concept is good though as in you can have 2 folders that are joined, but you want to create another folder that only has certain fields from each of the original 2 folders and that's the one a user uses.
    But same consideration as above. Do I want to completely customize the Disco EUL, or use it more as a 'delivery device' (hey ... good term!).
    One other big consideration for all this is that if you work in a shop where they have a big (read obnoxious) DBA who doesn't "allow views in his database" (been there), then you can always do the custom / complex folder thing from within Disco Admin and keep the DBA happy. However, once he's fired for being obnoxious and then new "touchie-feely" DBA comes on board, you may curse why you had to create a custom EUL in the first place.
    All just your point of view, but I'm a view guy all the way.
    Russ

  • Database View do not refresh in ADF application

    Greetings,
    im facing a weird problem in my application (JDeveloper 11.1.2.4.0 - ADF). All this time i was working directly with tables (VO), but now i also started using database views.
    Everything works fine, when i add a new row in a table that my Database Views is associated with, it refresh properly.
    BUT if i delete rows manually from my database, the View do not refresh in my application, not by refreshing the page,
    redeploying application, even executing the view object query inside the view object. The only way for the DB View to be
    refresh inside the JDeveloper and on deployment time is by restart JDeveloper. I try adding an action on my OV to re-execute them when
    i do something specifically, hopefully the will reset the cache and retrieve the DB view again, but with no luck..
    Correction: now it doesnt even refresh on restart jdeveloper.
    Just for the clarification, im talking about Database Views, and not just Object Views. I create a Object View inside the application to retrieve the data
    from the Database View results.
    Can you help me on this please?

    Yes the queries in SQLDeveloper was showing me correct results.
    But i feel disappointed.. When i went to close SQLDeveloper to try something, it pop me a message to commit/rollback changes.
    After i commit them, my app show correct results too.

  • Snowflake dimension: named query vs. database view

    A test question features a Product table with a Product Size code; Product Size description is taken from ProductSize table. As far as I can tell, the question asks me to choose between (a) setting up a database view joining Product and ProductSize, and
    (b) doing the join in a data-source-view named query. I don't see a clear winner. (My thinking is as follows.  Yes, he view would speed up the processing, even if not materialized. On the other hand, with a small dataset, the performance gain would be
    minor in absolute terms. Do I want to have an extra database object in the picture?) Yet the question's author does. Can anyone advise please?  

    Hi Demyan,
    According to your description, you want to know which is better, using named query in datasource view or using database view, right?
    Based on my research, there is no performance differences between using named query in datasource view and using database view because they both result in SQL query being sent to the source system. Here is a blog which discuss this issue.
    Consistency: If you already have logic in database views, I would continue to use them. As long as you know that you go to one spot to view/change the logic. Putting the logic in 2 different spots could lead to confusion.
    Security Permissions: often you may not have permission to alter the source databases, in this case you have no choice but to setup named queries in the dsv.
    Reference
    http://geekswithblogs.net/darrengosbell/archive/2006/09/05/90278.aspx
    http://bennyaustin.wordpress.com/2013/07/16/dbview/
    Regards,
    Charlie Liao
    TechNet Community Support

  • Set operator NE in Database View creation in  join condition

    Hi Experts,
         I have a requirement to set NE(not equal) operator in join condition of Database View creation. Could you please help me how to set in operator.
    Join condition :
    Ex : BSAK-AUGBL NE BSAK-BELNR.
    You know that by default operator is '='. i want to set NE in place of '='.
    Thanks,

    Hi Chinna,
    Check whether if there is any possibility or not to include more key fields like bukrs, lifnr, gjahr etc in the where condition, so that you query may result faster. Then, there won't be any necessary to create the view.
    Hope this helps.
    Please reward if useful.
    Thanks,
    Srinivasa

  • How to call database view in report

    Hi i have a small problem in report
    the problem is like this i had created a database view in which i got all the values displayed but can any one of you tell me how to declare this database view in report with example
    i had created a database view named as znew1
    and the fields are
                 LIFNR  LIKE EKKO-LIFNR,
                 EBELN  LIKE EKKO-EBELN,
                 LIFNR1 LIKE LFA1-LIFNR,
                 NAME1  LIKE LFA1-NAME1,
                 EKBE   LIKE EKBE-EBELN,
                 VGABE  LIKE EKBE-VGABE,
                 MATNR  LIKE EKPO-MATNR,
                 WERKS  LIKE EKPO-WERKS,
                 NETWR  LIKE EKPO-NETWR,
                 MENGE  LIKE EKPO-MENGE,
                 MWSKZ  LIKE EKPO-MWSKZ,
                 TXZ01  LIKE EKPO-TXZ01,
                 KOSTL  LIKE EKKN-KOSTL,
            PS_PSP_PNR  LIKE EKKN-PS_PSP_PNR,
                 EBELN1 LIKE EKKN-EBELN,

    Hi Mr. Rich
    This is the program code and i want this output int he alv grid format
    TABLES:EKKO,EKBE,EKPO.
    DATA:BEGIN OF RTAB_ALV OCCURS 30,
                 LIFNR  LIKE EKKO-LIFNR,
                 EBELN  LIKE EKKO-EBELN,
                 LIFNR1 LIKE LFA1-LIFNR,
                 NAME1  LIKE LFA1-NAME1,
                 EKBE   LIKE EKBE-EBELN,
                 VGABE  LIKE EKBE-VGABE,
                 MATNR  LIKE EKPO-MATNR,
                 WERKS  LIKE EKPO-WERKS,
                 NETWR  LIKE EKPO-NETWR,
                 MENGE  LIKE EKPO-MENGE,
                 MWSKZ  LIKE EKPO-MWSKZ,
                 TXZ01  LIKE EKPO-TXZ01,
                 KOSTL  LIKE EKKN-KOSTL,
            PS_PSP_PNR  LIKE EKKN-PS_PSP_PNR,
                 EBELN1 LIKE EKKN-EBELN,
         END OF RTAB_ALV.
    DATA:IZNEW1 TYPE TABLE OF ZNEW1 WITH HEADER LINE.
    select * into table IZNEW1 FROM ZNEW1 UP TO 10000 ROWS.

  • Using database views in ADF mobile client application

    Hi,
    I am using Jdeveloper 11.1.1.4 and WLS 10.3.4.
    I have developed a POC in ADF mobile client application both with and without synchronization. However, both work with entity objects based on tables.
    I need to use database views instead of tables. When I try to include entity object (based on views) in the view object, it shows an error saying "Only the entity objects based on tables can be selected"
    Please guide me if there is a work around for this.
    Also, please let me know if there is way to develop an ADF mobile client application skipping the use of entity objects at all and using view objects directly to specify the database query and fetch data from the database.
    Thanks in advance.
    Ansh
    Edited by: ansh on Mar 28, 2011 5:40 AM

    Hi, Ansh:
    Currently, out of box, ADF Mobile Client does not support synchronization against Database Views. This is because Mobile Server imposes some schema restrictions to ensure synchronization with multi-table views would work correctly. This schema restriction requires, for example, the view must have a primary parent table with key defined, and also all base table must be included in the data publication. These dependencies requires manual resolution and advanced planning, and is managed outside of the ADF Mobile Client/JDeveloper project.
    To continue development, you would need to create server Entity Objects directly against the base tables. You can then create the mobile ADF Business Component (EOs, VOs, etc). You can then create View Objects in your ADF Mobile Client application based on the database views, in order to retrieve the data you need exactly. In other words, instead of basing EO on the database view, create View Objects in the mobile applicaiton to mimic what you had in the View Object.
    Is there any other reason why you would need to access data via database views, instead of directly against base tables?
    Thanks,
    Joe Huang

  • How to delete a record in Database View?

    HI All,
    I have created a Database  View using tables LIKP,LIPS,VBUK,VBUP.
    In that view I am getting a extra record which is not exit in any tables
    but its getting in database view.
    I tried buffer memory refresh and even tried SE16n , SE11(thro CODE(DELE))..But record has not been
    deleted.
    Plz suggest wat shud i have to do to delete the record.
    Thanks in advance and help realy appriciate.
    Regards
    Steve

    >
    Steve Johnson wrote:
    > In that view I am getting a extra record which is not exit in any tables
    > but its getting in database view.
    Your intention should be in search of the root of that extra record. Not the deleting it without knowing anything.
    Sure, You have put join conditions correctly?
    Cheers

  • Z Database view is not showing all the entries?

    Hello
    Last year I have created a Z table, say, its name is Z_TABL_1, its working fine, say, there is around 1000 entries in PRD, well
    Last week I have created another 2nd Z table, its name is Z_TABLE_2, now it has 50 entries in PRD
    In both tables the key field os the same (VISITOR_NUMBER) and there is only one key field in both tables, its the same
    When creating the 2nd table I forgot to specify the CHECK table relationship in 2nd table refering 1st table, I mean, dependent table is 2nd whereas reference is 1st table
    Now, I created a database view, say, my_db_view on these 2 tables.
    When I opened this my_db_view in SE16, I expected 1000 (this 1st table count) entries, but am seeing just 50 (the 2nd table has only 50 entries) entries!!
    Pls. let me know how can I view all the 1000 entries in SE16 for my_db_view?
    Thank you

    Hi,
    in your DB view tables are joined and database views implement an inner join (you can check here: http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21ecab446011d189700000e8322d00/content.htm), that's why the system extracts only 50 records.
    It's not possible to have all the 1000 records using a database view.
    Marco

  • Progammatic update a table with a database view  in the page

    Hi All,
    I am using JDev 11g. With FOD database schema, I have one database view Products which comes from two tables Products_Base and Product_Transactions. I created three EOs (ProductEO, ProductsBaseEO, ProductTransactionsEO) and three VOs (ProductVO, ProductsBaseVO, ProductTransactionsVO) based on their EOs respectively.
    Here is my scenario. I have an ADF form which is based on the database view Products and is dragged and dropped from Data Controls->ProductVO. When an existing record is submitted, a backing bean method will be called to update the data against the table Products_Base (and the table Product_Transactions at the same time) programmatically. An update method updateProductPrice() is added into the Application Module and published it to UI Client. The submit button in the page is created by directly dragging and dropping Data Controls->updateProductPrice into the page. When I run it, I got the following error message,
    Failed to post data to database during "Update": SQL Statement "UPDATE PRODUCTS ProductEO SET COST_PRICE=:1 WHERE PRODUCT_ID=:2".
    What I don't understand here is that, in my update method updateProductPrice(), it supposes to update the table Products_Base. But from the error, it appears that it is trying to update the view Products. Can anyone give me a help on what I did wrong here? When I try to debug it, it throws an exception to this line in the method updateProductPrice(),
    getDBTransaction().commit();
    Here are my codes,
    The method which got called in the backing bean
    public String cb6_action() {
    DCBindingContainer bc = (DCBindingContainer)getBindings();
    FacesCtrlAttrsBinding ProductId = (FacesCtrlAttrsBinding)bc.get("ProductId");
    FacesCtrlAttrsBinding CostPrice = (FacesCtrlAttrsBinding)bc.get("CostPrice");
    JUCtrlActionBinding action =
    (JUCtrlActionBinding)bc.findCtrlBinding("updateProductPrice");
    DCDataControl dc = action.getDataControl();
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    AppModule service = (AppModule)am;
    service.updateProductPrice(new Long(ProductId.toString()), CostPrice.toString());
    return null;
    public BindingContainer getBindings() {
    return BindingContext.getCurrent().getCurrentBindingsEntry();
    The update method defined in the Application module (AppModuleImpl.java)
    public void updateProductPrice(long productId, String costPrice) {
    ProductsBaseEOImpl product = retrieveProductById(productId);
    if (product != null) {
    try {
    product.setCostPrice(new Number(costPrice));
    getDBTransaction().commit();
    catch (JboException ex) {
    getDBTransaction().rollback();
    throw ex;
    catch (SQLException ex1) {
    getDBTransaction().rollback();
    private ProductsBaseEOImpl retrieveProductById(long productId) {
    EntityDefImpl productDef = ProductsBaseEOImpl.getDefinitionObject();
    Key productKey = ProductsBaseEOImpl.createPrimaryKey(new DBSequence(productId));
    return (ProductsBaseEOImpl)productDef.findByPrimaryKey(getDBTransaction(),productKey);
    Edited by: john wang on Oct 27, 2009 7:14 AM

    or
    merge into test
    using (select rowid rid
                , id
                , sub_id
                , startdate
                , lead (startdate) over (order by id, sub_id) - 1 ed
           from test) x
    on (x.rid = test.rowid)
    when matched then
       update set end_date = x.ed
    ;

  • Short Dump while fetching values from a Database view

    Hi ALL,
    Here is the code that is giving short dump
    SELECT * FROM ZVMATLMOVE INTO TABLE I_MATLMOVE
        WHERE BUDAT >= V_LASTRUN_DATE
        AND   WERKS IN S_WERKS
        AND   LIFNR IN S_LIFNR
        AND   EBELN IN S_EBELN
        AND   MATNR IN S_MATNR
        AND   BWART IN S_BWART
    (Please don't say that I am using * in the select query,
    I knew that it is not a good way of fetching values)
    Declaration of the internal table is:
    DATA  I_MATLMOVE LIKE ZVMATLMOVE OCCURS 0 WITH HEADER LINE.
    The variable V_LASTRUN_DATE is:
    DATA  V_LASTRUN_DATE LIKE SY-DATUM.
    We will be getting the lastrundate value from another table. And it is passing correct value (ex. 20060731)
    ZVMATLMOVE is a database view created for MKPF and MSEG table. And I checked both table were consistent.
    Dump Analysis:
    Runtime errors         DBIF_RSQL_SQL_ERROR          
    Exception              CX_SY_OPEN_SQL_DB
    Every thing is fine. But I don't know how it is going to dump. Any suggestions?

    Hi !
    It seams that your table is not correct / fully activated.
    To check it out you should try the following:
    - Go to the SE11
    - Give it your table name and go to "Display"
    - Check if the table is "active"
    - Choose "Utilities->Database Object->Check" and see
      if there are any errors
    - go back and choose "Utilities->Runtime Object->Check"
      and see if there are any errors
    If there are any errors - try to activate the table again. You may need the "Utilities->Database Utiliy" for that.
    After there are no more errors by checking all these your program should work.
    Regards
    Rainer
    Some points would be nice if thate helped a bit.

  • Help on a database view

    What database view would you use to ascertain whether transactions are being committed?
    Thanks
    Karthik

    A badly written application will have lots of uncommited records that is shown in V$TRANSACTIONS view. If you see many uncommited transactions then get the developers do the application tuning. This may also lead to many locks.

  • Dimension on a database view

    Hi,
    Can we create a dimension on a database view instead of a table?
    Thanks.

    For the purposes of ETL within OWB you can use a view as the basis of a dimension, you cannot generate dimension DDL for a dimension based on a view you will get the following error when trying to deploy;
    ORA-01702: a view is not appropriate here
    CWM2 does support such a dimension.
    Cheers
    David

  • Reading from a database view

    Im trying to read data from V_TVKBZ_ASSIGN view using the query *select * from  V_TVKBZ_ASSIGN into zV_TVKBZ_ASSIGN where VKORG = gs_bapikna102_gwa-SALESORG VTWEG = gs_bapikna102_gwa-DISTR_CHAN SPART = gs_bapikna102_gwa-DIVISION.*
    endselect.
    However i get the error message " V_TVKBZ_ASSIGN" is not defined in the ABAP Dictionary as a table,projection view, or database view.
    How do i go ahead with this query?

    Since V_TVKBZ_ASSIGN  is a maintenance view you can't write select query for that. For select query it should be a database table or database view or projection view . Better you can write the select query for underlying tables of that view like
    TVKBZ
    TVBUR
    TVKO
    TVKOT
    TVKBT
    TASSIGN_SD_VKORG
    TVKOS
    TVKOV
    TVTW
    TSPA
    TVTWT
    TSPAT

Maybe you are looking for

  • Shut Down Of OC4J Container ist blocked

    Hi, i'vi got a problem with the new 10g iAS and if anybody's encountered the same or does know a solution, please let me know. The problem is: I'm not able to stop the OC4J container in the iAS cleanly. The reason is: There are two timers (java.util.

  • MouseEvent.MOUSE_WHEEL gets incorrect stageX and stageY in Flash Player 17.0.0.134 and Windows 8.1

    I developed a Flash Player swf application with Flash Builder 4.7 (64-bit) before and it has worked well before Flash Player version <= 16. Recently, I updated to Windows 8.1 with Internet Explorer 11 and Flash Player 17.0.0.134. It is strange that s

  • My screen on my iPhone 5 is broken, somebody please help!

    I really need somebody's help, the scene on my iPhone has gone blank and stopped working. I can tell that my phone is on because when I flip the volume switch it'll vibrate, me when I screen shot or change it, it'll make a sound. Also when I have the

  • Smartview Installation

    Hi Experts, The smartview installation on my PC said successful but it did not add the add-in. I am unable to uninstall as it does not appear in the "Remove programs" list in the Control Panal. I am also unable to re-install as unable to select the o

  • FIFO Valuation Report

    Hi All, as an example, through Goods Receipt Purchase Order (e.g item 'x' quantity 10 price 2 euros =20 euros). If finally I get from vendor a Purchase invoice (copy from) with  item 'x' quantity 10 price 1 euros =10 euros I should expect to see that