URGENT: INDEX BY TABLES IN FORMS 6i

Hi, i have created a package that manages an Index by Table locally to a form (i.e. not on the server). At one poin in the form, after posting changes, i use a procedure to fill in this table and leave it there for future reference.
My problem is that i can't reference exactly the same table with the data that was filled in after the post.
Here's what i do:
DECLARE
x UPDATE_DISPLAY_BLOCK.sync_tab;
BEGIN
UPDATE_DISPLAY_BLOCK.fill_sync_tab(x);
END;
I have declared 'x' locally to the trigger where this procedure is called. How can i see the same table 'x' for use in another trigger?
Many thanks,

It's not a matter of one session not seeing what was posted by another session. In fact i do 'post' the data and this causes no problem.
The problem resides in having to declare 'x' locally to the program unit which is inside a trigger:
DECLARE
x UPDATE_DISPLAY_BLOCK.sync_tab;
BEGIN
UPDATE_DISPLAY_BLOCK.fill_sync_tab(x);
END;
I want to reference the same 'x' somewhere else in the form without having to declare it again, like:
BEGIN
UPDATE_DISPLAY_BLOCK.delete_sync_tab(x);
END;
which obviously gives an error "object 'x' was not declared"
Regards

Similar Messages

  • Using PL/SQL Table in Forms

    Hi,
    I am populating a PL/SQL table by fetching data through a explicit cursor. But when i am accessing the PL/SQL table after population, i am getting a "NO DATA FOUND" error.
    I am attaching the Forms local progam units which have the logic.
    PACKAGE f_get_bike_makers IS
    TYPE prectype_maker_dtls_pll IS RECORD (
    country_code ad_bike_maker_details.abmd_country_code%TYPE,
    country_name table_values.tvs_description%TYPE,
    manu_code ad_bike_maker_details.abmd_manufacturer_code%TYPE,
    maker_name ad_bike_maker_details.abmd_maker_name%TYPE,
    maker_name_kana ad_bike_maker_details.abmd_maker_name_kana%TYPE,
    const_by ad_bike_maker_details.abmd_constructed_by%TYPE,
    const_time ad_bike_maker_details.abmd_construction_time%TYPE,
    update_by ad_bike_maker_details.abmd_updated_by%TYPE,
    update_time ad_bike_maker_details.abmd_updated_time%TYPE
    TYPE ptabtype_maker_dtls_pll IS TABLE OF prectype_maker_dtls_pll
    INDEX BY BINARY_INTEGER;
    FUNCTION f_get_bike_makers_pll RETURN ptabtype_maker_dtls_pll;
    END;
    PACKAGE BODY f_get_bike_makers IS
    FUNCTION f_get_bike_makers_pll
    RETURN ptabtype_maker_dtls_pll
    IS
    CURSOR cur_maker_dtls
    IS
    SELECT abmd.abmd_country_code,
    tvs.tvs_description,
    abmd.abmd_manufacturer_code,
    abmd.abmd_maker_name,
    abmd.abmd_maker_name_kana,
    abmd.abmd_constructed_by,
    abmd.abmd_construction_time,
    abmd.abmd_updated_by,
    abmd.abmd_updated_time
    FROM ad_bike_maker_details abmd,
    table_values tvs
    WHERE abmd.abmd_country_code = tvs.tvs_code
    AND tvs.tvs_tad_code = 'COUNTRIES'
    ORDER BY abmd.abmd_country_code;
    ln_tab_index BINARY_INTEGER := 0;
    ltab_maker_dtls ptabtype_maker_dtls_pll;
    BEGIN
    FOR lcur_maker_dtls IN cur_maker_dtls
    LOOP
    ln_tab_index := ln_tab_index + 1;
    ltab_maker_dtls (ln_tab_index) := lcur_maker_dtls;
    END LOOP;
    RETURN ltab_maker_dtls;
    END f_get_bike_makers_pll;
    END;
    PROCEDURE f_populate_maker_names
    IS
    ltab_maker_dtls f_get_bike_makers.ptabtype_maker_dtls_pll;
    lb_record_group BOOLEAN;
    ln_ltab_maker_dtls_index BINARY_INTEGER;
    BEGIN
    -- read all the vehicle types from table_values
    -- get makers and countries
    ltab_maker_dtls := f_get_bike_makers.f_get_bike_makers_pll ;
    DELETE_GROUP_ROW ('REC_MAKER_NAME', all_rows);
    ln_ltab_maker_dtls_index := ltab_maker_dtls.FIRST;
    begin
    WHILE ln_ltab_maker_dtls_index IS NOT NULL
    LOOP
    lb_record_group := l_record_group.insert_value ('REC_MAKER_NAME',
    'ABMD_MANUFACTURER_CODE',
    ltab_maker_dtls (ln_ltab_maker_dtls_index).manu_code,
    ln_ltab_maker_dtls_index
    lb_record_group := l_record_group.insert_value ('REC_MAKER_NAME',
    'ABMD_MAKER_NAME',
    ltab_maker_dtls (ln_ltab_maker_dtls_index).maker_name,
    ln_ltab_maker_dtls_index
    lb_record_group := l_record_group.insert_value ('REC_MAKER_NAME',
    'COUNTRY_NAME',
    ltab_maker_dtls (ln_ltab_maker_dtls_index).country_name,
    ln_ltab_maker_dtls_index
    lb_record_group := l_record_group.insert_value ('REC_MAKER_NAME',
    'ABMD_COUNTRY_CODE',
    ltab_maker_dtls (ln_ltab_maker_dtls_index).country_code,
    ln_ltab_maker_dtls_index
    ln_ltab_maker_dtls_index := ltab_maker_dtls.NEXT (ln_ltab_maker_dtls_index);
    end;
    END LOOP;
    exception when no_data_found then
    message('ln_ltab_maker_dtls_index :'||ln_ltab_maker_dtls_index);
    message(' ');
    end;
    ltab_maker_dtls.DELETE;
    END;
    SQL> desc ad_bike_maker_details
    Name Null? Type
    ABMD_COUNTRY_CODE NOT NULL VARCHAR2(2)
    ABMD_MANUFACTURER_CODE NOT NULL VARCHAR2(2)
    ABMD_MAKER_NAME VARCHAR2(60)
    ABMD_MAKER_NAME_KANA VARCHAR2(60)
    ABMD_CONSTRUCTED_BY NOT NULL VARCHAR2(20)
    ABMD_CONSTRUCTION_TIME NOT NULL DATE
    ABMD_UPDATED_BY VARCHAR2(20)
    ABMD_UPDATED_TIME DATE
    SQL> desc table_values
    Name Null? Type
    TVS_TAD_CODE NOT NULL VARCHAR2(15)
    TVS_CODE NOT NULL VARCHAR2(15)
    TVS_DESCRIPTION NOT NULL VARCHAR2(70)
    Oracle Database Version
    =======================
    Oracle8 Enterprise Edition Release 8.0.6.1.0 - Production
    PL/SQL Release 8.0.6.1.0 - Production
    Forms Version
    ==============
    Forms [32 Bit] Version 5.0.6.8.0 (Production)
    PL/SQL Version 2.3.4.0.0 (Production)
    Please do let know what could be the possible source of error.
    Thanks in advance.
    Nitin

    But we have to use the PL/SQL table as per our design standards.
    We are implementing the population logic of the PL/SQL table in the database as a
    package function. We are then accessing the PL/SQL table in Forms to populate the record group.It is curious that you would have such a unique requirement -- something that might make forms run a tiny bit faster -- yet you are using an ancient version of Forms.
    Also the "NO DATA FOUND" error is not raised everytime the PL/SQL table is accessed.
    What could be the reason for this erratic behaviour?I wonder if there may be a bug in SQL Net in the Oracle-to-Forms communication where PL/SQL tables are passed as out parameters. I know there is one in Web Forms 6 (6.0.8.19.1) when passing a pl/sql table from the form to Oracle -- I had to write the pl/sql table to a database table to get my process to work.

  • Issue with index on table

    Hi,
    We have created an index(assume z2) on table CATSDB with 2 fields. There is an other index(Z1 assume) with the same fields and the order is also same. When a report accesing the table it is taking more time to run when index Z2 is on table. But when deleted then the report ran quickly. Is it with the duplicate index created???
    Please let me know
    Regards
    Shiva

    Hi
    i am giving total index and buffering concept details by seeing this you can understand how we can achive performance through these
    <b>reward if usefull</b>
    <b>Performance during table access</b>
    <b>Indexes</b>
    Primary and secondary indexes
    Structure of an index
    Accessing tables using indexes
    <b>Table buffering</b>
    Advantages of buffering
    Concept of buffering
    Buffering types
    Buffer synchronization
    <b>Primary and secondary indexes</b>
    Index: Technical key of a database table.
    Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database.
    Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table.
    <b>Structure of an Index</b>
    An index can be used to speed up the selection of data records from a table.
    An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read.
    When creating indexes, please note that:
    An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position.
    Only those fields whose values significantly restrict the amount of data are meaningful in an index.
    When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes.
    Make sure that the indexes on a table are as disjunctive as possible.
    (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)
    <b>Accessing tables using Indexes</b>
    The database optimizer decides which index on the table should be used by the database to access data records.
    You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table.
    The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z.
    If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database.
    When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated
    <b>Database access using Buffer concept</b>
    Buffering allows you to access data quicker by letting you
    access it from the application server instead of the database.
    <b>Advantages of buffering</b>
    Table buffering increases the performance when the records of the table are read.
    As records of a buffered table are read directly from the local buffer of the application server on which the accessing transaction is running, time required to access data is greatly reduced. The access improves by a factor of 10 to 100 depending on the structure of the table and on the exact system configuration.
    If the storage requirements in the buffer increase due to further data, the data that has not been accessed for the longest time is displaced. This displacement takes place asynchronously at certain times which are defined dynamically based on the buffer accesses. Data is only displaced if the free space in  the buffer is less than a predefined value or the quality of the access is not satisfactory at this time.
    Entering $TAB in the command field resets the table buffers on the corresponding application server. Only use this command if there are inconsistencies in the buffer. In large systems, it can take several hours to fill the buffers. The performance is considerably reduced during this time.
    <b>Concept of buffering</b>
    The R/3 System manages and synchronizes the buffers on the individual application servers. If an application program accesses data of a table, the database interfaces determines whether this data lies in the buffer of the application server. If this is the case, the data is read directly from the buffer. If the data is not in the buffer of the application server, it is read from the database and loaded into the buffer. The buffer can therefore satisfy the next access to this data.
    The buffering type determines which records of the table are loaded into the buffer of the application server when a record of the table is accessed. There are three different buffering types.
    With full buffering, all the table records are loaded into the buffer when one record of the table is accessed.
    With generic buffering, all the records whose left-justified part of the key is the same are loaded into the buffer when a table record is accessed.
    With single-record buffering, only the record that was accessed is loaded into the buffer.
    <b>Buffering types</b>
    With full buffering, the table is either completely or not at all in the buffer. When a record of the table is accessed, all the records of the table are loaded into the buffer.
    When you decide whether a table should be fully buffered, you must take the table size, the number of read accesses and the number of write accesses into consideration. The smaller the table is, the more frequently it is read and the less frequently it is written, the better it is to fully buffer the table.
    Full buffering is also advisable for tables having frequent accesses to records that do not exist. Since all the records of the table reside in the buffer, it is already clear in the buffer whether or not a record exists.
    The data records are stored in the buffer sorted by table key. When you access the data with SELECT, only fields up to the last specified key field can be used for the access. The left-justified part of the key should therefore be as large as possible for such accesses. For example, if the first key field is not defined, the entire table is scanned in the buffer. Under these circumstances, a direct access to the database could be more efficient if there is a suitable secondary index there.
    With generic buffering, all the records whose generic key fields agree with this record are loaded into the buffer when one record of the table is accessed. The generic key is a left-justified part of the primary key of the table that must be defined when the buffering type is selected. The generic key should be selected so that the generic areas are not too small, which would result in too many generic areas. If there are only a few records for each generic area, full buffering is usually preferable for the table. If you choose too large a generic key, too much data will be invalidated if there are changes to table entries, which would have a negative effect on the performance.
    A table should be generically buffered if only certain generic areas of the table are usually needed for processing.
    Client-dependent, fully buffered tables are automatically generically buffered. The client field is the generic key. It is assumed that not all of the clients are being processed at the same time on one application server. Language-dependent tables are a further example of generic buffering. The generic key includes all the key fields up to and including the language field.
    The generic areas are managed in the buffer as independent objects. The generic areas are managed analogously to fully buffered tables. You should therefore also read the information about full buffering.
    Single-record buffering is recommended particularly for large tables in which only a few records are accessed repeatedly with SELECT SINGLE. All the accesses to the table that do not use SELECT SINGLE bypass the buffer and directly access the database.
    If you access a record that was not yet buffered using SELECT SINGLE, there is a database access to load the record. If the table does not contain a record with the specified key, this record is recorded in the buffer as non-existent. This prevents a further database access if you make another access with the same key
    You only need one database access to load a table with full buffering, but you need several database accesses with single-record buffering. Full buffering is therefore generally preferable for small tables that are frequently accessed.
    <b>Synchronizing local buffers</b>
    The table buffers reside locally on each application server in the system. However, this makes it necessary for the buffer administration to transfer all changes made to buffered objects to all the application servers of the system.
    If a buffered table is modified, it is updated synchronously in the buffer of the application server from which the change was made. The buffers of the whole network, that is, the buffers of all the other application servers, are synchronized with an asynchronous procedure.
    Entries are written in a central database table (DDLOG) after each table modification that could be buffered. Each application server reads these entries at fixed time intervals.
    If entries are found that show a change to the data buffered by this server, this data is invalidated. If this data is accessed again, it is read directly from the database. In such an access, the table can then be loaded to the buffer again.

  • Why Index-organized Table (IOT) is so slow during bulk/initial insert?

    Tested in 11.1.0.7.0 RAC on RHEL 5 with ASM and 16KB block size.
    Table is not wide: PK contains 4 columns and the leading 2 are compressed because they have relatively low cardinality; 2 other columns are included; the table contains another 4 audit columns; overflow table space defined.
    Created 2 tables, one is IOT, the other is a normal heap-organized table with "COMPRESS FOR ALL OPERATIONS". Both tables have been range partitioned by the first column into 8 partitions, and DOP is set to 8.
    Initial load volume is about 160M rows. Direct Path insert is used with parallel degree 8.
    After initial load, create PK for the 4 columns with the leading 2 compressed on the normal table. The IOT occupied about 7GB storage; the normal table occupied 9GB storage (avg_row_len = 80 bytes) and the PK occupied 5.8GB storage.
    The storage saving of IOT is significant, but it took about 60 minutes to load the IOT, while it only took 10 minutes to load the heap-organized table and then 6 minutes to create the PK. Overall, the bulk insert for IOT is about 4 times slower than the equivalent heap-organized table.
    I have ordered the 4 columns in PK for the best compression ratio (lower cardinality comes first) and only compress the most repetitive leading columns (this matches ORACLE's recommendation in index_stats after validate structure), partition is used to reduce contention, parallel degree is amble, /*+ append */ is used for insert, the ASM system is backed with high-end SAN with a lot of I/O bandwidth.
    So it seems that such table is good candidate for IOT and I've tried a few tricks to get the best out of IOT, but the insert performance is quite disappointing. Please advise me if I missed anything, or you have some tips to share.
    Thanks a lot.
    CREATE TABLE IOT_IS_SLOW
      GROUP_ID      NUMBER(2)                   NOT NULL,
      BATCH_ID      NUMBER(4)                  NOT NULL,
      KEY1              NUMBER(10)                    NOT NULL,
      KEY2              NUMBER(10)                NOT NULL,
      STATUS_ID         NUMBER(2)                   NOT NULL,
      VERSION           NUMBER(10),
      SRC_LAST_UPDATED      DATE,
      SRC_CREATION_DATE     DATE,
      DW_LAST_UPDATED   DATE,
      DW_CREATION_DATE  DATE,
      CONSTRAINT PK_IOT_IS_SLOW
      PRIMARY KEY (GROUP_ID, BATCH_ID, KEY1, KEY2)
    ORGANIZATION INDEX COMPRESS 2
    INCLUDING VERSION
    NOLOGGING
    PCTFREE 20
    OVERFLOW
    PARALLEL ( DEGREE 8 )
    PARTITION BY RANGE(GROUP_ID)
         PARTITION P01 VALUES LESS THAN (2),
         PARTITION P02 VALUES LESS THAN (3),
         PARTITION P03 VALUES LESS THAN (4),
         PARTITION P04 VALUES LESS THAN (5),
         PARTITION P05 VALUES LESS THAN (6),
         PARTITION P06 VALUES LESS THAN (7),
         PARTITION P07 VALUES LESS THAN (8),
         PARTITION P08 VALUES LESS THAN (MAXVALUE)
    );Even if /*+ APPEND */ is ignored for IOT, it is too slow, isn't it?

    David_Aldridge wrote:
    oftengo wrote:
    >
    Direct-path INSERT into a single partition of an index-organized table (IOT), or into a partitioned IOT with only one partition, will be done serially, even if the IOT was created in parallel mode or you specify the APPEND or APPEND_VALUES hint. However, direct-path INSERT operations into a partitioned IOT will honor parallel mode as long as the partition-extended name is not used and the IOT has more than one partition.
    >
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/statements_9014.htm
    Hmmm, that's very interesting. I'm still a bit cynical though -- in order for direct path to work on an index organized table by appending blocks I would think that some extra conditions would have to be satisfied:
    * the table would have to be empty, or the lowest-sorting row of the new data would have to be higher than the highest-sorting row of the existing data
    * the data would have to be sorted
    ... that sort of thing. Maybe I'm suffering a failure of imagination though.Could be. From a Tanel Poder post:
    >
    The “direct path loader” (KCBL) module is used for performing direct path IO in Oracle, such as direct path segment scans and reading/writing spilled over workareas in temporary tablespace. Direct path IO is used whenever you see “direct path read/write*” wait events reported in your session. This means that IOs aren’t done from/to buffer cache, but from/to PGA directly, bypassing the buffer cache.
    This KCBL module tries to dynamically scale up the number of asynch IO descriptors (AIO descriptors are the OS kernel structures, which keep track of asynch IO requests) to match the number of direct path IO slots a process uses. In other words, if the PGA workarea and/or spilled-over hash area in temp tablespace gets larger, Oracle also scales up the number of direct IO slots. Direct IO slots are PGA memory structures helping to do direct IO between files and PGA.
    >
    So I'm reading into this that somehow these temp segments handle it, perhaps because with parallelism you have to be able to deal anyway. I speculate the data is inserted past the high water mark, then any ordering issues left can be resolved before moving the high water mark(s). Maybe examining where segments wind up in the data files can show how this works.
    >
    I can't find anything in the documentation that speaks to this, so I wonder whether the docs are really talking about a form of conventional path parallel insert into an IOT and not true direct path inserts.
    One way to check, I think, would be to get the wait events for the insert and see whether the writes are direct.

  • Creation of context index on index-organized table

    I encountered a problem when creating a domain index(intermediate text context index) on a index-organised table in oracle 8i.
    The description of the error is stated below:
    "ORA-29866: cannot create domain index on a column of index-organized table "
    I have configured intermediate text properly and even it worked for those tables which are not index-organised(ordinary tables).
    This problem has occured only when i made the tables as index organised.
    Please provide us a solution to this problem as early as possible.
    In case if you require any more details i shall provide them.

    Please ask questions about Oracle Text (formerly interMedia text) in the Oracle Text forum. You will get a quicker, more expert answer there.

  • Creation of context index on index-organized tables

    I encountered a problem when creating a domain index(intermediate text context index) on a index-organised table in oracle 8i.
    The description of the error is stated below:
    "ORA-29866: cannot create domain index on a column of index-organized table "
    I have configured intermediate text properly and even it worked for those tables which are not index-organised(ordinary tables).
    This problem has occured only when i made the tables as index organised.
    Please provide us a solution to this problem as early as possible.
    In case if you require any more details i shall provide them.

    creation of domain indexes (such as context) on iot's
    is not currently supported in oracle.

  • What is index oragnized table

    hi can you tell me
    1.what is index oragnized table
    2. fragmentation of table
    3. what is cascading trigger mean

    Hi,
    For this points a good starting point are Oracle Manuals. For index organizated tables check this link [Overview of Index-Organized Tables|http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref1044].
    Cascading triggers should be avoided, see this link [Some Cautionary Notes about Triggers|http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/triggers.htm#sthref3187]
    Regards,
    Edited by: Walter Fernández on Jan 28, 2009 4:21 PM - Adding information about cascading triggers

  • Index Vs table partition

    I have table whose growth is 1 million per month and may increase in future. I currently place an index on column which is frequently uses in where clause. there is another column which contains months so it may possible that I make 12 partitions of that. I want to know what is suitable. is there any connection between index and table partition?
    Message was edited by:
    user459835

    I think the question is more of what type of queries are answered by this table?
    is it that most of the times the results returned span across several months?
    is there any relation to the column you use in where clause with the data belonging to a particular month (or range there-of)?

  • Urgent,showing error while running form..pls,help...

    Hi,
    I have created my own view named GP_NUIF_V and have also successfully established a Database connection,using FWK_TBX_TUTORIAL.I have developed a personal page in Oracle9i JDeveloper ,which is to fetch particular details from my view and show it .. but whenever I run my form I am continuously getting this type of error..pls,help me out ,as my project delivery is nearing..for this I am not been able to head on to registering the form..I have checked from Pl/Sql developer that my query is just running fine as I wanted it to be..I have also changed the FNDNAM in the .dbc file to my view name but it is giving me the same error..please,look at my error and suggest all other ways in how I can solve my problem ,as early as possible..
    Error Page
    Exception Details.
    oracle.apps.fnd.framework.OAException: oracle.adf.mds.exception.MDSRuntimeException
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1064)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1794)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
         at OA.jspService(OA.jsp:40)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    oracle.adf.mds.exception.MDSRuntimeException
         at oracle.adf.mds.internal.MUnResolvedState.resolveState(MUnResolvedState.java:193)
         at oracle.adf.mds.internal.ElementData.resolveState(ElementData.java:509)
         at oracle.adf.mds.internal.ElementData.getUntransAttrVal(ElementData.java:922)
         at oracle.adf.mds.internal.ElementData.getAttrVal(ElementData.java:835)
         at oracle.adf.mds.internal.ElementData.getAttributeValue(ElementData.java:260)
         at oracle.adf.mds.internal.Cache.getAttribute(Cache.java:237)
         at oracle.adf.mds.internal.MetadataManagerBase.getAttributeValueInternal(MetadataManagerBase.java:1069)
         at oracle.adf.mds.internal.MElementImpl.getAttrValueOrExpression(MElementImpl.java:620)
         at oracle.adf.mds.internal.MElementImpl.getAttributeValue(MElementImpl.java:230)
         at oracle.adf.mds.MElement.getLocalRef(MElement.java:291)
         at oracle.apps.fnd.framework.webui.JRADWebBeanMetaData.getUINodeName(JRADWebBeanMetaData.java:1812)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:223)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OARowLayoutHelper.setMetaDataProperties(OARowLayoutHelper.java:74)
         at oracle.apps.fnd.framework.webui.OARowLayoutHelper.createWebBean(OARowLayoutHelper.java:53)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:782)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:469)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:460)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:229)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OAContentContainerHelper.setMetaDataProperties(OAContentContainerHelper.java:74)
         at oracle.apps.fnd.framework.webui.OAContentContainerHelper.createWebBean(OAContentContainerHelper.java:55)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:782)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:469)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:460)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.addAkChildren(OAPageLayoutHelper.java:657)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.setMetaDataProperties(OAPageLayoutHelper.java:243)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.createWebBean(OAPageLayoutHelper.java:194)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:902)
         at oracle.apps.fnd.framework.webui.OAPageBean.createRootWebBean(OAPageBean.java:3966)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:1962)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1562)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
         at OA.jspService(OA.jsp:40)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    oracle.adf.mds.exception.MDSRuntimeException
         at oracle.adf.mds.internal.MUnResolvedState.resolveState(MUnResolvedState.java:193)
         at oracle.adf.mds.internal.ElementData.resolveState(ElementData.java:509)
         at oracle.adf.mds.internal.ElementData.getUntransAttrVal(ElementData.java:922)
         at oracle.adf.mds.internal.ElementData.getAttrVal(ElementData.java:835)
         at oracle.adf.mds.internal.ElementData.getAttributeValue(ElementData.java:260)
         at oracle.adf.mds.internal.Cache.getAttribute(Cache.java:237)
         at oracle.adf.mds.internal.MetadataManagerBase.getAttributeValueInternal(MetadataManagerBase.java:1069)
         at oracle.adf.mds.internal.MElementImpl.getAttrValueOrExpression(MElementImpl.java:620)
         at oracle.adf.mds.internal.MElementImpl.getAttributeValue(MElementImpl.java:230)
         at oracle.adf.mds.MElement.getLocalRef(MElement.java:291)
         at oracle.apps.fnd.framework.webui.JRADWebBeanMetaData.getUINodeName(JRADWebBeanMetaData.java:1812)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:223)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OARowLayoutHelper.setMetaDataProperties(OARowLayoutHelper.java:74)
         at oracle.apps.fnd.framework.webui.OARowLayoutHelper.createWebBean(OARowLayoutHelper.java:53)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:782)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:469)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:460)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:229)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OAContentContainerHelper.setMetaDataProperties(OAContentContainerHelper.java:74)
         at oracle.apps.fnd.framework.webui.OAContentContainerHelper.createWebBean(OAContentContainerHelper.java:55)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:782)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:469)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:460)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.addAkChildren(OAPageLayoutHelper.java:657)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:197)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:123)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.setMetaDataProperties(OAPageLayoutHelper.java:243)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.createWebBean(OAPageLayoutHelper.java:194)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1046)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:902)
         at oracle.apps.fnd.framework.webui.OAPageBean.createRootWebBean(OAPageBean.java:3966)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:1962)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1562)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:463)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:384)
         at OA.jspService(OA.jsp:40)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)

    Don't put reposts. Follow the issue at one place Re: Urgent,showing error while running form..pls,help...
    --Shiv                                                                                                                                                                                                                                                                   

  • Creation of secondary indexes for table "RSBATCHCTRL_PAR" failed

    Hi ,
    We have installed EHP1 on our BI7.0 system successfully, later we are trying to apply SPS01 for this EHP but we got the follwoing error during TBATG conversion.
    2 EGT092 Conversion of table "RSBATCHCTRL_PAR" was restarted
    2 EGT241 The conversion is continued at step "6"
    2 EGT246 Type of conversion: "T" -> "T"
    2 EGT240XBegin step "RSBATCHCTRL_PAR-STEP6":
    4 EGT281 sql:
    4 ED0314 CREATE
    4 ED0314 INDEX [RSBATCHCTRL_PAR~DB] ON [RSBATCHCTRL_PAR]
    4 ED0314 ( [JOBNAME] ,
    4 ED0314 [JOBCOUNT] ,
    4 ED0314 [SERVER] ,
    4 ED0314 [HOST] ,
    4 ED0314 [WP_NO] ,
    4 ED0314 [WP_PID] ,
    4 ED0314 [PROCESS_TYPE] )
    4 ED0314 WITH ( ONLINE=OFF )
    4 ED0314 ON [PRIMARY]
    2 ED0314 Line 1: Incorrect syntax near '('.
    3 EDA093 "DDL time(___1):" ".........6" milliseconds
    2EEGT236 The SQL statement was not executed
    2EEDI006 Index " " could not be created completely in the database
    2EEGT221 Creation of secondary indexes for table "RSBATCHCTRL_PAR" failed
    2EEGT239 Error in step "RSBATCHCTRL_PAR-STEP6"
    2 EGT253XTotal time for table "RSBATCHCTRL_PAR": "000:00:00"
    2EEGT094 Conversion could not be restarted
    2 EGT067 Request for "RSBATCHCTRL_PAR" could not be executed
    1 ED0327XProcess..................: "ferrari_12"
    1 ED0302X=========================================================================
    1 ED0314 DD: Execution of Database Operations
    1 ED0302 =========================================================================
    1 ED0327 Process..................: "ferrari_12"
    1 ED0319 Return code..............: "0"
    1 ED0314 Phase 001................: < 1 sec. (Preprocessing of TBATG)
    1 ED0314 Phase 002................: < 1 sec. (Partitioning)
    1 ED0309 Program runtime..........: "< 1 sec."
    1 ED0305 Date, time...............: "03.06.2009", "12:47:21"
    1 ED0318 Program end==============================================================
    1 ETP166 CONVERSION OF DD OBJECTS (TBATG)
    1 ETP110 end date and time   : "20090603124721"
    1 ETP111 exit code           : "8"
    1 ETP199 ######################################
    System properties:
    SAP - BI7.0 with EHP1
    Database - MSSQL 2000
    OS - Windows2003
    Please suggest.
    Thanks in advance,
    Pavan.

    > We have installed EHP1 on our BI7.0 system successfully, later we are trying to apply SPS01 for this EHP but we got the follwoing error during TBATG conversion.
    > 2 ED0314 Line 1: Incorrect syntax near '('.
    > 3 EDA093 "DDL time(___1):" ".........6" milliseconds
    > 2EEGT236 The SQL statement was not executed
    This is a known problem with SQL Server 2000, see
    Note 1180553 - Syntax error 170 during index creation on SQL 2000
    I highly suggest upgrading to SQL Server 2005 or 2008.
    Markus

  • Creation of indexes in tables

    SAP 4.7      6.20       Oracle 10g       Windows Server 2003
    Our SAP system was based on SQL.
    Last month it was changed to Oracle 10g.
    We really have a lot of developments ( Z programs ), and it's normal for us to create indexes some times.
    But I don't know if we are supposed to change our habits from now on because of Oracle.
    I have 2 questions :
    1) Is the creation of indexes in tables so effective in Oracle as it was for SQL databases ?
    2) When I create an index, Am I supposed to use the field MANDT as part of the index ?
    Eduardo

    Hi,
    We are on Oracle 10.2.4.0 .My answers for point
    1. Ensure that oracle patches are up-to-date. Also oracle parameters are set correctly.There is one S-note(do not remember right now) which has script file which you can run on your system to find if oracle parameters are set according to recommendation.
    2. Mandt can be used in Z programs.Not a problem.
    For future: Analyze Expensive SQl statements with the help of St03N and St04 for next2-3 months and tune them.
    Does it help

  • Index Organized Tables

    what is logical rowid in IOT?are they stored somwhere physically just like physical rowId's
    what are secondary indexes?
    what it means by leaf block splits?when and how it happens?
    and the primary key constraint for an index-organized table cannot be dropped, deferred, or disabled,,,,,Is it true,,,,,if Yes Then Y
    how does overflow works?how the two clauses are implemented PCTTHRESHOLD and INCLUDING.how they work?
    Edited by: Juhi on Oct 22, 2008 1:09 PM

    I'm sort-of tempted to just point you in the direction of the official documentation (the concepts guide would be a start. See http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/schema.htm#sthref759)
    But I would say one or two other things.
    First, physical rowids are not stored physically. I don't know why you'd think they were. The ROWID data type can certainly be used to store a rowid if you choose to do so, but if you do something like 'select rowid from scott.emp', for example, you'll see rowids that are generated on-the-fly. ROWID is a pseudo-column, not physically stored anywhere, but computed whenever needed.
    The difference between a physical rowid and a logical one used with IOTs comes down to a bit of relational database theory. It is a cast-iron rule of relational databases that a row, once inserted into a table, must never move. That is, the rowid it is assigned at the moment of its first insertion, must be the rowid it 'holds onto' for ever and ever. If you ever want to change the rowids assigned to rows in an ordinary table, you have to export them, truncate the table and then re-insert them: fresh insert, fresh rowid. (Oracle bends this rule for various maintenance and management purposes, whereby 'enable row movement' permits rows to move within a table, but the general case still applies mostly).
    That rule is obviously hopeless for index structures. Were it true, an index entry for 'Bob' who gets updated to 'Robert' would find itself next to entries for 'Adam' and 'Charlie', even though it now has an 'R' value. Effectively, a 'b' "row" in an index must be allowed to "move" to an 'r' sort of block if that's the sort of update that takes place. (In practice, an update to an index entry consists of performing a delete followed by a re-insert, but the physicalities don't change the principle: "rows" in an index must be allowed to move if their value changes; rows in a table don't move, whatever happens to their values)
    An IOT is, at the end of the day, simply an index with a lot more columns in it than a "normal" index would have -so it, too, has to allow its entires (its 'rows', if you like) to move. Therefore, an IOT cannot use a standard ROWID, which is assigned once and forever. Instead, it has to use something which takes account of the fact that its rows might wander. That is the logical rowid. It's no more "physical" than a physical rowid -neither are physically stored anywhere. But a 'physical' rowid is invariant; a logical one is not. The logical one is actually constructed in part from the primary key of the IOT -and that's the main reason why you cannot ever get rid of the primary key constraint on the IOT. Being allowed to do so would equate to allowing you to destroy the one organising principle for its contents that an IOT possesses.
    (See the section entitled "The ROWID Pseudocolumn" and following on this page: http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1845
    So IOTs have their data stored in them in primary key order. But they don't just contain the primary key, but every other column in the 'table definition' too. Therefore, just like with an ordinary table, you might want sometimes to search for data on columns which are NOT part of the primary key -and in that case, you might well want these non-primary key columns to be indexed. Therefore, you will create ordinary indexes on these columns -at this point, you're creating an index on an index, really, but that's a side issue, too! These extra indexes are called 'secondary indexes', simply because they are 'subsidiary indexes' to the main one, which is the "table" itself arranged in primary key order.
    Finally, a leaf block split is simply what happens when you have to make room for new data in an index block which is already packed to the rafters with existing data. Imagine an index block can only contain four entries, for example. You fill it with entries for Adam, Bob, Charlie, David. You now insert a new record for 'Brian'. If this was a table, you could throw Brian into any new block you like: data in a table has no positional significance. But entries in an index MUST have positional significance: you can't just throw Brian in amongst the middle of a lot of Roberts, Susans and Tanyas. Brian HAS to go in between the existing entires for Bob and Charlie. Yet you can't just put him in the middle of those two, because then you'd have five entries in a block, not four, which we imagined for the moment to be the maximum allowed. So what to do? What you do is: obtain a new, empty block. Move Charlie and David's entries into the new block. Now you have two blocks: Adam-Bob and Charlie-David. Each only has two entries, so each has two 'spaces' to accept new entries. Now you have room to add in the entry for Brian... and so you end up with Adam-Bob-Brian and Charlie-David.
    The process of moving some index entries out of one block into a new one so that there's room to allow new entries to be inserted in the middle of existing ones is called a block split. They happen for other reasons, too, so this is just a gloss treatment of them, but they give you the basic idea. It's because of block splits that indexes (and hence IOTs) see their "rows" move: Charlie and David started in one block and ended up in a completely different block because of a new (and completely unrelated to them) insert.
    Very finally, overflow is simply a way of splitting off data into a separate table segment that wouldn't sensibly be stored in the main IOT segment itself. Suppose you create an IOT containing four columns: one, a numeric sequence number; two, a varchar2(10); three, a varchar2(15); and four, a blob. Column 1 is the primary key.
    The first three columns are small and relatively compact. The fourth column is a blob data type -so it could be storing entire DVD movies, multi-gigabyte-sized monsters. Do you really want your index segment (for that is what an IOT really is) to balloon to huge sizes every time you add a new row? Probably not. You probably want columns 1 to 3 stored in the IOT, but column 4 can be bumped off over to some segment on its own (the overflow segment, in fact), and a link (actually, a physical rowid pointer) can link from the one to the other. Left to its own devices, an IOT will chop off every column after the primary key one when a record which threatens to consume more than 50% of a block gets inserted. However, to keep the main IOT small and compact and yet still contain non-primary key data, you can alter these default settings. INCLUDE, for example, allows you to specify which last non-primary key column should be the point at which a record is divided between 'keep in IOT' and 'move out to overflow segment'. You might say 'INCLUDE COL3' in the earlier example, so that COL1, COL2 and COL3 stay in the IOT and only COL4 overflows. And PCTTHRESHOLD can be set to, say, 5 or 10 so that you try to ensure an IOT block always contains 10 to 20 records -instead of the 2 you'd end up with if the default 50% kicked in.

  • Need suggestion on adding Index on table

    Hi,
    There is table called customer_locations in my database which has records about more then 5000 rows, When we write some select query to fetch data from this table takes too much time to load the data.
    Need a suggestion how to add index to increase the performance on this table. also which type of index to be added need a suggestion
    table sql script is mentioned below
    CREATE TABLE "CUSTOMER_LOCATIONS"
    (     "LOCATION_ID" NUMBER NOT NULL ENABLE,
         "COMPANY_NAME" VARCHAR2(512),
         "ADDRESS_LINE_1" VARCHAR2(512),
         "ADDRESS_LINE_2" VARCHAR2(512),
         "PHONE_NUMBER" VARCHAR2(255),
         "FAX_NUMBER" VARCHAR2(255),
         "CITY" VARCHAR2(512),
         "STATE" VARCHAR2(512),
         "ZIP" VARCHAR2(100),
         "COUNTRY" VARCHAR2(255),
         "CREATED_BY" VARCHAR2(512),
         "CREATED_DATE" TIMESTAMP (6),
         "MODIFIED_BY" VARCHAR2(512),
         "MODIFIED_DATE" TIMESTAMP (6),
         "DOMAIN_ID" NUMBER,
         "LOCATION_TYPE" VARCHAR2(255),
         "STATUS" VARCHAR2(50),
         "IB_STATUS" VARCHAR2(100),
         "OLD_LOCATION_ID" VARCHAR2(50),
         CONSTRAINT "SS_CUSTOMER_LOCATIONS_PK" PRIMARY KEY ("LOCATION_ID") ENABLE
    Please suggest
    Thanks
    Sudhir

    Hi Sudhir,
    Since you have no predicates it would be unavoidable to have FULL TABLE SCAN. But let me tell you that FULL TABLE SCANS are not bad.
    Just to help you with, the below code can enunciate the use of Indexes:
    drop table test_table;
    create table test_Table as select * from all_objects where rownum < 5001;
    select * from user_ind_columns where table_name = 'TEST_TABLE';
    --No rows fetched.
    explain plan for
    select object_name || ' is a ' || object_type as OBJ_DESC, object_id
      from test_table;
    --5000 Rows fetched
    select operation, options, object_name, object_alias, object_instance, object_type, optimizer, depth, position, cost, cardinality, cpu_cost, io_cost
    from plan_table;
    OPERATION               OPTIONS     OBJECT_NAME     OBJECT_ALIAS          OBJECT_INSTANCE     OBJECT_TYPE     OPTIMIZER     DEPTH     POSITION     COST     CARDINALITY     CPU_COST     IO_COST
    SELECT STATEMENT     (NULL)     (NULL)          (NULL)                    (NULL)               (NULL)          ALL_ROWS     0          19               19          5000          1698651          19     
    TABLE ACCESS          FULL     TEST_TABLE     TEST_TABLE@SEL$1     1                    TABLE          (NULL)          1          1               19          5000          1698651          19
    alter table test_Table add constraint pk_object_id PRIMARY KEY (object_id);
    explain plan for
    select object_name || ' is a ' || object_type as OBJ_DESC, object_id
      from test_table
    where object_id = 26;
    select operation, options, object_name, object_alias, object_instance, object_type, optimizer, depth, position, cost, cardinality, cpu_cost, io_cost
    from plan_table
    where statement_id = 'WITH_PK';
    OPERATION               OPTIONS               OBJECT_NAME          OBJECT_ALIAS          OBJECT_INSTANCE     OBJECT_TYPE          OPTIMIZER     DEPTH     POSITION     COST     CARDINALITY     CPU_COST     IO_COST
    SELECT STATEMENT     (NULL)               (NULL)               (NULL)                    (NULL)               (NULL)               ALL_ROWS     0          2               2          1               15543          2
    TABLE ACCESS          BY INDEX ROWID     TEST_TABLE          TEST_TABLE@SEL$1     1                    TABLE                              1          1               2          1               15543          2
    INDEX                    UNIQUE SCAN          PK_OBJECT_ID     TEST_TABLE@SEL$1     (NULL)               INDEX (UNIQUE)     ANALYZED     2          1               1          1               8171          1Let me know if it help or if you still have any concerns.
    Regards,
    P
    Edited by: PurveshK on May 29, 2012 12:40 PM

  • Arranging fields in a table-like form: best-Practice-Solution wanted

    Hello Experts,
    I´m wondering if there exists a 'best practice' considering how to arrange fields in a table-like form.
    I know about cross-tables, but that´s not what we need. Most of the requirements that I have come to known are just that certain fields should be put in a certain order in a table-like outfit.
    We have tried to do this using the drawing functions (e.g. putting a square around the fields and certain border styles), but it often happens that the lines overlap or there are breaks between the lines, so that you have to do a lot of manual configuration with the 'table'.
    Since this is a requirement I´ve come upon with many reports, I can´t believe that this is supposed to be the best solution for this.
    I don´t understand why there isn´t a table-like element in Crystal Reports to use for this. E.g. put a table with x rows and y columns in the header or group head section section and then just put the fields in it.
    Many thanks in advance for your help !

    Hi Frank,
    You can use build in templates available in Template expert.
    Click on Report menu-> Template Expert.
    Select the desired template. ( Table grid template would suite best here) and click OK.
    There is no facility of inserting a table directly as you said. You will have to do it manually by using lines and boxes.
    Hope this is helpful.
    Regards

  • User tables default forms

    Hello,
    I want to use the user tables default forms (after adding the user table in Uer Tables menu, it's generated a form to view that table: add, delete, update info).
    I'd like to lauch this form from my add-on menu. I know how to do that, but I wonder if that MenuID of the menu depends on the SBO installation (on what other tables were added before in SBO). Also, I'd like to put Choose from list capabilities in that form. I know also how to do this (just like a system form), but I also don't now if the FormID is the same on each installation.
    Thank you for your answer.
    I hope I made myself clear.
    Irina Stanca

    You may try this to find the MenuUID of your UDT:
    Start Saved Query through menuitem
    Have you checked Application.ResourceData? I'm not sure whether UDT forms are considered system forms, though. Anyway, you should be able to get the FormID of your UDT form on the fly by iterating the Application.Forms collection and checking the Title property, which equals the UDT Description.
    HTH
    Juha

Maybe you are looking for

  • ITunes 10.5.3 syncing problems

    Ever since I have updated iTunes I have been having problems. Half the time it won't even open or recognize my iPod at all. When it does recognize it, I receive an error when I try and sync it. Usually it's error -60 or sometimes it's an error 50. Is

  • Refreshing the container in ALV grid

    hi, I am working on ALV GRID display (reports with ALV OOPS). I hav created it, but now i need to refresh the container...........i.e when the user presses back and he is giving the new selection criteria , it shd pick the values based on the new sel

  • BI7 Admin Cockpit Data Collection Issue

    Hi, We are in BI7 SP15. When I run my Z query & run Query Runtime Statistics - Delta process chain i don't see any statistics data in 0TCT_C02. I activated all required objects. But if i run query in 0TCT_MC02 & run delta load i see the records in 0T

  • Java Mail Problems within JSP Page

    Hi all, I'm encountering the following problem. I hava a jsp file named common.jsp with holds all common functions like write header and footer and also a send mail function. i include this page in all my other jsp pages. In the signup page - i need

  • Mp3 clips over 800KB won't play???

    I'm building a website for a musician who wants mp3 clips of her music included so people can listen to music from her new CD. I got it all set up using the video/Quicktime plug-in, and it seemed to be working, but now any clips over about 800KB refu