Link with derived tables

Hi,
I am trying to solve an issue I am having with reports created with free hand sql in BO 6.1 in BO Xi. I want to create a derived table that will contains the extra data that I need. after I create the derived table, do I need to create all the links from the original tables because I do want that new table to behave like to original ones.
Brian

Freehand SQL , you are making in BO XI as Derived Table, correct??
As I told you, if you want then you can join those to derived tables, no issues. I also did joining tables to Derived tables to work with Inline Views. My queries has Inner join on two tables based on one more inner join with in those.
I used Derived table for Inner INNER join and joined that derived table with other objects.
In Report, you can use both of them same time.
Is it clear or am I missing ??
Thank You!!
Edited by: BOCP-BOE on Oct 1, 2010 1:47 AM

Similar Messages

  • The links with VARID table

    Dear All,
    We have deleted variants in table VARID in order to solve error CKMLRUN112. Error ckmlrun112 in parameters for closing entry definition
    But we still get this error in ckmlcp.
    Could anyone tell the links with table VARID?
    Where we should delete this variants somewhere else too?
    With best regards,
    Kamila.

    Sridhar,
    While calling the transaction use call transaction tcode using i_bdcdata options from opt message into i_messages.
    data: lws_cnt type char2,
    lws_field type char15.
    LOOP AT i_invoicing_plan INTO wa_invoicing_plan.
    lws_cnt = sy-tabix.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = lws_cnt
    IMPORTING
    output = lws_cnt .
    CONCATENATE 'FPLT-AFDAT(' lws_cnt ')' INTO lws_field.
    CONCATENATE wa_invoicing_plan-date+6(2)
    wa_invoicing_plan-date+4(2)
    wa_invoicing_plan-date+0(4) INTO lws_date
    SEPARATED BY '.'.
    PERFORM bdc_field USING lws_field lws_date.
    CONCATENATE 'FPLT-FPROZ(' lws_cnt ')' INTO lws_field.
    lws_perct = wa_invoicing_plan-percentage.
    CONDENSE lws_perct.
    PERFORM bdc_field USING lws_field lws_perct.
    ENDLOOP.
    While calling the transaction give like this:
    <b>DATA: opt TYPE ctu_params.
    opt-dismode = 'N'.
    opt-updmode = 'A'.
    opt-defsize = 'X'.
    CALL TRANSACTION tcode
    USING i_bdcdata OPTIONS FROM opt MESSAGES INTO i_messages.
    LOOP AT i_messages.
    ENDLOOP.</b>
    Prakash.

  • With_item linking with fi tables

    Hi guys, I am carrying out a requiremnt for Brazil.
    I need to print base, rate , tax code and amount all of which have nine types viz inss,ir,pis,confis,csll,iss,funrural,sest,senat.
    Now as far as I understand I will have to read bseg with belnr gjahr bukrs and buzei with the same primary keys of with item and then pick up for different tax types. I would like to know is there any way to avoid bseg? can I use bkpf instead ? as my req is for vendor only , but bkpf dosent have buzei. Can anyone explain me the connetion of with_item with fi tables better?
    Thanks

    BSIK is for Vendor open items, and BSAK for Vendor cleared items.

  • Stored procedure with database link with "from table(...)"

    Hi guys,
    I've been told I can't create views on a database by the design team and so have to use this stored procedure to obtain the values.
    select HAN_ID, HAN_DS, GLOBAL_IN, LOCAL_IN
    from table(cast(ODADMIN.ODP00002_QUERY.Execute001@DBLINK(11312,'EN') as
    ODADMIN.ODP00002_001_Array@DBLINK)) WHERE LOCAL_IN = 'Y';I've been told that it works when you remove the database links (so on the actual database) when you remove the cast part. I've tried it with my link and with/without the cast part but it doesn't work. With the example above I get the error: ORA-00907: missing right parenthesis.
    When I remove the CAST-AS and the additional parenthesis it brings i get the error: ORA-00904: "ODADMIN"."ODP00002_QUERY"."EXECUTE001": invalid identifier
    When I do table( *"* ODADMIN.ODP00002_QUERY.Execute001@MWW_DEV(11312,'EN') *"* )... -- wrapping the call in speech marks I get: ORA-00972: identifier is too long
    Anyone see what's wrong? Thanks for any help.
    Mike

    Hi Ben,
    Asking now. By a view I mean one local to the database; I could create one on APEX but then I use the database link twice instead of just 1.
    His reasoning Ben:
    Firstly, Maintenance. We will have to maintain additional views (at additional code). Secondly, if the view has a JOIN, then you can't update through it (without complexities). If we have to get the View to pass the data to a Procedure (that's a pain). Also, standards..
    All update occur via either a Procedure, or a Base view, across over 1000 tables
    That's the standard, and doing things differently is costly long term
    People will not know how it works, it will have to be explained, maintained..etc.
    If the Application has the Business Rules, then updates via Base Views, that's a more standard way of developing. Also, if you update via this view, you'll update multiple rows in one call, which is in-effficient if only ONE row needs to change. Therefore, single row updates from the Application is more efficient
    The procedure is as follows:
    --SET SERVEROUTPUT ON
    DECLARE
    nPBusLoc       NUMBER(5):=11312;
    sPHanId        VARCHAR2(3):='SB1';
    sPLngId        VARCHAR2(2):='EN';
    sPDesc         VARCHAR2(30);
    sPAllowAlloc   VARCHAR2(1);
    sPShowEnq      VARCHAR2(1);
    sPAllowDel     VARCHAR2(1);
    sPShowScan     VARCHAR2(1);
    sPGlobalLocal  VARCHAR2(1);
    sPReturnCd     VARCHAR2(2);
    sPReturnTx     VARCHAR2(100);                  
    BEGIN
    ODADMIN.ODP00001.getHandlingCodes
                           (nPBusLoc    --  IN   NUMBER
                          ,sPHanId      -- IN   VARCHAR2
                          ,sPLngId      -- IN   VARCHAR2
                          ,sPDesc       -- OUT  VARCHAR2
                          ,sPAllowAlloc -- OUT  VARCHAR2
                          ,sPShowEnq    -- OUT  VARCHAR2
                          ,sPAllowDel   -- OUT  VARCHAR2
                          ,sPShowScan   -- OUT  VARCHAR2
                          ,sPGlobalLocal-- OUT  VARCHAR2
                          ,sPReturnCd   -- OUT  VARCHAR2
                          ,sPReturnTx   -- OUT  VARCHAR2                                    
    DBMS_OUTPUT.PUT_LINE('nPBusLoc                 = '||nPBusLoc              );
    DBMS_OUTPUT.PUT_LINE('sPHanId                  = '||sPHanId               );
    DBMS_OUTPUT.PUT_LINE('sPLngId                  = '||sPLngId               );
    DBMS_OUTPUT.PUT_LINE('sPDesc                   = '||sPDesc                );
    DBMS_OUTPUT.PUT_LINE('sPAllowAlloc             = '||sPAllowAlloc          );
    DBMS_OUTPUT.PUT_LINE('sPShowEnq                = '||sPShowEnq             );
    DBMS_OUTPUT.PUT_LINE('sPAllowDel               = '||sPAllowDel            );
    DBMS_OUTPUT.PUT_LINE('sPShowScan               = '||sPShowScan            );
    DBMS_OUTPUT.PUT_LINE('sPGlobalLocal            = '||sPGlobalLocal         );
    DBMS_OUTPUT.PUT_LINE('sPReturnCd               = '||sPReturnCd            );
    DBMS_OUTPUT.PUT_LINE('sPReturnTx               = '||sPReturnTx            );
    END;
    /Mike
    Edited by: Dird on 27-Aug-2009 01:50

  • BI - ABAP To pick the field from One table and link with 2nd table

    Hello, I am stuck to write the correct abap code. Requirement is that My Client BMW  California require the below:
    <b>1.</b>  list of invoices (BELNR) that a has tcode = FB01 and FBVB" from Table BKPF.  Account Number field (BELNR) is there in 0fiap_4 Data source
    <b>2.</b> Now Link the above invoice Number (BELNR)  that a has tcode = FB01 and FBVB" from Table BKPF to BMW Custom Table I_BMW_WI. - Field "PAT ID" which is the cocatenation of OBJNR (Object Number), Invoice Number and Purchase Year.  where PICK only thos PAT ID where "TYPEID"  Value = "BMW" in table I_BMW_WI.
    To solve Number 1 Please fix my abap code and help me to write the Code to Solve Number 2 and Link #1 AND #2.
    Please help me soon
    Code # 1
    case I_datasource.
    WHEN '0FI_AP_4'.
    loop at C_t_data into l_s_DTFIAP_3.
    l_tabix = sy-tabix.
    clear I_BMW_WI.
    if sy-subrc = 0.
    select single * from BKPF into I_BKPF where BELNR = l_s_DTFIAP_3-BELNR.
    LOOP AT I_BKPF into I_FINAL WHERE
    Code below is not working
    (I_BKPF-TCODE = ‘FV50’) OR (I_BKPF-TCODE = ‘FB01’)
    I_FINAL-BELNR = I_BKPF-BELNR
    modify I_FINAL.
    endloop
    modify C_t_data from l_s_DTFIAP_3  index l_tabix.
    endif.
    endloop.
    endcase
    Code # 2 -
    Please help with templates.
    Thanks
    Soniya Kapoor

    Hi,
    Ad Code #1
    First of all the key for BKPF consists of:
    BUKRS, BELNR and GJAHR so I think you should use all key fields in your SELECT statement:
    select single * from BKPF into I_BKPF
    where BUKRS = l_s_DTFIAP_3-BUKRS and
          BELNR = l_s_DTFIAP_3-BELNR and
          GJAHR = l_s_DTFIAP_3-GJAHR.
    And why do you test SY-SUBRC after CLEAR ?
    Your IF statement should be after SELECT...
    And last but not least when you are using SELECT SINGLE you always get only one record so what is the purpose of LOOP statement ?
    Try following code:
    case I_datasource.
    WHEN '0FI_AP_4'.
      loop at C_t_data into l_s_DTFIAP_3.
        l_tabix = sy-tabix.
        select single * from BKPF into I_BKPF
          where BUKRS = l_s_DTFIAP_3-BUKRS and
                BELNR = l_s_DTFIAP_3-BELNR and
                GJAHR = l_s_DTFIAP_3-GJAHR.
        if sy-subrc = 0.
          if (I_BKPF-TCODE = ‘FV50’) OR
             (I_BKPF-TCODE = ‘FB01’).
            I_FINAL-BELNR = I_BKPF-BELNR
            modify I_FINAL.
          endif.
          modify C_t_data from l_s_DTFIAP_3 index l_tabix.
        endif.
      endloop.
    endcase.
    regards
    Krzys

  • Source(oracle 11g) with oracle 8i using db link with full table scan

    Hi,
    I'm using oracle 8i version and i'm facing some issue  while using DBlinks.
    SourceDB1 I'm using oracle 8i(Source)
    select *  from tab1
    tabl where id in
    (select id from stab1@SourceDB1  where updt_seq_num > 167720 and work_grp_id in (2900,2901))
    For this, I could able to retrive the data.
    but, today we have migrated one of our source from oracle 8i to oracle 11G
    when I'm executing
    select *  from tab2
    tabl where id in
    (select id from stab2@SourceDB2  where updt_seq_num > 167720 and work_grp_id in (2900,2901))
    we couldn't able to retrive data as it's scaning full table scan.
    when oracle 8i source it's scanning using INDEX scan but if the source oracle 11 h it's scanning full table scan.
    Could you please advise how to resolve this issue for source oracle 11i ?
    Please let us know, if you need any information.

    Blocks that are read via full table scans are stored in the buffer cache, but putting them at the MRU end ensures that they don't push the rest of the useful blocks out of the buffer cache. In your example, if you're full scanning a 2 GB table (T) with a 500 MB buffer cache, the first block that is read from T is put at the MRU end of the buffer cache, displacing the previous block that was at the MRU end of the cache. The next block that is read from T is also put at the MRU end of the buffer cache, displacing the previous block that was at the MRU end of the cache, so block #2 from T displaces block #1 from T. So, you're reading 2 GB of data, but you're constantly purging the older blocks, so you're only really using that last block of the buffer cache.
    Justin

  • SAP script linking with internal table

    Hi all,
    This is my program to print invoices
    REPORT  z_g_test.
    TABLES: sbook.
    DATA sflights_wa TYPE sflights.
    DATA: itcpo LIKE itcpo.
    DATA itcpp LIKE itcpp.
    DATA sflights_itab TYPE TABLE OF sflights WITH HEADER LINE.
    DATA sbook_itab TYPE TABLE OF sbook WITH HEADER LINE.
    *SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
    *SELECT-OPTIONS: s_carrid FOR sflights-carrid,
    *                s_fldate FOR sflights-fldate.
    *SELECTION-SCREEN END OF BLOCK 1.
    SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN COMMENT 1(79) text-004.
    SELECT-OPTIONS: s_custid FOR sbook-customid,
                    s_bookid FOR sbook-bookid.
    SELECTION-SCREEN END OF BLOCK 2.
    INITIALIZATION.
      s_custid-low = 00001721.
      APPEND s_custid.
    START-OF-SELECTION.
      SELECT * FROM sbook INTO sbook_itab WHERE customid IN s_custid.
    *    APPEND sbook TO sbook_itab.
        APPEND sbook_itab.
      ENDSELECT.
      CALL FUNCTION 'OPEN_FORM'
       EXPORTING
    *   APPLICATION                       = 'TX'
    *   ARCHIVE_INDEX                     =
    *   ARCHIVE_PARAMS                    =
         device                            = 'PRINTER'
         dialog                            = 'X'
         form                              = 'ZG_SCRIPT'
         language                          = sy-langu
         OPTIONS                           = itcpo
    *   MAIL_SENDER                       =
    *   MAIL_RECIPIENT                    =
    *   MAIL_APPL_OBJECT                  =
    *   RAW_DATA_INTERFACE                = '*'
    *   SPONUMIV                          =
    * IMPORTING
    *   LANGUAGE                          =
    *   NEW_ARCHIVE_PARAMS                =
    *   RESULT                            =
       EXCEPTIONS
         canceled                          = 1
         device                            = 2
         form                              = 3
         OPTIONS                           = 4
         unclosed                          = 5
         mail_options                      = 6
         archive_error                     = 7
         invalid_fax_number                = 8
         more_params_needed_in_batch       = 9
         spool_error              e         = 10
         codepage                          = 11
         OTHERS                            = 12
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CALL FUNCTION 'WRITE_FORM'
       EXPORTING
         element                        = 'MY_ELEMENT'
         function                       = 'SET'
         type                           = 'BODY'
         window                         = 'MAIN'
    * IMPORTING
    *   PENDING_LINES                  =
       EXCEPTIONS
         element                        = 1
         function                       = 2
         type                           = 3
         unopened                       = 4
         unstarted                      = 5
         window                         = 6
         bad_pageformat_for_print       = 7
         spool_error                    = 8
         codepage                       = 9
         OTHERS                         = 10
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CALL FUNCTION 'CLOSE_FORM'
       IMPORTING
         RESULT                         = itcpp
    *   RDI_RESULT                     =
    * TABLES
    *   OTFDATA                        =
       EXCEPTIONS
         unopened                       = 1
         bad_pageformat_for_print       = 2
         send_error                     = 3
         spool_error                    = 4
         codepage                       = 5
         OTHERS                         = 6
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    My question is! i am not passing the internal table any where. Now i am trying to print the values which is already existed in internal table,so iam not getting the out put. Now what shall i do in order to get output.
    Regards,
    Lisa

    Hi all,
    the modified code is like this.
    REPORT  z_g_test.
    TABLES: sbook.
    DATA sflights_wa TYPE sflights.
    DATA: itcpo LIKE itcpo.
    DATA itcpp LIKE itcpp.
    DATA sflights_itab TYPE TABLE OF sflights WITH HEADER LINE.
    DATA sbook_itab TYPE TABLE OF sbook WITH HEADER LINE.
    *SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
    *SELECT-OPTIONS: s_carrid FOR sflights-carrid,
    *                s_fldate FOR sflights-fldate.
    *SELECTION-SCREEN END OF BLOCK 1.
    SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN COMMENT 1(79) text-004.
    SELECT-OPTIONS: s_custid FOR sbook-customid,
                    s_bookid FOR sbook-bookid.
    SELECTION-SCREEN END OF BLOCK 2.
    INITIALIZATION.
      s_custid-low = 00001721.
      APPEND s_custid.
    START-OF-SELECTION.
      SELECT * FROM sbook INTO sbook_itab WHERE customid IN s_custid.
    *    APPEND sbook TO sbook_itab.
        APPEND sbook_itab.
      ENDSELECT.
      CALL FUNCTION 'OPEN_FORM'
       EXPORTING
    *   APPLICATION                       = 'TX'
    *   ARCHIVE_INDEX                     =
    *   ARCHIVE_PARAMS                    =
         device                            = 'PRINTER'
         dialog                            = 'X'
         form                              = 'ZG_SCRIPT'
         language                          = sy-langu
         OPTIONS                           = itcpo
    *   MAIL_SENDER                       =
    *   MAIL_RECIPIENT                    =
    *   MAIL_APPL_OBJECT                  =
    *   RAW_DATA_INTERFACE                = '*'
    *   SPONUMIV                          =
    * IMPORTING
    *   LANGUAGE                          =
    *   NEW_ARCHIVE_PARAMS                =
    *   RESULT                            =
       EXCEPTIONS
         canceled                          = 1
         device                            = 2
         form                              = 3
         OPTIONS                           = 4
         unclosed                          = 5
         mail_options                      = 6
         archive_error                     = 7
         invalid_fax_number                = 8
         more_params_needed_in_batch       = 9
         spool_error              e         = 10
         codepage                          = 11
         OTHERS                            = 12
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      LOOP AT sbook_itab.
        CALL FUNCTION 'WRITE_FORM'
         EXPORTING
           element                        = 'MY_ELEMENT'
           function                       = 'SET'
           type                           = 'BODY'
           window                         = 'MAIN'
    * IMPORTING
    *   PENDING_LINES                  =
         EXCEPTIONS
           element                        = 1
           function                       = 2
           type                           = 3
           unopened                       = 4
           unstarted                      = 5
           window                         = 6
           bad_pageformat_for_print       = 7
           spool_error                    = 8
           codepage                       = 9
           OTHERS                         = 10
      ENDLOOP.
      CALL FUNCTION 'CLOSE_FORM'
       IMPORTING
         RESULT                         = itcpp
    *   RDI_RESULT                     =
    * TABLES
    *   OTFDATA                        =
       EXCEPTIONS
         unopened                       = 1
         bad_pageformat_for_print       = 2
         send_error                     = 3
         spool_error                    = 4
         codepage                       = 5
         OTHERS                         = 6
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    even though i am not getting the output.
    The question is with out passing the internal table how we will get the output from it?.

  • Find the idoc segment link with Sap Table

    Dear Abaers,
    I am new to Idoc. i have one Idoc (Orders01) for creating sales order.
    I had seen the t-codes WE 30 and WE 60 to know the field description.
    The fielddescription shows names like name1 name2 ort01 etc.
    i want to know what are the db tables involved for that particular idoc segment.
    Thanks in Advance,
    Arati

    Hi Arati,
    to get the description name:
    WE30 transaction and check the segments name available.
    With the segment name, go to WE31 and check the fields used and column 'Data element'.
    Double-click in data element (or inform in se11), you have the description value of the field.
    About the tables involved:
    Click in 'Where use list' os this data element.

  • To find the tables which is having link with particular table.

    hi all,
    i am working on db 10g.
    i have table called JOB_HEADER
    My task is to delete the data in the job_header table.
    Before doing this task, i want to know which are the tables referencing this particular table.
    in other words i have to delelete child records first then i have to delete the above said table.
    is there any way to know the child table existance for this particular parent table?
    Thanks..

    GD wrote:
    hi all,
    i am working on db 10g.
    i have table called JOB_HEADER
    My task is to delete the data in the job_header table.
    Before doing this task, i want to know which are the tables referencing this particular table.
    in other words i have to delelete child records first then i have to delete the above said table.
    is there any way to know the child table existance for this particular parent table?
    Thanks..If there is properly declared referrential integrity declared then yes.
    select *
    from all_constraints
    where r_constraint_name = (select constraint_name from all_constraints where table_name = 'JOB_HEADER' and constraint_type = 'P')
    and constraint_type = 'R'Should do it.
    Cheers,

  • Linking Tables & Derived Tables.

    Hi,
    I am having a problem performing an inner join on a standard table and a derived table. I have been trying syntax along the lines of :
    select test.person_id from person inner join (select person_id from person where person_id = 1000) Test on person.person_id = Test.person_id
    This is obviously a simplified (and useless) example of what I am trying to achieve . I keep getting an 00933 error Sql command not properly ended.
    I am trying to transfer logic from SQL Server where the above syntax would work.
    Any help greatly appreciated.
    Dave

    Thanks Tony, you're right.
    I was using Oracle 8. Having now checked on an Oracle 9 system I get the desired result. Do you know of any way round the issue?
    The problem in a little more detail: I have a Person, an Address and a Person_Address table. In the Person_Address table there are numerous addresses associated with the person. There is a START_DATE field for each record.
    By creating a derived table, as below, I can identify the latest address associated with a person and then by linking this derived table with the Person and Address table complete the required query. Without the derived table I am a little confused.
    SELECT PERSON_ID, MAX(ADDRESS_START_DATE) AS ADDRESS_START_DATE
    FROM PUPIL_ADDRESS
    GROUP BY PERSON_ID
    Any Ideas?

  • Need table name to link with mseg or ekko ekpo

    hi ppl,
            As i need to display mat charasteristics value,class,material id,vendor..etc..
         i got mat char values,class,material id..but furthur i need to link with mseg table..so is there any table which links between mseg to ausp,kssk,ksml,susp..etc..

    HI.
    mseg to ausp by field ATZHL,
    kssk and  ksml no link with MSEG.and susp is not a table ,check it out.
    REgards.
    jay

  • Link with EKKO and BSIK

    Dear All
    can you tell me the relation link with
    BSIK table and EKKO table.
    note that purchase order no (EBELN) not often stored
    in BSIK table
    actual i need the payment terms as per PO and need to create the report of creditor aging so please any buddy can help me?

    Hi
    Well if you want to know the relation ship between two tables
    1. Execute SQVI
    2. Enter name  and press CREATE
    3.Enter Title and in Data Source select TABLE JOIN.and enter
    4.Press Shift + F1 ans enter the table name.
    continue the step 4 and enter the table names for which you want to know the relation ship.
    EKKO-BUKRS -------- BSIK-BUKRS
    EKKO-LIFNR----------- BSIK-LIFNR
    EKKO-AEDAT--------- BSIK-AUGDT
    EKKO-EBELN--------- BSIK-EBELN
    I hope this will help you
    Regards
    Pavan

  • @aggregate aware or Derived Tables  ..

    Hello,
    the original data in my Universe has about 2 Mio. i have 2 questions ..
    is there any reference values for best performance of a universe (e.g 1. Mio rows .. what ever)
    how can i get best performance: @aggregate aware or with derived tables .. (other Alternatives)
    Production DB: Oracle
    BOXIR2 SP 4

    Hi,
    You can get better performance with aggregate awareness, but you need the aggregate tables in the db.
    As a brief overview consider a table prod_cust_order (1million rows)
    Product, Customer, Order Amount
    This could be aggregated to product_order Product, Order Amount (500 rows)
    If the user wants to see order amount by customer then they are going to have to query the original table, but if they are interested in product only they they can go to Product_order table.
    The aggegrate awareness allows you to create a measure object with both tables as the source, and will then select the approriate one when building the query based on the dimension you have selected. So if the user selects customer then it will go to the top prod_cust_order but if they don't it will source it from the much smaller Product_order table. The user does not see the change in WebI unless they look at the underlying SQL.
    Derived tables are not so good for performance as the enter derived query is included in the SQL built.
    Regards
    Alan

  • Slow Query over Database Link with Bind Variable

    I have a query over a DB link, with all tables on the remote database.
    If I use a bind variable (from Toad), the query takes 4 minutes. If I replace the bind variable with a constant or substitution variable, it takes 1 second.
    The query runs fine when run directly on the remote database using bind variable.
    9.2.0.7

    Look up "Bind variable peeking"
    What's happened is you have an execution plan that differs from the one with the constant. Why? My bet is that Oracle "peeked" at the bind variable to help it decide which execution plan to build. It then cached it. It probably cached an execution with an index when it should be doing a full table scan or a hash join instead of a nested loop. It's hard to say specifically what it is.
    Try this, flush your shared pool and rerun the query with the bind and let us know if it takes 1 second or 4 minutes. If it takes 1 second, then that was probably it.
    Read part 2 of Tom Kyte's blog post on what it is and it's behavior.
    http://tkyte.blogspot.com/2007/09/sqltracetrue-part-two.html

  • Can I Select from table skipping extents linked with lost datafiles?

    Hi~,
    I need your help to recover my database.
    I'm using oracle 9.2.0.8 at Fedora 3 with no-archive mode.
    and I don't have any backup.
    Last night, I experenced hard disk failure.
    I tried OS-level recovery, but I lost some datafiles of tablespace.
    anyway, I wanted to recover my database without data of lost datafiles.
    so, I issued "alter database datafile offline drop" and
    start oracle instance.
    But, datafiles were not removed from dba_data_files view and
    extents linked with lost datafiles were not removed from dba_extents view!
    Selecting query of some table containing extents linked with lost data files,
    I got "ORA-00376: file xxx cannot be read at this time" message.
    So, my question is that..
    HOW CAN I SELECT FROM THAT TABLE WITHOUT SCANNING EXTENTS LINKED WITH LOST DATA FILES?
    Thanks.

    Hi,
    Without being in archivelog and without backup, one can't do any sort of recovery. That's why backups and archivelog are so so important.
    The offline data file command never does actually drop the datafile. It merely indicates to the control file that now the said tablespace will also be dropped. This won't update any view that the files are not supposed to be used or shown to you anymore.
    This is what documentation says about the recovery of the database in the NoARch mode,
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osrecov.htm#i1007937
    You do need a backup in order to get those tables being read. Oracle doesn't have any feature which can offline/skip the missing extents for you and let you read the data without them.
    HTH
    Aman....

Maybe you are looking for

  • Windows 8 features not working.

     I had Windows 8 pro then i upgraded to 8.1 and have noticed a problem, sometimes I cannot access any Windows 8 features. (This includes the charms bar, start button, etc.) My Windows key on my keyboard works and it brings me to my start menu but it'

  • Unplanned Delivery Costs in Invoice Verification

    Hiii All , I am getting an error " Balance in Transaction Currency " when i give the Unplanned delivery costs. The configuration that i made is Unplanned delivery costs should be added to the Invoice Items. This comes when i am posting the Planned de

  • IPhoto book - Never shipped

    How frustrating. I ordered my first printed book from Apple and it supposedly shipped on July 13 to be delivered on July 17. I paid for express shipping. On July 17, I checked the tracking number and the only information was that the order was electr

  • Webpart button that assigns user to list item

    I need a button event that when clicked assigns the user to the list item that is selected from a checkbox. All from a webpart. Unfortunately for me corporate will not let us use Visual Studio (security access to critical info and what not). I have a

  • I want to get rid of "Firefox prevented this page from automatically redirecting to another page."

    Same as question