Index usage depends on columns selected

Hi, somehow cannot understand why index is not used, please help.
in Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
1.     Included only indexed column and got a perfect plan
explain plan for2 select s.x_cnt
3 from reported_summary s
4 where s.x_cnt>0;
PLAN_TABLE_OUTPUT
Plan hash value: 2674489506
| Id | Operation | Name | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 306 (8)|
|* 1 | INDEX FAST FULL SCAN| S_NUI01 | 306 (8)|
Predicate Information (identified by operation id):
1 - filter("s"."x_CNT">0)
2.     Included some other column and got TABLE ACCESS FULL
explain plan for2 select s.x_cnt,s.ru_id
3 from reported_summary s
4 where s.x_cnt>0;
PLAN_TABLE_OUTPUT
Plan hash value: 2142873335
| Id | Operation | Name | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 2421 (3)|
|* 1 | TABLE ACCESS FULL| REPORTED_SUMMARY | 2421 (3)|
Predicate Information (identified by operation id):
1 - filter("s"."x_CNT">0)
3.     Included all other columns and got TABLE ACCESS FULL as well
explain plan for2 select s.x_cnt,s.*
3 from reported_summary s
4 where s.x_cnt>0;
PLAN_TABLE_OUTPUT
Plan hash value: 2142873335
| Id | Operation | Name | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 2421 (3)|
|* 1 | TABLE ACCESS FULL| REPORTED_SUMMARY | 2421 (3)|
Predicate Information (identified by operation id):
1 - filter("s"."x_CNT">0)
Thanks a lot

Thanks all, just to clarify
"select s.x_cnt from reported_summary s..." is using index;
"select 'Y' y from reported_summary s..." is using index;
"select <any ohter column> from reported_summary s..." is causing TABLE ACCESS FULL;
no differences in where clause, no order by at all
the index script is
CREATE INDEX S_NUI01 ON REPORTED_SUMMARY (OFFSET_CNT) TABLESPACE X_INDEXES;
jgarry, thanks for the answer, the only problem that I have clone of the database (32 bit) with same CBO parameters
where it does not behave this way:
explain plan for2 select s.offset_cnt
3 from reported_summary s
4 where s.offset_cnt>0;
PLAN_TABLE_OUTPUT
Plan hash value: 2359470296
| Id | Operation | Name | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 9 (0)|
|* 1 | INDEX RANGE SCAN| S_NUI01 | 9 (0)|
Predicate Information (identified by operation id):
1 - access("s"."OFFSET_CNT">0)
explain plan for2 select s.offset_cnt,s.ru_id
3 from reported_summary s
4 where s.offset_cnt>0;
PLAN_TABLE_OUTPUT
Plan hash value: 3732627180
| Id | Operation | Name | Cost (%CPU)|
| 0 | SELECT STATEMENT | | 67 (0)|
| 1 | TABLE ACCESS BY INDEX ROWID| REPORTED_SUMMARY | 67 (0)|
|* 2 | INDEX RANGE SCAN | S_NUI01 | 9 (0)|
Predicate Information (identified by operation id):
2 - access("s"."OFFSET_CNT">0)
Thanks again.

