Performance - table LTAP

SAP 4.7 6.20 ORACLE 10G  WINDOWS SERVER 2008
I have several selects to table LTAB which seem to be very slow.
The clause of this select is : where MANDT = A0 and LGNUM = A1 and TANUM in (A2, A3, A4, A5, A6).
In sm66 it's in sequential read, and in st04 it's using INDEX RANGE SCAN LTAP~M which is an SAP index.
This index is by : MANDT, LGNUM, PQUIT, MATNR.
And the slow programs are standard.
But the keys of the table are : MANDT, LGNUM, TANUM, TAPOS, so I don't understand why it's using the index instead of reading by the own table.
Sometimes I see in sm66 4, 5 programs accessing this table with this select at the same time, and it takes some time for them to disappear.
And I don't understand why.
Does anybody have a clue ?
Eduardo

Hi,
SAP Note 191492 - Performance: Customer developments in MM/WM has a question about this table.
If the problem is in an standard report, search notes, surely it's an error or performance note. It's sure if you have applied recently support-packages or you are using this functionality since a recent time. If you don't find it, send a message to SAP. Check  Note 67739 - Priorities of problem messages.
Regards,
Eduardo

Similar Messages

  • Indexing of table LTAP - Performance of LT27 improved / but LT22 decreased

    Hi all,
    We had a performance issue with LT27 , so to overcome it we created indexing for the related fields in table LTAP.
    The performance improved a lot. But recently we received a complaint from client that the performance of LT22 has reduced a lot . For both the programs the table used is LTAP,
    The indexes are totally different as for LT22 using fields  LGNUM, VLTYP, VLPLA and PQUIT  and for LT27 the field used is is VLENR. The LT22 program uses LDB -  T3L .
    My question is - will the performance of the other associated program which uses Table LTAP reduces due to creation of new index for LT27, EVENTHO
    UGH  we are using different fields.
    Please guide.
    Thanks,
    Venbgal Rao.
    Moderator message - Moved to the correct forum
    Edited by: Rob Burbank on Nov 18, 2009 9:38 AM

    Hi,
    The program used is LDB ( SAPDBT3L )  and the code is
    A)   SELECT (LTAP_FIELDS-FIELDS) FROM LTAP
              INTO CORRESPONDING FIELDS OF TABLE ILTAP PACKAGE SIZE MAX_LTAP
                WHERE LGNUM = T3_LGNUM
                AND ( NLTYP IN INLTYP AND NLPLA IN INLPLA )
                AND PQUIT IN PQUIT
                AND (LTAP_SEL-WHERE_TAB).
              SORT ILTAP.                      "n_586127
              PERFORM ILTAP_AUSWERTEN.
            ENDSELECT.
    B)   The secondary index details:
    The table used is LTAP and the details of the fields in SECONDARY INDEX in the table is given in below sequence.
    1)  LGNUM
    2)  NLTYP
    3)  NLPLA
    4)  PQUIT
    Hope this information will help u to suggest me a solution.
    Thanks,
    Vengal Rao

  • Troubleshoot Error - Unable to perform table-based value assignment config

    After to creating class, characteristics, and value assignment type, the system is unable to perform table-based value assignment configuration. The following error is displayed:

    Hi Mr. SAP,
    Based on the diagnosis, you can figure out that most likely someone is already editing the customizing table or might you are not authorized..
    In case if you have the access to SM12 Transaction code, kindly check if an entry present there. If yes it means the table is locked and you can't proceed on that. you have to reach out to the specific resource to unlock the table who did a lock, else you need to reach out to BASIS to make that entry delete.
    Regarding authrization for locking of table, please check SU53 after the execution of the T-code, if you are missing any role. If you find anything there, then reach out to your Security team to get and assigned roles to your profile.
    Regards,
    Abhi

  • Table LTAP and Warehouse Bin contents

    Hi,
    In regards to table LTAP, is LTAP used to hold data on Warehouse Bins and their contents (much like transaction LS24)? Does table LTAP include data on all existing Warehouse Bins with contents? Is there another available table?
    Thanks,
    John

    Hi John Damion 
    LTAP contains details of transfer order items.  Basically we create trasfer orders when the storage location is warehouse managed.  It contains only those item details which were picked from a storage location which is warehouse managed.
    Award points if useful.
    Venkat

  • Help in perform tabls

    hi,
    i doing that perform and i wont to use table r_sel not only in the perform i try with perform tables but i have an erorr
    this is my data and call perform
    DATA: BEGIN OF rtab ,
            sign(1)   TYPE c,
            option(2) TYPE c,
            low   TYPE datum,
            high  TYPE datum,
          END OF rtab .
    DATA: r_sel TYPE STANDARD TABLE  OF rtab.
      PERFORM define-periods USING date_from1 date_to1
                                   date_from2  date_to2 TABLES r_sel.
    "this is the form
    *&      Form  define-periods
    *       text
    *      -->P_DATE_FROM1  text
    *      -->P_DATE_TO1  text
    *      -->P_DATE_FROM2  text
    *      -->P_DATE_TO2  text
    *      -->P_R_SEL  text
    FORM define-periods  USING    p_date_from1
                                  p_date_to1
                                  p_date_from2
                                  p_date_to2
                         TABLES   p_r_sel .   "i think the problem is here i i try with structre rtab buti have eroor to
      RANGES: r_per1 FOR sy-datum .
      RANGES: r_per2 FOR sy-datum .
      MOVE 'I' TO r_per1-sign .
      MOVE 'BT' TO r_per1-option .
      CONCATENATE p_date_from1 '01' INTO r_per1-low .
      IF p_date_to1 IS INITIAL .
        PERFORM last-day
           USING p_date_from1
           CHANGING r_per1-high .
      ELSE.
        PERFORM last-day
            USING p_date_to1
            CHANGING r_per2-high.
      ENDIF .
      APPEND r_per1 .
      MOVE 'I' TO r_per2-sign .
      MOVE 'BT' TO r_per2-option .
      CONCATENATE p_date_from2 '01' INTO r_per2-low .
      IF p_date_to2 IS INITIAL .
        PERFORM last-day
           USING p_date_from2
           CHANGING r_per2-high .
      ELSE.
        PERFORM last-day
          USING p_date_to2
          CHANGING r_per1-high.
      ENDIF .
      APPEND r_per2 .
    "here i append r_sel
      MOVE r_per1-sign TO r_sel-sign.
      MOVE r_per1-option TO r_sel-option .
      MOVE r_per1-low TO r_sel-low .
      MOVE r_per1-high TO r_sel-high .
      APPEND r_sel .
      MOVE r_per2-sign TO r_sel-sign .
      MOVE r_per2-option TO r_sel-option .
      MOVE r_per2-low TO r_sel-low .
      MOVE r_per2-high TO r_sel-high .
      APPEND r_sel .
    ENDFORM.                    " define-periods
    the first erorr is:
         The field "R_SEL" is unknown, but there is a field with the similar               name "P_R_SEL". "P_R_SEL".          
    when i change it to p_r_sel
    i get erorr
    The data object "P_R_SEL" has no structure and therefore no component     called "SIGN". called "SIGN".          
    Regards

    Hi,
    Please try this again.
    DATA: BEGIN OF rtab ,
            sign(1)   TYPE c,
            option(2) TYPE c,
            low   TYPE datum,
            high  TYPE datum,
          END OF rtab .
    DATA: r_sel TYPE STANDARD TABLE  OF rtab.
    DATA: wa_sel LIKE rtab.                "Add here
    PERFORM define-periods TABLES r_sel    "Change here
                            USING date_from1 date_to1
                                  date_from2  date_to2.
    *&      Form  define-periods
    *       text
    *      -->P_DATE_FROM1  text
    *      -->P_DATE_TO1  text
    *      -->P_DATE_FROM2  text
    *      -->P_DATE_TO2  text
    *      -->P_R_SEL  text
    FORM define-periods  TABLES p_r_sel       "Change here
                         USING  p_date_from1
                                p_date_to1
                                p_date_from2
                                p_date_to2.
      RANGES: r_per1 FOR sy-datum .
      RANGES: r_per2 FOR sy-datum .
      MOVE 'I' TO r_per1-sign .
      MOVE 'BT' TO r_per1-option .
      CONCATENATE p_date_from1 '01' INTO r_per1-low .
      IF p_date_to1 IS INITIAL .
        PERFORM last-day
           USING p_date_from1
           CHANGING r_per1-high .
      ELSE.
        PERFORM last-day
            USING p_date_to1
            CHANGING r_per2-high.
      ENDIF .
      APPEND r_per1 .
      MOVE 'I' TO r_per2-sign .
      MOVE 'BT' TO r_per2-option .
      CONCATENATE p_date_from2 '01' INTO r_per2-low .
      IF p_date_to2 IS INITIAL .
        PERFORM last-day
           USING p_date_from2
           CHANGING r_per2-high .
      ELSE.
        PERFORM last-day
          USING p_date_to2
          CHANGING r_per1-high.
      ENDIF .
      APPEND r_per2 .
      MOVE r_per1-sign TO wa_sel-sign.          "Change here
      MOVE r_per1-option TO wa_sel-option.      "Change here
      MOVE r_per1-low TO wa_sel-low.            "Change here
      MOVE r_per1-high TO wa_sel-high.          "Change here
      APPEND wa_sel to p_r_sel .                "Change here
      CLEAR wa_sel.                             "Add here
      MOVE r_per2-sign TO wa_sel-sign .         "Change here
      MOVE r_per2-option TO wa_sel-option.      "Change here
      MOVE r_per2-low TO wa_sel-low.            "Change here
      MOVE r_per2-high TO wa_sel-high .         "Change here
      APPEND wa_sel to p_r_sel.                 "Change here
      CLEAR wa_sel.                             "Add here
    ENDFORM.                    " define-periods
    Regards,
    Ferry Lianto

  • Regarding table LTAP

    whenever we create a transfer order then it creates two line items in table ltap.
    can nayoen tell me any field by which i can identify that this line is for source and this line is for destination
    earlier i was working with field mbpos which i saw in most of the cases has value 1 for source and 2 for destination
    but now we are getting some cases where the values is 1 as well 3 so our logic is not working properly.
    PLease help.
    Thanks in advance

    hi ,
    for source
    VLTYP          Source storage type
    VLBER          Source storage section
    VLPLA          Source Storage Bin
    VSOLM                              Source target quantity in stockkeeping unit
    for destination
    NLTYP          Destination storage type
    NLBER          Destination storage section
    NLPLA          Destination Storage Bin

  • Updating SAP standard table   LTAP

    I want update  and insert new records into LTAP table.
    I should not use MODIFY and INSERT commands to update directly as it is not prefered.
    Please give me FM's  which are used to update LTAP table  if anybody knows.
    Regards,
    jayaram.

    Hi
    Use the fun module
    L_TO_UPDATE_PREPARE
    for LTAP table update
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • After compressed the database table affect the system performance

    There is a very big database table in my system called MSEG. It is about 910G and the wasted tablespace is about 330G. I want to compress the table, but the table is written and deleted frequently. will it affect the system performance if I compress the table. Or I can only select reorganize the dababase table avoid it affect the system performance? Thanks.

    Hi Huiyong,
    If you talk about table compression, it cannot be done online. we need to do this with a planned downtime. Table compression has some percentage of overhead on CPU. Refer SAP note for
    1289494
    FAQ: Oracle compression
    1436352
    Oracle Database 11g Advanced Compression for SAP Systems
    If you talk about online table reorg, yes definitely there would be impact on user performance.
    As the table size is very big it may take some days or hours to perform online Reorg.
    Other faster method is to perform table export import which is faster than online reorg. But it will again require downtime .
    Hope this helps.
    Regards,
    Deepak Kori

  • Table Reorg in R/3 System - eligibility of the table for reorg

    Hi Experts,
    We want to perform Table reorg in our R/3 system 4.7 EXT2. We have taken out top 10 tables which are candidates for table reorg based on Size, could you please let me know the below :
    How i can check that each table is eligible for table reorg or not?
    Which are the tables that can be excluded from table reorg ?.
    Please let me know is therte any procedure for the same.

    Hi Bablu,
    Refer to the link below
    http://janpreetdba.blogspot.in/2013/08/reorg-table-and-index-storage-quality.html
    This will help you filter our tables and indexs having poor storage quality and can be a candidate for reorg.
    Hope this helps.
    Regards,
    Deepak Kori

  • TABLE(CAST()) function not returning the correct results in few scenarios.

    I am using TABLE(CAST()) operation in PL/SQL and it is returning me no data.
    Here is what I have done:
    1.     Created Record type
    CREATE OR REPLACE TYPE target_rec AS OBJECT
    target__id          NUMBER(10),
    target_entity_id NUMBER(10),
    dd           CHAR(3),
    fd           CHAR(3),
    code      NUMBER(10),
    target_pct      NUMBER,
    template_nm VARCHAR2(50),
    p_symbol      VARCHAR2(10),
    pm_init          VARCHAR2(3),
    target_name     VARCHAR2(20),
    targe_type     VARCHAR2(30),
    target_caption     VARCHAR2(30),
    sort_order      NUMBER (4)
    2.     Created Table type
    CREATE OR REPLACE TYPE target_arr AS TABLE OF target_rec
    3.     Created Stored procedure which accepts parameter of type target_arr and runs the Table(Cast()) function on it.
         Following is the simplified form of my procedure.
         PROCEDURE get_target_weights
         p_in_template_target IN target_arr,
         p_out_count          OUT NUMBER,
         IS
         BEGIN
              SELECT count(*) into p_out_count
         FROM TABLE(CAST(p_in_template_target AS                     target_arr)) arr;
         END;
    I am calling get_target_weights from my java code and passing p_in_template_target with 10140 records.
    Scenario 1: If target_pct in the last record is 0, p_out_count returned from the procedure is 0.
    Scenario 2: If target_pct in the last record is any other value(say 0.01), p_out_count returned from the procedure is 10140.
    Please help me understand why the Table(Cast()) is not returning the correct results in Scenario 1. Also adding or deleting any record from the test data returns the correct results (i.e. if keep target_pct in the last record as 0 but add or delete any record).
    Let me know how can I attach the test data I am using to help you debugging as I don’t see any Attach file button on Post Message screen on the forum.

    I am not able to reproduce this problem with a small data set. I can only reproduce with the data having 10140 records.
    I am not sure if this is the memory issue as adding a new record also solves the problem.
    This should not be the error because of wrong way of filling the records in java as for testing purpose I just saved the records which I am sending from java in a table. I updated the stored procedure as well to read the data from the table and then perform TABLE(CAST()) operation. I am still getting 0 as the output for scenario 1 mentioned in my last mail.
    Here is what I have updated:
    1.     Created the table target_table
    CREATE Table target_table
    target_id          NUMBER(10),
    target_entity_id NUMBER(10),
    dd           CHAR(3),
    fd           CHAR(3),
    code      NUMBER(10),
    target_pct      NUMBER,
    template_nm VARCHAR2(50),
    p_symbol      VARCHAR2(10),
    pm_init          VARCHAR2(3),
    target_name     VARCHAR2(20),
    target_type     VARCHAR2(30),
    target_caption     VARCHAR2(30),
    sort_order      NUMBER (4)
    2.     Inserted data into the table : The script has around 10140 rows. Pls let me know how can I send it to you
    3.     Updated procedure to read data from table and stored into variable of type target_arr. Run Table(cast()) operation on target_arr and get the count
    PROCEDURE test_target_weights
    IS
         v_target_rec target_table%ROWTYPE;
         CURSOR wt_cursor IS
         Select * from target_table;
         v_count NUMBER := 1;
         v_target_arr cws_target_arr:= target_arr ();
         v_target_arr_rec target_rec;
         v_rec_count NUMBER;
         BEGIN
         OPEN wt_cursor;
         loop
              fetch wt_cursor into v_target_rec; -- fetch data from table into local           record.
              exit when wt_cursor%notfound;
              --move data into target_arr
              v_target_arr_rec :=                     cws_curr_pair_entity_wt_rec(v_target_rec target_id,v_target_rec. target_entity_id,
                        v_target_rec.dd,v_target_rec.fd,v_target_rec.code,v_target_rec.target_pct,
         v_target_rec.template_nm,v_target_rec.p_symbol,v_target_rec.pm_init,v_target_rec.template_name,
         v_target_rec.template_type,v_target_rec.template_caption,v_target_rec.sort_order);
              v_target_arr.extend();
              v_target_arr(v_count) := v_target_arr_rec;
              v_count := v_count + 1;
         end loop;
         close wt_cursor;
         -- run table cast on target_arr
         SELECT count(*) into v_rec_count
         FROM TABLE(CAST(v_target_arr AS target_arr)) arr;
         DBMS_OUTPUT.enable;
         DBMS_OUTPUT.PUT_LINE('p_out_count ' || v_rec_count);
         DBMS_OUTPUT.PUT_LINE('v_count ' || v_count);
    END;
    Output is
    p_out_count 0
    v_count 10140
    Expected output
    p_out_count 10140
    v_count 10140

  • Internal table & Work area

    Hi Experts,
    I am a novice to ABAP. Can anyone tell me whats the difference b/w internal table and work area. In writing function modules how these will be utilized and in what way.
    Regards
    ss

    HI,
    Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb35de358411d1829f0000e829fbfe/content.htm
    Difference between Work Area and Header Line
    While adding or retrieving records to / from internal table we have to keep the record temporarily.
    The area where this record is kept is called as work area for the internal table.  The area must have the same structure as that of internal table. An internal table consists of a body and an optional header line.
    Header line is a implicit work area for the internal table.  It depends on how the internal table is declared that the itab will have the header line or not.
    e.g.
    data: begin of itab occurs 10,
               ab type c,
               cd type i,
            end of itab.  " this table will have the header line.
    data: wa_itab like itab. " explicit work area for itab
    data: itab1 like itab occurs 10. " table is without header line.
    The header line is a field string with the same structure as a row of the body, but it can only hold a single row.
    It is a buffer used to hold each record before it is added or each record as it is retrieved from the internal table.  It is the default work area for the internal table
    1) The difference between
    whih header line and with out heater line of internal table.
    ex:-
    a) Data : itab like mara occurs 0 with header line.
    b) Data: itab like mara occurs 0.
    -While adding or retrieving records to / from internal table we have to keep the record temporarily.
    -The area where this record is kept is called as work area for the internal table.
    -The area must have the same structure as that of internal table. An internal table consists of a body and an optional header line.
    -Header line is a implicit work area for the internal table. It depends on how the internal table is declared that the itab will have the header line or not.
    a) Data : itab like mara occurs 0 with header line.
    table is with header line
    b) Data: itab like mara occurs 0.
    table is without header line
    2)work area / field string and internal table
    which one is prefarable for good performance any why ?
    -The header line is a field string with the same structure as a row of the body, but it can only hold a single row , whereas internal table can have more than one record.
    In short u can define a workarea of an internal table which means that area must have the same structure as that of internal table and can have one record only.
    Example code:
    data: begin of itab occurs 10,
    ab type c,
    cd type i,
    end of itab. " this table will have the header line.
    data: wa_itab like itab. " explicit work area for itab
    data: itab1 like itab occurs 10. " table is without header line.
    http://www.allsaplinks.com/faq_abap_internaltables.html
    Do reward if it helps,
    Regards,
    Laxmi

  • Problem with column sorting in af:table

    Hi,
    I am populating an af:table using programmatic view object. One of the columns of the table has its sorting set to true. However, when i click on the sort arrow in the column, no data is loaded, and it displays a message "No data to display."
    Kindly, help me in resolving the issue. Thanks in advance for yours assistance.
    Regards,
    Max.

    Hi all,
    I have an exact scenario what you explained. Let me explain my scenario and the way i implemented.
    Mine is also custom java data source implementation where i get data from a service. Followed the implementation details given in document.
    How the framework works:
    1. code to retrieve data from service is written inside executeQueryForCollection.
    2. hasNextForCollection returns true or false based on the no. of data fetched. setFetchComplete(true) is set when it reaches the end of retrieved data.
    3. createRowFromResultSet will be called until setFetchComplete is set to true.
    Worked fine and i am able to get the data in my view object.
    1st Issue:
    Since the code to retrieve data from service is written inside executeQueryForCollection, everytime it is getting executed whenever executeQuery is called (eg. in-memory filtering/sorting, table filtering, table sortine), which is a performance issue. I don't want to call my service often since i've retrieved all the data already.
    Tried:
    I added an if condition inside executeQueryForCollection to skip service call (skipped only service call but not hasNextForCollection() and super.executeQueryForCollection()) by adding a service call flag. Default flag value is false. Whenever we need service call, we need to set the flag (i.e. it is actually a property with setter and getter) to true, followed by executeQuery().
    2nd issue:
    when user performs table filtering/sorting, since i skipped the service call, since there is no rows to populate, createRowFromResultSet() will not be called and so i couldn't see any data in table at all. (I don't know why it expect me to give data.)
    Tried:
    To solve this, i added a local variable to keep the retrived data from service. Whenever i perform service call, i'll keep the data in a local variable. By doing this, whenever executeQueryForCollection is called, i'll check the service call flag. It will be false. In the else part i set the local variable data as user data for collection. The only difference in this implementation is that instead of serving the data from service, i serve data from the local variable. By doing this, filtering/sorting is working fine and i am able to avoid the service call too (but i am not able to avoid the createRowFromResultSet().)

  • Dynamic Performance View question

    So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
    V$DATAFILE is a synonym that references a view named V_$DATAFILE:
    SQL> select dbms_metadata.get_ddl('SYNONYM', 'V$DATAFILE', 'PUBLIC') from dual;
    DBMS_METADATA.GET_DDL('SYNONYM','V$DATAFILE','PUBLIC')
    CREATE OR REPLACE PUBLIC SYNONYM "V$DATAFILE" FOR "SYS"."V_$DATAFILE"
    SQL> select object_type from dba_objects where object_name='V_$DATAFILE';
    OBJECT_TYPE
    VIEW
    But the definition of the view references the.... synonym itself?
    SQL> select dbms_metadata.get_ddl('VIEW', 'V_$DATAFILE', 'SYS') from dual;
    DBMS_METADATA.GET_DDL('VIEW','V_$DATAFILE','SYS')
    CREATE OR REPLACE FORCE VIEW "SYS"."V_$DATAFILE" ("FILE#", "CREATION_CHANGE#",
    "CREATION_TIME", "TS#", "RFILE#", "STATUS", "ENABLED", "CHECKPOINT_CHANGE#", "C
    HECKPOINT_TIME", "UNRECOVERABLE_CHANGE#", "UNRECOVERABLE_TIME", "LAST_CHANGE#",
    "LAST_TIME", "OFFLINE_CHANGE#", "ONLINE_CHANGE#", "ONLINE_TIME", "BYTES", "BLOCK
    S", "CREATE_BYTES", "BLOCK_SIZE", "NAME", "PLUGGED_IN", "BLOCK1_OFFSET", "AUX_NA
    ME", "FIRST_NONLOGGED_SCN", "FIRST_NONLOGGED_TIME", "FOREIGN_DBID", "FOREIGN_CRE
    ATION_CHANGE#", "FOREIGN_CREATION_TIME", "PLUGGED_READONLY", "PLUGIN_CHANGE#", "
    PLUGIN_RESETLOGS_CHANGE#", "PLUGIN_RESETLOGS_TIME") AS
    select "FILE#","CREATION_CHANGE#","CREATION_TIME","TS#","RFILE#","STATUS","ENA
    BLED","CHECKPOINT_CHANGE#","CHECKPOINT_TIME","UNRECOVERABLE_CHANGE#","UNRECOVERA
    BLE_TIME","LAST_CHANGE#","LAST_TIME","OFFLINE_CHANGE#","ONLINE_CHANGE#","ONLINE_
    TIME","BYTES","BLOCKS","CREATE_BYTES","BLOCK_SIZE","NAME","PLUGGED_IN","BLOCK1_O
    FFSET","AUX_NAME","FIRST_NONLOGGED_SCN","FIRST_NONLOGGED_TIME","FOREIGN_DBID","F
    OREIGN_CREATION_CHANGE#","FOREIGN_CREATION_TIME","PLUGGED_READONLY","PLUGIN_CHAN
    GE#","PLUGIN_RESETLOGS_CHANGE#","PLUGIN_RESETLOGS_TIME" from v$datafile
    So the view definition references a synonym, and the synonym references the same view... seems circular. Is this Oracle Corp's way of telling me to bugger off? I just wanted to look up the name of the dynamic performance table out of curiosity.

    DBjanitor_old wrote:
    So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
    The synonyms is owned by PUBLIC, not by SYS - so when SYS references v$XXX they access the underlying object, when anyone else references v$XXX they access the synomym, which points to the view owned by SYS, and the view accesses the underlying object owned by SYS.
    The point of this is that SYS is the only schema allowed to use the code that interprets the dynamic performance views properly, so any end user that wants to access them has to go through an object owned by sys, which then accesses them with the privileges of sys (i.e. the equivalent of authid owner). The apparent loop in the chain simply means that SYS, SYSTEM, DBSNMP etc. can all use the same queries to access the dynamic performance views, but only one of them is accessing the special code directly.
    See what happens if you try to grant access to the raw objects to non-SYS schemas (logged on as SYS)
    SQL> grant select on v$session to test_user;
    grant select on v$session to test_user
    ERROR at line 1:
    ORA-02030: can only select from fixed tables/viewsReagrds
    Jonathan Lewis

  • Find table for table maintenance

    Say you’re in transaction mm03 to display a material.  How do you find the table you can perform table maintenance on to edit selections for field MVGR5?

    Good question.  Here is the way that I found it just know.   I went to SE11 and looked at the MVKE table and saw that the check table for MVGR5 is TVM5,  then I went to the intial screen of SE11 and changed the radiobutton to view, and did F4 help, here I hit the expand view icon and entered TVM5 in as the primary table and checked "Maintainence view",  it returned  V_TVM5 as the maintenance view.  I entered this view name into SM30 and that's it.
    I don't think that it is always this cut and dry.
    Regards
    RIch Heilman

  • Conditional Insert into staging table by using sqlloader

    Hi,
    In Oracle apps I'm submitting a concurrent program programmatically which will call sqlloader and insert into a staging a table.
    This table consists of 30 columns.Program has one input parameter.If parameter value = REQUIRED Then it should insert into first three columns of staging table.If it's APPROVED then it should insert into first 10 columns of the same table.
    Data file is pipe delimited file which may or may not have all possible values :For Required,I many not have all three column values

    >
    I think you understood the thinks wrongly. OP marked UTL_FILE as the correct answer, which is again a server side solution.
    >
    Perhaps you failed to notice that the answer now marked correct was posted AFTER mine. I'm not clairvoyant and OP did not state whether a server side or client side solution was appropriate.
    I stand by my comments. Using an external table is an alternative to sql loader but, as I said, simply using an external table instead of sql loader doesn't address OPs problem.
    >
    And IMO, external table will be faster than UTL_FILE
    >
    I'd be more concerned with why OP wants to write a procedure to parse flat files, deal with data conversion errors and perform table inserts when Oracle already provides that functionality using either external tables or sql loader.
    I would suggest loading the file into a new staging table that can hold all of the columns that might be contained in the flat file. Then the appropriate data can be moved to OPs staging table according to the required business rules.
    Sounds like we each think OP should reconsider the architecture.

Maybe you are looking for

  • ICloud doesn't like my email address?  HELP!!!

    I have an apple ID based on my email address, which happens to have a '-' in the domain name. I set up an icloud account using a different email address at the same domain. On the iPhone, I can't seem to set up a different apple ID for the cloud shar

  • Since upgrading to Lion I can no longer mount my external hard drive

    I backed up about 10 minutes before installing Lion when I was on Snow Leopard. I know my drive works fine and there are no issues with it. However, when Lion was installed, I wanted to perform a Time Machine Backup, but it said my backup disk was un

  • Mail Rules Needed

    I am a new user of Mail having recently moved over from Entourage. I have 12 email accounts that I use in Mail 5.2 in Lion. When I look for new mail in the top level inbox (which shows all of the inbox messages as one list) the unread dot shows up an

  • Trash can disappeared and CAN'T EMPTY TRASH filled up 80 gigs in 3 days

    I'm running Express version of Solaris on X86 machine. Yesterday the trash icon disappeared. Today I put it back in the panel but it still won't throw out the trash. What is the path to the trash folder? 80 gigs filled up in only 3 days ! Dan

  • System Requirements for 64 bit - Xeon systems support???

    Hi everyone, I'm a Vegas Studio Platinum weekend hobbyist and I'm thinking about making the switch to a CS5 environment. I have a trial version of Premiere Pro CS5, but unfortunately it keeps crashing when I try playing MJPEG videos from the timeline