Similar Messages

  • 'IS NOT NULL' & Index Usage

    Hi,
    there are many queries my one of my packages, which has the SQL as follows:
    Update table XYZ
    Set Column A = NULL
    Where Colum B IS NOT NULL;
    Column B has NUMBER datatype.
    Due to 'IS NOT NULL' the index (existing for Column B' is not being used in the above query, leading to Full table scan. Is there any ways of forcing teh index to be picked/used by the query?
    Thanks,
    Rosalin

    thansk again for response. Checked the % of the data
    fetched by this query and it ranges from 20% to 50
    %(varies due to teh fact the table data content could
    have different set of data depending on the days
    transactions done). So for sure index usage would
    help.
    Additionally this sql(used in multiple places) come
    up in the v$longsops output.
    so definitely needs tuning.
    Any suggestions?That's not really true though if you understand the mechanisms employed for a full table scan vs an index scan / table lookup (by rowid since the table must also be visited).
    Here's something good for you to read
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4433887271030
    A full tablescan reads the table using large sequential reads -- many blocks at a time.
    Sequential reads are the fastest type of IO you can do on a disk in general.
    An index read will do single block, random IO's. These are generally the slowest you can
    do.
    I would suggest to you that if you have statistics on the table/indexes that are representative of the data, the Optimizer will be smarter than you (most cases, not all).
    Message was edited by:
    Tubby

  • SQL INDEX USAGE

    hi,
    I have a procedure which took 15-20 minutes in the past to execute.Suddently it is taking 2 hours.When i examined i came to know that the sql statement is not using one of the index.I dropped the index and created it.The explain plan is generated but still the index is not being used.I forced the index usage by using the index hint
    SELECT /*+ INDEX(test_his test_hist_idx )*/ column 1.....
    But still it does not use the index.Please suggest me some advice on this?
    Thanks

    user589320 wrote:
    I have a procedure which took 15-20 minutes in the past to execute.Suddently it is taking 2 hours.When i examined i came to know that the sql statement is not using one of the index.I dropped the index and created it.The explain plan is generated but still the index is not being used.I forced the index usage by using the index hint
    SELECT /*+ INDEX(test_his test_hist_idx )*/ column 1.....
    I think you're going to have to post the entire text of your query if you want an answer, or people will simply be trying to guess what you've done wrong.
    Do you also have the full execution plan from before and after the change in performance ?
    If you do post the text, and plans, please use the 'code' tags to make the text readable.
    p.s. My shot in the dark guess, based on the text you've supplied, is that you've used the table name in the hint, rather than the table alias.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "The temptation to form premature theories upon insufficient data is the bane of our profession."
    Sherlock Holmes (Sir Arthur Conan Doyle) in "The Valley of Fear".
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to get the index of a h:column element?

    Hi!
    I'd like to know how to get the index of a <h:column> element.
    Here is the code of what I'm trying to do:
    <h:column>
         <a:commandLink
              value="#{familyAction.familyDocsByPrj}"
              action="#{homeAction.search(ROW_INDEX)}"
              reRender="rightAppPanel" />
    </h:column>When clicking a row, I'd like to make a "search" depending on the selected row.
    Does anybode know how to do that?
    Thanks a lot :)

    Thanks a lot for all your answers! :)
    I finally got to do something with my little knowledge =P
    I created a new class containing all the data needed for the dataTable (including a "String id").
    And that's what I get:
    <h:column>
         <a:commandLink
              value="#{familyAction.familyDocsByPrj.name}"
              action="#{homeAction.search(familyAction.familydocsByPrj.id)}"
              reRender="rightAppPanel" />
    </h:column>

  • USING INDEXES DEFINED ON TABLES IN SELECT STATEMENTS

    Hi there,
    I would like to ask a simple question, how i can use indexes defined on certain columns on one of my database tables in a select clause:
    table name: B2TECDOC
    schema name: AWDBT1M4
    indexes defined: AWDBT1M4.B2TECDOC_B2TECDOCKEY
    index AWDBT1M4.B2TECDOC_B2TECDOCKEY is defined on columns:
    documentname
    documenttype
    organizationid
    organizationtype
    revision
    sequence
    versionnumbercould you help me construct a select sql using this index?
    another question is will using this index in my select clause increase the overall query performance?
    thanks
    rohan

    A query like
    SELECT *
      FROM AWDBT1M4.B2TECDOC
    WHERE documentname = <<some value>>
       AND documenttype = <<some value>
       AND organizationid = <<some value>>
       AND organizationtype = <<some value>>
       AND revision = <<some value>>
       AND sequence = <<some value>>
       AND versionnumber = <<some value>>should use the index.
    An index is a more efficient way to access a relatively small fraction of the rows in the table. A table scan will be more efficient if you are trying to access a relatively large fraction of the rows in the table. Exactly what "small fraction" and "large fraction" means will depend on a variety of factors that the cost-based optimizer (CBO) attempts to evaluate in determing the query plan.
    Justin

  • LIKE, LIKEC and Index usage

    I've table that contains about 20 million rows, and I've created index for varchar2(100) column. It works well if I do
    SELECT * FROM MY_TABLE WHERE MY_COL LIKE 'FOO%';
    But if I change query to use LIKEC (to make unicode escaped strings work):
    SELECT * FROM MY_TABLE WHERE MY_COL LIKEC 'FOO%';
    I always get full table scan in explain plan.
    I tried to use NVARCHAR, or index created by TO_NCHAR but I always end up hitting full table scan.
    Should I create index some special way or do something else before I get index working?

    Just a gut feeling : is the database using character semantics or byte semantics?
    My gut feeling, after looking up the documentation, is it should be character semantics.
    BTW: Not posting version info decreases the chance you get an adequate reply.
    Sybrand Bakker
    Senior Oracle DBA

  • UNUSED EXISTING INDEXES / Index usage

    We are using CRM 2007, Netweaver 7.0 with DB2 UDB v9.1 fixpack4 on AIX.
    Is there a way to find out  UNUSED EXISTING INDEXES for tables ? We have close 12 indexes on the crmd_order_index table and want to find out if some of them can safely deleted. Is there any way to monitor index usage in SAP ? Is there any toold to aid this ?
    Pls advise.
    thank you
    regards
    Laxmi

    Laxmi,
    I am not aware of any such tools with DB2 9.1.  However, "last_used" columns are being added to various catalog tables in DB2 9.7.  Below is an excerpt from a slide presented in the  TLU2008A "DB2 LUW V9.7 Cobra u2013 Storage is Charmed" session.
    The last reference time of an object will now be maintained in the LASTUSED column of
    the corresponding catalog table for the object
    u2013 SYSCAT.INDEXES.LASTUSED (prior to V9.7 db2pd u2013tcbstats indexes)
    u2013 SYSCAT.TABLES.LASTUSED
    u2013 SYSCAT.DATAPARTITIONS.LASTUSED
    u2013 SYSCAT.PACKAGE.LASTUSED
    The LASTUSED column is of type DATE (default value is 1/1/0001)
    Use Cases:
    u2013 Detach table partitions that are no longer actively used (esp. when not partitioned by time)
    u2013 Determine inactive or infrequently used indexes
    u2013 Easily identify tables which are no longer in use
    u2013 Get rid of unused packages
    The presenter said the code will begin populating these columns in an upcoming fixpack.
    Regards,
    Rick

  • Usage dependency is created at Build time and installation time

    Hi,
    The infrastructure guys have selected the usage dependency as Build time and Installation time, while creating software components.
    "Y" SWC is created as depedency for "X" software component.
    In SLD(software catalog),  we are able to view the Y component as dependency in X component(at both build time and installation time).  In usage dependency we are able to view Y component but when we click Y component in usage dependecy we are also able to view X component. Is there any problem with this ?
    There is another issue. we are able to view basis object(in IR) in Y component but not in X component.  Actually as per the above configuration basis object in IR should appear in X component.
    Please refer to another forum which may give you some more idea.("BPM - Message interfaces of one component are not appearing in another comp") pasted on 17 Nov,2006.
    Please could you provide us the inputs.
    Thanks,
    Ramesh

    hi,
    as you see per my weblog try choosing Installation Time
    /people/michal.krawczyk2/blog/2005/08/26/xi-are-you-independentfrom-your-dependencies
    more about it on:
    http://help.sap.com/saphelp_nw04s/helpdata/en/d4/8d784289b4de54e10000000a155106/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Index On In query columns

    Hi Alll,
    I have one query...can we have Index on: example:
    SELECT col1, col2
    FROM (SELECT Col1 as A, Col2 as B
              FROM tb) t1,
            (SELECT *
              FROM ts) t2
    WHERE t1.col1 = t2.col2Question can we have a virtual on Index on t1's column i.e. t1.A and t1.B

    Hi,
    you can have index on COL1 and COL2 on table tb. I think Virtual index are undocumented feature used by Oracle.
    thanks
    This likk will give you more info.
    http://www.dba-oracle.com/oracle_news/2005_6_29_inside_virtual_indexes.htm
    Edited by: Himanshu Kandpal on Jul 29, 2009 7:23 AM added the link

  • Colorize report results depending on sql selects

    Hy,
    is it possible to colorize report results depending on sql selects.
    For example: select id, name from db where name = 'frankfurt' or name = 'munic'
    All Results munic in red colour.
    Thanks
    Tom

    Hi,
    I have tried using the following in a decode statement of a Region report (type is SQL Query), and all it seems to do is form the HTML text as expected, but does not actually do what I want (i.e. display the field as red):-
    SELECT a_code, a_status, decode(a_fld,a_fld,'&ltfont color=&quotFF0000&quot&gt'||a_fld||'&lt/font&gt','other') "CA" from a_table
    What appears in the report is literally (I've put in single quotes in case this line is interpretted in the forum):
    '<font color="FF0000">1234</font>'
    I'm missing something - to force the HTML to be rendered as such. The field is displayed as a Standard Report Column, but it's just taking the decode search field as an ordinary piece of text. There's something that needs setting, but I can't find it - does anyone know?
    Thanks in advance
    Dave

  • Order query depending on column names passed at runtime

    Hi
    Can any one suggest how to order by at run time depending on column name passed as parameter.
    create or replace procedure dummy_proc( p_orderby varchar2,p_refcursor out sys_refcursor)
    is
    begin
         open p_refcursor for select * from
         emp where Status='A'
              order by (select p_orderby from dual);
    end;
    --execution part for testing
    declare
         v_outcursor sys_refcursor;
         v_rec_data emp%rowtype;
         v_cnt number;
    begin
         dummy_proc ('ename,sal',v_outcursor);
         begin
              loop
                   fetch v_outcursor into v_rec_data;
                   v_cnt:=v_outcursor%rowcount;
                   exit when v_outcursor%notfound;
                   dbms_output.put_line('empno '|| to_char(v_rec_data.empno));
                   dbms_output.put_line('empno '|| v_rec_data.ename);
              end loop;
         end;
         dbms_output.put_line('Count is'|| to_char(v_cnt));
    end;
    we do not want to something like below as my actual query is very big with union statements and case expressions, (below is just an similar example)
    how i tried to order by but its not working.
    v_sql='select * from emp where empno= '|| p_empno || ' order by '|| p_orderby;
    open p_refcursor for v_sql;
    Thanks in advance
    Vishal

    we do not want to something like below as my actual
    query is very big with union statements and case
    expressions, (below is just an similar example)
    how i tried to order by but its not working.
    v_sql='select * from emp where empno= '|| p_empno ||
    ' order by '|| p_orderby;
    open p_refcursor for v_sql;I agree, you really don't want to do that, you want to use BIND VARIABLES.
    v_sql := ' select * from emp where empno = :bound_empno order by :bound_orderby';
    open p_refcursor for v_sql using p_empno, p_orderby;
    [pre]
    The size of the statement shouldn't come in to play, if the only dynamic portion of it is the order by clause then declare a constant which is the large query (you can use a LONG datatype) and then concatenate in the order by clause before you return the reference cursor.
    Unless you can give a legitimate reason for why you cannot use Dynamic SQL (not why you do not want to use it) this would be my approach.
    And please, if you don't know what a bind variable is...read about them, or your system will suffer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Table Sorting based on Column Selection

    Dear All,
    I am using an AbstractTableModel. I would like to implement the sorting based on Column selection. Could anyone help me in this please.
    Thanks in advance,
    Regards
    Irfaan

    check this
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.UIManager;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumnModel;
    import java.awt.Component;
    import java.awt.GridLayout;
    import java.awt.Insets;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.util.Hashtable;
    public class TableSorter extends JPanel
        private boolean             DEBUG       = false;
        private Object[]            columnNames = { "First Name", "Last Name", "Sport", "# of Years",
                                                    "Vegetarian"};
        private Object[][]          data        = { { "Mary", "Campione", "Snowboarding", 1, 2 },
                { "Alison", "Huml", "Rowing", 3, 4 }, { "Kathy", "Walrath", "Knitting", 5, 9 },
                { "Sharon", "Zakhour", "Speed reading", 6, 10 }, { "Philip", "Milne", "Pool", 7, 11 },
                { "Isaac", "Rabinovitch", "Nitpicking", 8, 12 }, };
        private SortFilterModel     m_modSortFilterModel;
        private TableColumnModel    m_modColumnModel;
        private TableHeaderRenderer m_btnSorterRenderer;
        protected boolean           m_bAbCOC    = true;
        JTable                      table       = new JTable();
        public TableSorter()
            super(new GridLayout(1, 0));
            m_modSortFilterModel = new SortFilterModel();
            m_modSortFilterModel.addMouseListener(table);
            table.setModel(m_modSortFilterModel);
            m_btnSorterRenderer = new TableHeaderRenderer();
            m_modColumnModel = table.getColumnModel();
            for (int i = 0; i < columnNames.length; i++)
                m_modColumnModel.getColumn(i).setHeaderRenderer(m_btnSorterRenderer);
            JScrollPane scrollPane = new JScrollPane(table);
            add(scrollPane);
        private class SortFilterModel extends AbstractTableModel
            int[]           indexes;
            ATSTableSorter  sorter;
            public String[] tableHeadersArray;
            boolean         isAscent = true;
            public void addMouseListener(final JTable table)
                table.getTableHeader().addMouseListener(new MouseAdapter()
                    public void mouseClicked(MouseEvent event)
                        int tableColumn = table.columnAtPoint(event.getPoint());
                        m_btnSorterRenderer.setPressedColumn(tableColumn);
                        m_btnSorterRenderer.setSelectedColumn(tableColumn);
                        if (TableHeaderRenderer.DOWN == m_btnSorterRenderer.getState(tableColumn))
                            isAscent = true;
                        else
                            isAscent = false;
                        // translate to table model index and sort
                        int modelColumn = table.convertColumnIndexToModel(tableColumn);
                        sortByColumn(modelColumn, isAscent);
            public Object getValueAt(int row, int col)
                int rowIndex = row;
                if (indexes != null)
                    rowIndex = indexes[row];
                return data[rowIndex][col];
            public void setValueAt(Object value, int row, int col)
                int rowIndex = row;
                if (indexes != null)
                    rowIndex = indexes[row];
                super.setValueAt(value, rowIndex, col);
            public void sortByColumn(int column, boolean isAscent)
                if (sorter == null)
                    sorter = new ATSTableSorter(this);
                sorter.sort(column, isAscent);
                fireTableDataChanged();
            public int[] getIndexes()
                int n = getRowCount();
                if (indexes != null)
                    if (indexes.length == n)
                        return indexes;
                indexes = new int[n];
                for (int i = 0; i < n; i++)
                    indexes[i] = i;
                return indexes;
            public int getRowCount()
                return data.length;
            public String getColumnName(int c)
                return columnNames[c].toString();
            public int getColumnCount()
                return columnNames.length;
            public Class getColumnClass(int col)
                switch (col)
                case 0:
                    return String.class;
                case 1:
                    return String.class;
                case 2:
                    return String.class;
                case 3:
                    return Integer.class;
                case 4:
                    return Integer.class;
                          default:
                    return Object.class;
        class ATSTableSorter
            SortFilterModel model;
            public ATSTableSorter(SortFilterModel model)
                this.model = model;
            public void sort(int column, boolean isAscent)
                int n = model.getRowCount();
                int[] indexes = model.getIndexes();
                for (int i = 0; i < n - 1; i++)
                    int k = i;
                    for (int j = i + 1; j < n; j++)
                        if (isAscent)
                            if (compare(column, j, k) < 0)
                                k = j;
                        else
                            if (compare(column, j, k) > 0)
                                k = j;
                    int tmp = indexes;
    indexes[i] = indexes[k];
    indexes[k] = tmp;
    public int compare(int column, int row1, int row2)
    Object o1 = model.getValueAt(row1, column);
    Object o2 = model.getValueAt(row2, column);
    if (o1 == null && o2 == null)
    return 0;
    else if (o1 == null)
    return -1;
    else if (o2 == null)
    return 1;
    else
    Class type = model.getColumnClass(column);
    if (type.getSuperclass() == Number.class)
    return compare((Number) o1, (Number) o2);
    else if (type == String.class)
    return ((String) o1).compareTo((String) o2);
    else
    return ((String) o1).compareTo((String) o2);
    public int compare(Number o1, Number o2)
    double n1 = o1.doubleValue();
    double n2 = o2.doubleValue();
    if (n1 < n2)
    return -1;
    else if (n1 > n2)
    return 1;
    else
    return 0;
    class TableHeaderRenderer extends JButton implements TableCellRenderer
    public static final int NONE = 0;
    public static final int DOWN = 1;
    public static final int UP = 2;
    int pushedColumn;
    Hashtable state;
    public TableHeaderRenderer()
    pushedColumn = -1;
    state = new Hashtable();
    setMargin(new Insets(0, 0, 0, 0));
    setHorizontalTextPosition(LEFT);
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus,
    int row, int column)
    setText((value == null) ? "" : value.toString());
    setBorder(UIManager.getBorder("TableHeader.cellBorder"));
    boolean isPressed = (column == pushedColumn);
    getModel().setPressed(isPressed);
    getModel().setArmed(isPressed);
    return this;
    public void setPressedColumn(int col)
    pushedColumn = col;
    public void setSelectedColumn(int col)
    if (col < 0)
    return;
    Integer value = null;
    Object obj = state.get(new Integer(col));
    if (obj == null)
    value = new Integer(DOWN);
    else
    if (((Integer) obj).intValue() == DOWN)
    value = new Integer(UP);
    else
    value = new Integer(DOWN);
    state.clear();
    state.put(new Integer(col), value);
    public int getState(int col)
    int retValue;
    Object obj = state.get(new Integer(col));
    if (obj == null)
    retValue = NONE;
    else
    if (((Integer) obj).intValue() == DOWN)
    retValue = DOWN;
    else
    retValue = UP;
    return retValue;
    private static void createAndShowGUI()
    JFrame frame = new JFrame("TableDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    TableSorter newContentPane = new TableSorter();
    newContentPane.setOpaque(true); // content panes must be opaque
    frame.setContentPane(newContentPane);
    frame.pack();
    frame.setVisible(true);
    public static void main(String[] args)
    javax.swing.SwingUtilities.invokeLater(new Runnable()
    public void run()
    createAndShowGUI();

  • Index creation on Blob column

    I am new to InterMedia. I am trying to create an index on a blob column. I am getting a error -
    Can you please suggest me the solution of this problem.
    Thanks.......
    The following statement(s) failed to execute successfully.
    CREATE INDEX temp.ind1 ON temp.student(MOL) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('')
    ORA-29855: error occurered in the execution of ODCINDEXCREATE routine
    ORA-20000: interMedia Text error:
    DRG-50704: Net8 listener is not running or cannot start external procedures
    ORA-28575: unable to open RPC connection to external procedure agent
    ORA-06512: at "CTXSYS.DRUE", line 122
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 34
    ORA-06512: at line 1
    null

    Listner problems probably. Please check the FAQ at http://technet.oracle.com/products/text/

  • How to create a dynamic RTF report which creates dynamic columns based on dynamic column selection from a table?

    Hi All,
    Suppose I have table, whose structure changes frequently on daily basis.
    For eg. desc my_table gives you following column name on Day 1
    SQL > desc my_table;
    Output
    Name
    Age
    Phone
    On Day 2, two more columns are added, viz, Address and Salary.
    SQL > desc my_table;
    Output
    Name
    Age
    Phone
    Address
    Salary
    Now I want to create an Dynnamic RTF report which would fetch data from ALL columns from my_table on daily basis. For that I have defined a concurrent program with XML as output type and have attached a data template/data definition to it which takes in XML as input and gives final output of conc program in EXCEL layout. I am able to do this for constant number of columns, but dont know how to do it when the number of columns to be displayed changes dynamically.
    For Day 1 my XML file should be like this.
    <?xml version="1.0" encoding="UTF-8"?>
    <dataTemplate name="XYZ" description="iExpenses Report" Version="1.0">
    <dataQuery>
    <sqlStatement name="Q2">
    <![CDATA[
    SELECT Name
    ,Age
    ,Phone
    FROM my_table
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_my_table" source="Q2">
      <element name="Name" value="Name" />
      <element name="Age" value="Age" />
      <element name="Phone" value="Phone" />
    </group>
    </dataStructure>
    </dataTemplate>
    And my Day 1, EXCEL output from RTF template should be like this.
    Name     Age     Phone
    Swapnill     23     12345
    For Day 2 my XML file should be like this. With 2 new columns selected in SELECT clause.
    <?xml version="1.0" encoding="UTF-8"?>
    <dataTemplate name="XYZ" description="iExpenses Report" Version="1.0">
    <dataQuery>
    <sqlStatement name="Q2">
    <![CDATA[
    SELECT Name
    ,Age
    ,Phone
    ,Address
    ,Salary
    FROM my_table
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_my_table" source="Q2">
      <element name="Name" value="Name" />
      <element name="Age" value="Age" />
      <element name="Phone" value="Phone" />
      <element name="Address" value="Address" />
      <element name="Salary" value="Salary" />
    </group>
    </dataStructure>
    </dataTemplate>
    And my Day 2, EXCEL output from RTF template should be like this.
    Name     Age     Phone     Address     Salary
    Swapnill     23     12345         Madrid     100000
    Now, I dont know below things.
    Make the XML dynamic as in on Day 1 there must be 3 columns in the SELECT statement and on Day 2, 5 columns. I want to create one dynamic XML which should not be required to be changed if new columns are added in my_table. I dont know how to create this query and also create their corresponding elements below.
    Make the RTF template dyanamic as in Day1 there must 3 columns in EXCEL output and on Day 2, 5 columns. I want to create a Dynamic RTF template which would show all the columns selected in Dynamic XML.I dont know how the RTF will create new XML tags and how it will know where to place it in the report. Means, I can create RTF template on Day 1, by loading XML data for 3 columns and placing 3 XML tags in template. But how will it create and place tags for new columns on Day 2?
    Hope, you got my requirement, its a challenging one. Please let me know how I can implement the required solution using RTF dynamically without any manual intervention.
    Regards,
    Swapnil K.
    Message was edited by: SwapnilK

    Hi All,
    I am able to fulfil above requirement. Now I am stuck at below point. Need your help!
    Is there any way to UPDATE the XML file attached to a Data Definition (XML Publisher > Data Definition) using a standard package or procedure call or may be an API from backend? I am creating an XML dynamically and I want to attach it to its Data Definition programmatically using SQL.
    Please let me know if there is any oracle functionality to do this.
    If not, please let me know the standard directories on application/database server where the XML files attached to Data Definitions are stored.
    For eg, /$APPL_TOP/ar/1.0/sql or something.
    Regards,
    Swapnil K.

  • ALV GRID WITH SUMMATORIES DEPEND OF THE SELECTION

    Hi Experts.
    I have a form, in which depend of the selection, I show to user a fieldcatalog with the data (query) that the user want to see in that moment ...
    The problem is that the user want to see one field (amount, sum total (money) ...etc) with summatories, group by date, person...or other depend of the selection he has done in the select dynpro.
    How can I do it when I show the ALV??... The user don't want to use the option to make a lot of select dispositions in the ALV..., he want to see the disposition of the data depend the selection he do in the select dynpro.
    I see when I create the fieldcatalog to the ALV GRID, there is a field ... do_sum, I have marked it, in the field which I want to do a summatory but don't do anything in the ALV when display.... and don't find how indicate in the fieldcatalog the field which I wan't group by...
    Other options, that I have thought it's to make a lot of dispositions in ALV, and when display de ALV try to get the disposition that I want ... but I haven't did it.
    Thanks.

    Hi all,
    it is maybe too late to answer this question but I hope it can serve someone who bumps into this problem in the future.
    I managed to activate the functions with the following code:
    DATA alv       TYPE REF TO cl_salv_table.
    DATA: lo_functions TYPE REF TO cl_salv_functions_list.
    DATA: lo_funcs TYPE salv_t_ui_func.
    DATA: lo_func TYPE salv_s_ui_func.
      cl_salv_table=>factory(
           IMPORTING r_salv_table = alv
           CHANGING  t_table      = <fs> ).
    *   Default Functions
         lo_functions = alv->get_functions( ).
         lo_funcs = lo_functions->get_functions( ).
    * loop through all functions and enable them and set them visible.
    * here u can also activate separate functions if you check the name with the method from r_function (CL_SALV_FUNCTION->GET_NAME)
         LOOP AT lo_funcs INTO lo_func.
           lo_func-r_function->set_enable( value = 'X' ).
           lo_func-r_function->set_visible( value = 'X' ).
         ENDLOOP.
         alv->display( ).
    Cheers,
    Ilina

Maybe you are looking for

  • Using Adobe Pro X I cannot create a PDF from a web page.

    After a recent upgrade from a previous version of Firefox, I am now unable to create a PDF from a web page using the Adobe Pro toolbar on the web page.  A "save as" box appears and then the conversion process dies.  I can print the page using Adobe P

  • MacBook Won't go into deep sleep by itself

    I recently noticed that although my monitor will go to sleep after the specified idle time the hard drive never goes to sleep on it's own. The indicator light never goes into "pulse mode". The strange thing is I think it worked fine before I did the

  • Java proxy

    Hi experts, I am trying with java client proxy,.Instead of taking web client could we go with simple stand alone client. Like a simple java application calling an ejb in xi server.

  • HT6154 when i tried to update my iphone it tells me i have to restore my phone because it is in recovery mode but it will erase everything

    when i tried to update my phone it told me it was in recovery mode and needed to restart the whole iphone also saying that everything in my iphone would be deleted how can i prevent all my stuff from being erased permanetly ???

  • SAP FI/CO Institutes

    Hi experts , Can any one send me the list of institues who will give training for SAP FI/CO in Delhi. Not in noida and Gurgoan.Only in Delhi. Thnx