Running Query results in Exception

Hi ,
We are using a Query which is based on a OLAP_TABLE function in our Application UI. We have DB 11g Release 11.1.0.6.0 - Production
On Application UI , this is throwing Error :
java.sql.SQLException: No more data to read from socket at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) at
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1123) at
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1075) at
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:480) at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.ja
When executing the query from SQLPlus , we are getting this exception
SP2-0642: SQL*Plus internal error state 2133, context 0:0:0
Unsafe to proceed
SP2-0642: SQL*Plus internal error state 2221, context 4294967295:4:0
Unsafe to proceed
This Env is having OLAP A Patch applied with.Please advise whether this is a known issue , or shall we go ahead and log a bug for this.
Thanks
Joseph

I don't think this is an OLAP specific issue. You should open a Service Request on MetaLink.
Thanks, Laura

Similar Messages

  • BEx query : results and exceptions

    Hi people,
    I'm using BI 7.
    I've two questions.
    In a first part i want to know if i can use an exception in order to color all the line (characteristics + key figures) ?
    Because just the key figures are colored with many options I tried.
    In a second part, in the same query, i'm using a hierarchy, some characteristics and a key figure.
    I want to have a line of results for each hierarchy node (node at the top), and too a line of results for a following field.
    Like the following example :
    Hierarchy node level 1:A  field1:2 field2:x k_fig:17
    global result for field1----k_fig:17
    Hierarchy node level 1:A  field1:1 field2:y k_fig:12
    Hierarchy node level 1:A  field1:1 field2:x k_fig:3
    global result for field1----k_fig:15
    global result for hierarchy node level 1-----k_fig:32
    Hierarchy node level 1:B  field1:1 field2:z k_fig:4
    global result for field1----k_fig:4
    global result for hierarchy node level 1-----k_fig:4
    I hope you could help me for the two problems.
    Points will be assigned,
    Cheers,
    Vince
    Edited by: vince ricard on Apr 2, 2008 6:39 PM

    Nobody has a solution in order to highlight the whole row (characteristic and key figures) for a value of a key figure ?
    With WAD or Query Designer, I'm trying to highlight a line with an exception on a key figure but it apparently colors only key figures.
    For example i would have entire colored rows for negative key figure :
    field1:a field2:x field3:e key_figure:1
    field1:b field2:x field3:e key_figure:7
    field1:b field2:y field3:e key_figure:-5
    field1:d field2:z field3:j key_figure:1
    I can use WAD or Query Designer but not Visual Composer or Report Designer...
    Thanks for help.

  • Looking for an SQL query to retreive callvariables + ECC from a RUN SCRIPT RESULT (Translation to VRU)

    Hi Team,
    I am looking for an SQL query to check the data (ECC + CallVariable) received following a RUN SCRIPT RESULT when requesting an external VRU with a Translation Route to VRU with a "Run External Script".
    I believe the data are parsed between the Termination Call Detail + Termination Call Variable .
    If you already have such an SQL query I would very much appreciate to have it.
    Thank you and Regards
    Nick

    Omar,
    with all due respect, shortening a one day's interval might not be an option for a historical report ;-)
    I would recommend to take a look the following SQL query:
    DECLARE @dateFrom DATETIME, @dateTo DATETIME
    SET @dateFrom = '2014-01-24 00:00:00'
    SET @dateTo   = '2014-01-25 00:00:00'
    SELECT
    tcv.DateTime,
    tcd.RecoveryKey,
    tcd.RouterCallKeyDay,
    tcd.RouterCallKey,
    ecv.EnterpriseName AS [ECVEnterpriseName],
    tcv.ArrayIndex,
    tcv.ECCValue
    FROM Termination_Call_Variable tcv
    JOIN
    (SELECT RouterCallKeyDay,RouterCallKey,RecoveryKey FROM Termination_Call_Detail WHERE DateTime > @dateFrom AND DateTime < @dateTo) tcd
    ON tcv.TCDRecoveryKey = tcd.RecoveryKey
    LEFT OUTER JOIN Expanded_Call_Variable ecv ON tcv.ExpandedCallVariableID = ecv.ExpandedCallVariableID
    WHERE tcv.DateTime > @dateFrom AND tcv.DateTime < @dateTo
    With variables, you can parametrize your code (for instance, you could write SET @dateFrom = ? and let the calling application fill in the datetime value in for you).
    Plus joining two large tables with all rows like you did (TCD-TCV) is never a good option.
    Another aspect to consider: all ECC's are actually arrays (always), so it's not good to leave out the index value (tcv.ArrayIndex).
    G.

  • Results table difference when running query from Alert compared to Query Manager

    Hello,
    I have following query - Aim is to create alert to tell employee which customers to make visit to in next 4 weeks
    SELECT DISTINCT T1.CardName, T1.U_VisitDue, T1.U_VisitReason, T1.U_Priority, T1.U_Region as 'Area', T1.U_VNotes
    FROM dbo.OCRD T1
    WHERE DateDiff(d,T1.U_VisitDue, GETDATE()) <29
    Group BY T1.CardName, T1.U_VNotes, T1.U_VisitDue, T1.U_VisitReason, T1.U_Priority, T1.U_Region
    FOR BROWSE
    My problem is that when I run query through alert the field U_VNotes is displayed differently.
    Running the query from Query Manager the contents of this field appear in one field of the result table.
    Running the query via Alery the content of this field is split into several fields in results table according to 'new line' in field entry.
    This makes the results table from the Query less 'user-friendly' because if you want to sort the table by 'Date' column for example it makes a mess of the table because of the extra rows.
    I want results table to look like top version in picture below ... but i want to run from alert.
    Is this possible?
    How can I achieve it?
    Thanks for any assistance
    Regards, Karen

    Hi
    check this support note:1774628 The SQL SELECT DISTINCT Statement does not work in ALERTS
    Kind regards
    Agustín Marcos Cividanes

  • BEX Query - Run time char InfoObjects manipulation for query results

    Hello Experts,
    Iam working on BEX queries to meet following requirements,
    1)  Display only first 2 char of an InfoObject in the query results. Actual infoprovider has 24 char for this InfoObject. Example: Summary code FABCDXXXX.. But we want to show only 'FA' in query results
    2) We split a 120 char description into two 60 char InfoObjects, we need to concatenate the split char into one for query result display
    3) We need to show a specific hierarchy level, nothing before or after. For example: Eighth level for a cost element hierarchy.
    4) We need to show a constant in a column (which is not there in the table)
    We are planning to use both BEX analyzer and Crystal for the reports.
    I read in one of the thread that we can use formula variables/Customer exit for this but iam not very clear, if you know how to do it or if you have any step by step procedure, can you please pass it to me. Thanks in advance for your help.
    Regards,
    Raman

    Thanks for quick response. We have users who need BEX analyzer, is there any way to handle the above requirments for BEX analyzer.

  • Query result closing prematurely, Object closed error

    Hi guys
    I've discovered an unusual behaviour when iterating through a collection
    returned from a query.
    Scenario
    The code executes a query, iterates partially through the resultset and for
    each row calls a method which creates another object. Given that there
    could be thousands of rows, I commit the new objects every n times and then
    go back to the start of the loop which re-executes the query. This code runs
    fine when
    MAX_SCHEDULES_PER_TRANS <= com.solarmetric.kodo.DefaultFetchBatchSize.
    Problem
    If the DefaultFetchBatchSize is 10, and I commit every 11 iterations, then
    during the 3rd outer loop (ie commit has succeeded twice and the query has
    been executed 3 times) an exception is thrown when calling events.next() on
    the 10th element. The stack trace is included below, but it appears that
    the query resultset is somehow being closed early.
    If I increase the DefaultFetchBatchSize to 20, then I can also increase my
    MAX_SCHEDULES_PER_TRANS to 20 without getting the error.
    Any ideas?
    Regards
    Nathan
    Kodo 2.5.3
    SQLServer 2000
    Code Snippet
    private static final int MAX_SCHEDULES_PER_TRANS = 10;
    while (!terminated) {
    Collection col = (Collection) getQuery().execute(currentDate); //
    getQuery() method Creates query object once and reused in subsequent calls
    Iterator events = col.iterator();
    int counter = 0;
    boolean committed = false;
    while (events.hasNext() && !committed && !terminated) {
    Event event = (Event) events.next();
    event.schedule()
    counter++;
    if ((counter == MAX_SCHEDULES_PER_TRANS ) || !events.hasNext()) {
    try {
    context.getPersist().commitTransaction();
    committed = true;
    catch (OptimisticLockException e) {
    context.getPersist().rollbackTransaction();
    break;
    getQuery().close(col);
    Kodo.properties
    # Kodo JDO Properties configuration
    # DEVELOPMENT
    com.solarmetric.kodo.LicenseKey: xxxxxxx
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=Tran
    sactionFactory
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBC
    PersistenceManagerFactory
    javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServer
    Driver
    javax.jdo.option.ConnectionUserName=xxxxx
    javax.jdo.option.ConnectionPassword=xxxx
    javax.jdo.option.ConnectionURL=jdbc:microsoft:sqlserver://devsnetsql01:1433;
    SelectMethod=cursor;DatabaseName=devsnet09
    javax.jdo.option.RetainValues=true
    javax.jdo.option.RestoreValues=true
    javax.jdo.option.Optimistic=true
    javax.jdo.option.NontransactionalWrite=false
    javax.jdo.option.NontransactionalRead=true
    javax.jdo.option.Multithreaded=true
    javax.jdo.option.MsWait=5000
    javax.jdo.option.MinPool=0
    javax.jdo.option.MaxPool=0
    javax.jdo.option.IgnoreCache=false
    com.solarmetric.kodo.FlushBeforeQueries=with-connection
    com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory=20
    com.solarmetric.kodo.impl.jdbc.StatementCacheMaxSize=0
    com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
    com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.imp
    l.jdbc.schema.DBSequenceFactory
    com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
    com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
    com.solarmetric.kodo.Logger=stdout
    com.solarmetric.kodo.EnableQueryExtensions=true
    com.solarmetric.kodo.DefaultFetchThreshold=30
    com.solarmetric.kodo.DefaultFetchBatchSize=10
    com.solarmetric.kodo.impl.jdbc.TransactionIsolation=READ_COMMITTED
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerMethod=co
    m.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.Invocati
    onManagedRuntime
    Stack trace
    com.solarmetric.kodo.runtime.DataStoreException: java.sql.SQLException:
    [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
    [code=0;state=HY000]
    NestedThrowables:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has
    been closed.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExcep
    tions.java:64)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:223)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    at com.mallesons.servicenet.ta.shared.BOIterator.next(BOIterator.java:48)
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:171
    at com.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:122)
    NestedThrowablesStackTrace:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has
    been closed.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown
    Source)(Inlined Compiled Code)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown
    Source)(Inlined Compiled Code)
    at com.microsoft.jdbc.base.BaseConnection.validateClosedState(Unknown
    Source)(Inlined Compiled Code)
    at com.microsoft.jdbc.base.BaseStatement.validateClosedState(Unknown
    Source)(Inlined Compiled Code)
    at com.microsoft.jdbc.base.BaseResultSet.validateClosedState(Unknown
    Source)(Compiled Code)
    at com.microsoft.jdbc.base.BaseResultSet.getRow(Unknown Source)
    at
    com.solarmetric.datasource.ResultSetWrapper.getRow(ResultSetWrapper.java:465
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:186)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    at com.mallesons.servicenet.ta.shared.BOIterator.next(BOIterator.java:48)
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:171
    at com.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:122)

    Thanks for pointing out the optimisticLockException catch error. That would
    have been a bug but it hasn't been hit yet as I've only ever run one
    instance of this app!!
    The BOIterator is just wrapper layer and I have removed it to ensure it is
    not the culprit. Still getting the same error.
    I have done some more testing and have narrowed down the problem a little.
    It seems to only occur when I update one of the columns that is being used
    in the query. If I update a column that is not used in the query, it works
    fine.
    com.solarmetric.kodo.runtime.DataStoreException: java.sql.SQLException:
    [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
    [code=0;state=HY000]
    NestedThrowables:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has
    been closed.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExcep
    tions.java:64)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:223)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:197
    at com.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:143)
    NestedThrowablesStackTrace:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has
    been closed.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.validateClosedState(Unknown
    Source)
    at com.microsoft.jdbc.base.BaseStatement.validateClosedState(Unknown Source)
    at com.microsoft.jdbc.base.BaseResultSet.validateClosedState(Unknown Source)
    at com.microsoft.jdbc.base.BaseResultSet.getRow(Unknown Source)
    at
    com.solarmetric.datasource.ResultSetWrapper.getRow(ResultSetWrapper.java:478
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:186)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:197
    at com.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:143)
    2003-10-27 15:26:40,142 DEBUG - SchedulerThread.run() - exit
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]...
    Nathan-
    I guess you are right that it doesn't look like the query result is
    being kept open between commits. I do notice that the block that catches
    the OptimisticLockException doesn't break out of the loop though: can
    you check to ensure that one isn't getting thrown?
    Also, what is the com.mallesons.servicenet.ta.shared.BOIterator stuff?
    If it is a wrapper layer that you have around the query execution,
    can you try removing it, just to ensure that it isn't misbehaving in
    some way?
    In article <[email protected]>, nathan boyes wrote:
    Hi Marc,
    Bug 718 certainly seems similar, however I still don't think it is
    necessarily the problem in this case. That particular bug relates to the
    resultset that was opened prior to commit, not remaining open after the
    commit. However, once I've committed, I call query.closeAll() then re
    execute the query. I would expect this to give me a new resultset that
    would not be affected by the previous commit.
    Also the CURSOR_CLOSE_ON_COMMIT is disabled by default and we haven't
    enabled it. A query against the database using one of the SQLServer
    functions confirms that this setting is false on the server.
    Predictably, instantiating the entire collection also fixes the problem.
    I
    guess this is similar to setting DefaultFetchThreshold = -1.
    Not really sure what else to try.
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]...
    Nathan-
    This sounds to me like
    http://bugzilla.solarmetric.com/show_bug.cgi?id=718 , even though it is
    not known to happen for SQLServer. If, before you commit, you
    instantiate the entire "col" list (with something like
    "new LinkedList (col)"), do you still see the problem?
    If this is indeed the problem, it seems that this is a server option
    that you can configure. If you disable CURSOR_CLOSE_ON_COMMIT on the
    server, do you still see the problem? See:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_set-set_48kz.asp
    >>>
    >>>
    >>>
    >>>
    In article <[email protected]>, nathan boyes wrote:
    I have upgraded to 2.5.5 and am now calling query.closeAll() neither
    of
    which had any effect. When I set DefaultFetchThreshold to -1, thenthe
    problem disappeared.
    For efficiency, if I am iterating through 50 objects beforecommitting
    then
    it is probably worth setting
    DefaultFetchThreshold=50
    DefaultFetchBatchSize=50
    which will run without problem.
    However, that doesn't address the underlying problem that could stilloccur
    in other parts of our system.
    "Stephen Kim" <[email protected]> wrote in message
    news:[email protected]...
    First can you upgrade to Kodo 2.5.4 and see if the problem persists?
    If so, can you for the sake of debugging try setting
    DefaultFetchThreshold to -1?
    Also you should be calling either query.closeAll () or query.close(events).
    nathan boyes wrote:
    Hi guys
    I've discovered an unusual behaviour when iterating through a
    collection
    returned from a query.
    Scenario
    The code executes a query, iterates partially through the
    resultset
    and
    for
    each row calls a method which creates another object. Given that
    there
    could be thousands of rows, I commit the new objects every n timesand
    then
    go back to the start of the loop which re-executes the query. This
    code
    runs
    fine when
    MAX_SCHEDULES_PER_TRANS <=
    com.solarmetric.kodo.DefaultFetchBatchSize.
    Problem
    If the DefaultFetchBatchSize is 10, and I commit every 11
    iterations,
    then
    during the 3rd outer loop (ie commit has succeeded twice and the
    query
    has
    been executed 3 times) an exception is thrown when calling
    events.next()
    on
    the 10th element. The stack trace is included below, but it
    appears
    that
    the query resultset is somehow being closed early.
    If I increase the DefaultFetchBatchSize to 20, then I can also
    increase
    my
    MAX_SCHEDULES_PER_TRANS to 20 without getting the error.
    Any ideas?
    Regards
    Nathan
    Kodo 2.5.3
    SQLServer 2000
    Code Snippet
    private static final int MAX_SCHEDULES_PER_TRANS = 10;
    while (!terminated) {
    Collection col = (Collection) getQuery().execute(currentDate);
    getQuery() method Creates query object once and reused insubsequent
    calls
    Iterator events = col.iterator();
    int counter = 0;
    boolean committed = false;
    while (events.hasNext() && !committed && !terminated) {
    Event event = (Event) events.next();
    event.schedule()
    counter++;
    if ((counter == MAX_SCHEDULES_PER_TRANS ) ||
    !events.hasNext()) {
    >>>>>>
    try {
    context.getPersist().commitTransaction();
    committed = true;
    catch (OptimisticLockException e) {
    context.getPersist().rollbackTransaction();
    break;
    getQuery().close(col);
    Kodo.properties
    # Kodo JDO Properties configuration
    # DEVELOPMENT
    com.solarmetric.kodo.LicenseKey: xxxxxxx
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=Tran
    sactionFactory
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBC
    PersistenceManagerFactory
    javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServer
    Driver
    javax.jdo.option.ConnectionUserName=xxxxx
    javax.jdo.option.ConnectionPassword=xxxx
    javax.jdo.option.ConnectionURL=jdbc:microsoft:sqlserver://devsnetsql01:1433;
    SelectMethod=cursor;DatabaseName=devsnet09
    javax.jdo.option.RetainValues=true
    javax.jdo.option.RestoreValues=true
    javax.jdo.option.Optimistic=true
    javax.jdo.option.NontransactionalWrite=false
    javax.jdo.option.NontransactionalRead=true
    javax.jdo.option.Multithreaded=true
    javax.jdo.option.MsWait=5000
    javax.jdo.option.MinPool=0
    javax.jdo.option.MaxPool=0
    javax.jdo.option.IgnoreCache=false
    com.solarmetric.kodo.FlushBeforeQueries=with-connection
    com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory=20
    com.solarmetric.kodo.impl.jdbc.StatementCacheMaxSize=0
    com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
    com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.imp
    l.jdbc.schema.DBSequenceFactory
    com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
    com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
    com.solarmetric.kodo.Logger=stdout
    com.solarmetric.kodo.EnableQueryExtensions=true
    com.solarmetric.kodo.DefaultFetchThreshold=30
    com.solarmetric.kodo.DefaultFetchBatchSize=10
    com.solarmetric.kodo.impl.jdbc.TransactionIsolation=READ_COMMITTED
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerMethod=co
    m.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.Invocati
    onManagedRuntime
    Stack trace
    com.solarmetric.kodo.runtime.DataStoreException:java.sql.SQLException:
    [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
    [code=0;state=HY000]
    NestedThrowables:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver forJDBCObject
    has
    been closed.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExcep
    tions.java:64)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:223)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    atcom.mallesons.servicenet.ta.shared.BOIterator.next(BOIterator.java:48)
    >>>>>>
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:171
    atcom.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:122)
    >>>>>>
    NestedThrowablesStackTrace:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver forJDBCObject
    has
    been closed.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown
    Source)(Inlined Compiled Code)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown
    Source)(Inlined Compiled Code)
    at
    com.microsoft.jdbc.base.BaseConnection.validateClosedState(Unknown
    Source)(Inlined Compiled Code)
    atcom.microsoft.jdbc.base.BaseStatement.validateClosedState(Unknown
    Source)(Inlined Compiled Code)
    atcom.microsoft.jdbc.base.BaseResultSet.validateClosedState(Unknown
    Source)(Compiled Code)
    at com.microsoft.jdbc.base.BaseResultSet.getRow(Unknown Source)
    at
    com.solarmetric.datasource.ResultSetWrapper.getRow(ResultSetWrapper.java:465
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:186)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    at java.util.AbstractList$Itr.next(AbstractList.java:431)
    at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    atcom.mallesons.servicenet.ta.shared.BOIterator.next(BOIterator.java:48)
    >>>>>>
    at
    com.mallesons.servicenet.ta.event.SchedulerThread.process(Scheduler.java:171
    atcom.mallesons.servicenet.ta.event.SchedulerThread.run(Scheduler.java:122)
    >>>>>>
    >>>>>>
    >>>>>
    Stephen Kim
    [email protected]
    SolarMetric, Inc.
    http://www.solarmetric.com
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • How to force Work Item Query Policy to refresh its cached query results?

    I have enabled the Work Item Query Policy on my TFS project.  It works as expected, except when using Visual Studio 2013 with the following sequence of steps:
    User selects Check in Pending Changes from the Source Control Explorer
    User enters in the ID of the work item to be associated to the changeset
    User clicks the Check In button
    Work Item Query Policy displays message ' Work item ##### was not found in the results of stored query...'
    User realizes his mistake, and modifies (and saves) the work item so that it is returned in in the query result set
    User clicks the Check In button again expecting the TFS policy to accept the association
    Work Item Query Policy still displays message ' Work item ##### was not found in the results of stored query...'
    Removing the Work Item and re-associating it does not make a difference.  The only workaround that I have found is to close Visual Studio and reopen it.  Does any one have a better solution than this?

    Our setup is different from the one you are using:
    - User is using VS 2013 Update 4.
    - We are running TFS 2010 SP1
    The test case that you described is different from the one that is causing my problem (that scenario works fine for me as well).  I am trying to associate the check in to the same work item both times; whereas, you are associating it to a different
    work item the second time.  I can consistently reproduce the error using the following steps:
    1) Create a query that returns All Bugs in Active state, and set it as the query for the Work Item Query Policy
    2) Create and save a new Bug
    3) Run the query to confirm that the new bug does not appear in the result set
    4) Checkout a file, modify it, save it
    5) Check in the file and associate it to the bug from step 2)
    - the Work Item Query Policy will issue an error message saying that the work item cannot be found in the associated query
    6) Change the state of the bug to Active, and save
    7) Refresh the query to confirm that the bug now appears in the result set
    8) Check in the file again
    - error message from step 5) will not go away

  • "Dead" Space before Query Results Display

    We were required to use PL/SQL to create a report within HTMLDB. The report runs fairly quickly and is displayed as desired in the window with one exception. "Dead" space is always placed on the screen before the query results. In many cases, this space is only a couple of lines. In cases where the result set is a few hundred lines, there are a few hundred lines (usually a comparable number to the result set) before the query result. Therefore, the user sees an empty screen and doesn't always know to scroll down several times to reach the output. We are looking for a means to eliminate this leading space.

    To perform the reqired sorting and add a checkbox to each section of the report, using PL/SQL embedded into the HTMLDB was the best method. Within the PL/SQL we used the htp.* commands to format the HTML. Unfortunately, this results in prgressively more empty lines before the actual report display with larger result sets.

  • Sending email using PL/SQL based on a query result

    Hello all,
    I want to create a procedure using PL/SQL, based on a query result.Here is the scenario:
    I have multiple tables in Target and Source databases that I want to compare(not the whole table but queries on these tables) and if they differ, I want to shoot an email. I have some ideas how to implement this but not sure whether it is the best approach.
    select Acct_id, total from SourceTableA
    minus
    select Acct_id, total from TargetTableA
    select Acct_id, sum from SourceTableB
    minus
    select Acct_id, sum from TargetTableB
    If the result of any of above queries > 0 then I want to shoot an email and want to repeat this procedure in the morning every day.
    I know how to implement send_mail procedure using UTL_SMTP package and how to schedule tha job by dbms_job package. But I am not sure how to implement the result of minus query. In case if minus > 0 then I also want to send the name of tables in the email message where source and target tables are not same. Should i use cursor, variable or insert the result in a new table? any help would be highly appreciated. Thanks in advance.
    Khan

    Actually these queries are the part of our daily testing that we run everyday manually(after the scheduled ETL load) to see if there are any discrepencies between our datawarehouse tables and source tables. So instead of running these queries manually everyday we want to schedula a procedure that will shoot an email in case of any discrepency and indicate which tables have problems.

  • Long running query--- included steps given by Randolf

    Hi,
    I have done my best to follow Randolf instruction word-by-word and hope to get solution for my
    problem soon. Sometime back I have posted a thread on this problem then got busy with other
    stuff and was not able to follow it. Here I am again with same issue.
    here is link for my previous post
    long running query in database 10gHere is backgroud of my requriemment.
    I am working on Oracle forms 10g which is using package given below. We want to display client information
    with order count basd on different status like Pending, Error, back Order, expedited, std shipping.
    Output will look something like.
    client name   pending    error   backorder   expedited   std shipping
    ABC            24         0       674          6789         78900
    XYZ            35         673    5700           0           798274
    .There are total 40 clients . The long running query are expedited and std shipping.
    When i run package from Oracle Form Developer it takes 3 mintues to run but when I run same query in our application using forms
    (which uses Oracle Application Server) it takes around 1 hour, which is completly unacceptable.
    User wants it be done in less than 1 mintue.
    I have tried combining Pending,error and backorder queries together but as far as I know it will not
    work in Oracle Form as we need a place holder for each status.
    Please dont think it is Forms related question, it is a Performance problem.
    PACKAGE BODY ORDER_COUNT_PKG IS
    PROCEDURE post_query IS
      BEGIN
           BEGIN
                SELECT count(*)
                  INTO :ORDER_STATUS.PENDING
                  FROM orders o
              WHERE o.status = 'P'
                   AND (parent_order_id is null
                    OR  (order_type='G'
                         AND parent_order_id=original_order_number))
                      AND  o.client = :ORDER_STATUS.CLIENT_NUMBER;
         EXCEPTION
           WHEN OTHERS THEN
           NULL;
           END;
             BEGIN
                 SELECT  count(*)
                   INTO  :ORDER_STATUS.ERROR
                   FROM  orders o
                  WHERE  o.status = 'E'
                    AND  (parent_order_id is null
                     OR  (order_type='G'
                           AND parent_order_id=original_order_number))
                       AND  o.client = :ORDER_STATUS.CLIENT_NUMBER;
                EXCEPTION
           WHEN OTHERS THEN
           NULL;     
            END;
           BEGIN
                SELECT count(*)
                  INTO :ORDER_STATUS.BACK_ORDER
                  FROM orders o
              WHERE o.status = 'B'
                   AND (parent_order_id is null
                    OR (order_type='G'
                         AND parent_order_id=original_order_number))
                      AND o.client = :ORDER_STATUS.CLIENT_NUMBER;
          EXCEPTION
           WHEN OTHERS THEN
           NULL;   
         END;
           BEGIN
                SELECT count(*)
                  INTO :ORDER_STATUS.EXPEDITE
                  FROM orders o,shipment_type_methods stm
                 WHERE o.status in ('A','U')
             AND (o.parent_order_id is null
              OR (o.order_type = 'G'
             AND o.parent_order_id = o.original_order_number))
             AND o.client = stm.client
             AND o.shipment_class_code = stm.shipment_class_code
             AND (nvl(o.priority,'1') = '2'
              OR  stm.surcharge_amount <> 0)
                      AND  o.client = :ORDER_STATUS.CLIENT_NUMBER
              GROUP BY  o.client;
              EXCEPTION
           WHEN OTHERS THEN
           NULL;          
         END;           
           BEGIN
                SELECT count(*)
                  INTO :ORDER_STATUS.STD_SHIP
                  FROM  orders o,shipment_type_methods stm
                 WHERE o.status in ('A','U')
             AND  (o.parent_order_id is null
              OR (o.order_type = 'G'
             AND o.parent_order_id = o.original_order_number))
             AND nvl(o.priority,'1') <> '2'
             AND o.client = stm.client
             AND o.shipment_class_code = stm.shipment_class_code
             AND stm.surcharge_amount = 0
                      AND o.client = :ORDER_STATUS.CLIENT_NUMBER
              GROUP BY o.client;
          EXCEPTION
           WHEN OTHERS THEN
           NULL;
           END;
      END post_query;
      END ORDER_COUNT_PKG;one of the query which is taking long time is
    SELECT count(*)
                   FROM  orders o,shipment_type_methods stm
                 WHERE o.status in ('A','U')
             AND  (o.parent_order_id is null
              OR (o.order_type = 'G'
             AND o.parent_order_id = o.original_order_number))
             AND nvl(o.priority,'1') <> '2'
             AND o.client = stm.client
             AND o.shipment_class_code = stm.shipment_class_code
             AND stm.surcharge_amount = 0
               AND o.client = :CLIENT_NUMBER
              GROUP BY o.clientThe version of the database is 10.2.1.0.2
    SQL> alter session force parallel dml;These are the parameters relevant to the optimizer:
    SQL> show parameter user_dump_dest
    NAME                                 TYPE        VALUE
    user_dump_dest                       string      /u01/app/oracle/admin/mcgemqa/
                                                     udump
    SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      10.2.0.4
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    SQL> show parameter db_file_multi
    NAME                                 TYPE        VALUE
    db_file_multiblock_read_count        integer     16
    SQL> show parameter db_block_size
    NAME                                 TYPE        VALUE
    db_block_size                        integer     8192
    SQL> show parameter cursor_sharing
    NAME                                 TYPE        VALUE
    cursor_sharing                       string      EXACTHere is the output of EXPLAIN PLAN:
    SQL> explain plan for
      2  SELECT count(*)
      3         FROM  orders o,shipment_type_methods stm
      4       WHERE o.status in ('A','U')
      5           AND  (o.parent_order_id is null
      6            OR (o.order_type = 'G'
      7           AND o.parent_order_id = o.original_order_number))
      8           AND nvl(o.priority,'1') <> '2'
      9           AND o.client = stm.client
    10           AND o.shipment_class_code = stm.shipment_class_code
    11           AND stm.surcharge_amount = 0
    12     AND o.client = :CLIENT_NUMBER
    13    GROUP BY o.client
    14  /
    Explained.
    Elapsed: 00:00:00.12
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 559278019
    | Id  | Operation                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |   1 |  SORT GROUP BY NOSORT          |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID  | ORDERS                  |   175K|  3431K| 25979   (3)| 00:05:12 |
    |   3 |    NESTED LOOPS                |                         | 25300 |   864K| 46764   (3)| 00:09:22 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |     1 |    15 |     2   (0)| 00:00
    |*  5 |      INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |     2 |       |     1   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN           | ORDERS_ORDER_DATE       |   176K|       |  2371   (8)| 00:00:29 |
    Predicate Information (identified by operation id):
       2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
                  AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
       4 - filter("STM"."SURCHARGE_AMOUNT"=0)
       5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
       6 - access("O"."CLIENT"=:CLIENT_NUMBER)
           filter("O"."STATUS"='A' OR "O"."STATUS"='U')
    24 rows selected.
    Elapsed: 00:00:00.86
    SQL> rollback;
    Rollback complete.
    Elapsed: 00:00:00.07Here is the output of SQL*Plus AUTOTRACE including the TIMING information:
    SQL> SELECT count(*)
      2         FROM  orders o,shipment_type_methods stm
      3       WHERE o.status in ('A','U')
      4           AND  (o.parent_order_id is null
      5            OR (o.order_type = 'G'
      6           AND o.parent_order_id = o.original_order_number))
      7           AND nvl(o.priority,'1') <> '2'
      8           AND o.client = stm.client
      9           AND o.shipment_class_code = stm.shipment_class_code
    10           AND stm.surcharge_amount = 0
    11     AND o.client = :CLIENT_NUMBER
    12    GROUP BY o.client
    13  /
    Elapsed: 00:00:03.09
    Execution Plan
    Plan hash value: 559278019
    | Id  | Operation                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |   1 |  SORT GROUP BY NOSORT          |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID  | ORDERS                  |   175K|  3431K| 25979   (3)| 00:05:12 |
    |   3 |    NESTED LOOPS                |                         | 25300 |   864K| 46764   (3)| 00:09:22 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |     1 |    15 |     2   (0)| 00:00
    |*  5 |      INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |     2 |       |     1   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN           | ORDERS_ORDER_DATE       |   176K|       |  2371   (8)| 00:00:29 |
    Predicate Information (identified by operation id):
       2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
                  AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
       4 - filter("STM"."SURCHARGE_AMOUNT"=0)
       5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
       6 - access("O"."CLIENT"=:CLIENT_NUMBER)
           filter("O"."STATUS"='A' OR "O"."STATUS"='U')
    Statistics
             55  recursive calls
              0  db block gets
           7045  consistent gets
              0  physical reads
              0  redo size
            206  bytes sent via SQL*Net to client
            238  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    SQL> disconnect
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> The TKPROF output for this statement looks like the following:
    SELECT count(*)
           FROM  orders o,shipment_type_methods stm
         WHERE o.status in ('A','U')
             AND  (o.parent_order_id is null
              OR (o.order_type = 'G'
             AND o.parent_order_id = o.original_order_number))
             AND nvl(o.priority,'1') <> '2'
             AND o.client = stm.client
             AND o.shipment_class_code = stm.shipment_class_code
             AND stm.surcharge_amount = 0
       AND o.client = :CLIENT_NUMBER
      GROUP BY o.client
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.01       0.00          0          0          0           0
    Execute      1      0.04       0.04          0          0          0           0
    Fetch        2      2.96       2.91          0       7039          0           1
    total        4      3.01       2.95          0       7039          0           1
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 95 
    Rows     Row Source Operation
          1  SORT GROUP BY NOSORT (cr=7039 pr=0 pw=0 time=2913701 us)
         91   TABLE ACCESS BY INDEX ROWID ORDERS (cr=7039 pr=0 pw=0 time=261997906 us)
         93    NESTED LOOPS  (cr=6976 pr=0 pw=0 time=20740 us)
          1     TABLE ACCESS BY INDEX ROWID SHIPMENT_TYPE_METHODS (cr=2 pr=0 pw=0 time=208 us)
          3      INDEX RANGE SCAN U_SHIPMENT_TYPE_METHODS (cr=1 pr=0 pw=0 time=88 us)(object id 81957)
         91     INDEX RANGE SCAN ORDERS_ORDER_DATE (cr=6974 pr=0 pw=0 time=70 us)(object id 81547)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       2        0.00          0.00
      SQL*Net message from client                     2        0.02          0.02
    ********************************************************************************The DBMS_XPLAN.DISPLAY_CURSOR output:
    SQL> variable CLIENT_NUMBER varchar2(20)
    SQL> exec :CLIENT_NUMBER := '14'
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.06
    SQL> SELECT /*+ gather_plan_statistics */ count(*)
      2         FROM  orders o,shipment_type_methods stm
      3       WHERE o.status in ('A','U')
      4           AND  (o.parent_order_id is null
      5            OR (o.order_type = 'G'
      6           AND o.parent_order_id = o.original_order_number))
      7           AND nvl(o.priority,'1') <> '2'
      8           AND o.client = stm.client
      9           AND o.shipment_class_code = stm.shipment_class_code
    10           AND stm.surcharge_amount = 0
    11     AND o.client = :CLIENT_NUMBER
    12    GROUP BY o.client
    13  /
      COUNT(*)
            91
    Elapsed: 00:00:02.85
    SQL> set termout on
    SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
    PLAN_TABLE_OUTPUT
    SQL_ID  4nfj368y8w6a3, child number 0
    SELECT /*+ gather_plan_statistics */ count(*)        FROM  orders o,shipment_type_methods stm      WHERE
    o.status in ('A','U')          AND  (o.parent_order_id is null           OR (o.order_type = 'G'
    AND o.parent_order_id = o.original_order_number))          AND nvl(o.priority,'1') <> '2'          AND
    o.client = stm.client          AND o.shipment_class_code = stm.shipment_class_code          AND
    stm.surcharge_amount = 0    AND o.client = :CLIENT_NUMBER   GROUP BY o.client
    Plan hash value: 559278019
    | Id  | Operation                      | Name                    | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    |   1 |  SORT GROUP BY NOSORT          |                         |      1 |      1 |      1 |00:00:02.63 |    7039 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID  | ORDERS                  |      1 |    175K|     91 |00:03:56.87 |    7039 |
    |   3 |    NESTED LOOPS                |                         |      1 |  25300 |     93 |00:00:00.02 |    6976 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |      1 |      1 |      1 |00:00:00.01 |       2 |
    |*  5 |      INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |      1 |      2 |      3 |00:00:00.01 |       1 |
    |*  6 |     INDEX RANGE SCAN           | ORDERS_ORDER_DATE       |      1 |    176K|     91 |00:00:00.01 |    6974 |
    Predicate Information (identified by operation id):
       2 - filter((("O"."PARENT_ORDER_ID" IS NULL OR ("O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER"))) AND NVL("O"."PRIORITY",'1')<>'
                  "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE"))
       4 - filter("STM"."SURCHARGE_AMOUNT"=0)
       5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
       6 - access("O"."CLIENT"=:CLIENT_NUMBER)
           filter(("O"."STATUS"='A' OR "O"."STATUS"='U'))
    32 rows selected.
    Elapsed: 00:00:01.30
    SQL> I'm looking forward for suggestions how to improve the performance of this statement.
    Thanks
    Sandy

    Please find explain plan for No hint
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 559278019
    | Id  | Operation                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |   1 |  SORT GROUP BY NOSORT          |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID  | ORDERS                  |   175K|  3431K| 25979   (3)| 00:05:12 |
    |   3 |    NESTED LOOPS                |                         | 25300 |   864K| 46764   (3)| 00:09:22 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |     1 |    15 |     2   (0)| 00:00
    |*  5 |      INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |     2 |       |     1   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN           | ORDERS_ORDER_DATE       |   176K|       |  2371   (8)| 00:00:29 |
    Predicate Information (identified by operation id):
       2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
                  AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
       4 - filter("STM"."SURCHARGE_AMOUNT"=0)
       5 - access("STM"."CLIENT"=:CLIENT_NUMBER)
       6 - access("O"."CLIENT"=:CLIENT_NUMBER)
           filter("O"."STATUS"='A' OR "O"."STATUS"='U')
    24 rows selected.
    Elapsed: 00:00:00.86Explain Plan for Parallel Hint
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 559278019
    | Id  | Operation                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |   1 |  SORT GROUP BY NOSORT          |                         |     1 |    35 | 46764   (3)| 00:09:22 |
    |*  2 |   TABLE ACCESS BY INDEX ROWID  | ORDERS                  |   175K|  3431K| 25979   (3)| 00:05:12 |
    |   3 |    NESTED LOOPS                |                         | 25300 |   864K| 46764   (3)| 00:09:22 |
    |*  4 |     TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |     1 |    15 |     2   (0)| 00:00
    |*  5 |      INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |     2 |       |     1   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN           | ORDERS_ORDER_DATE       |   176K|       |  2371   (8)| 00:00:29 |
    Predicate Information (identified by operation id):
       2 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
                  AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_CODE")
       4 - filter("STM"."SURCHARGE_AMOUNT"=0)
       5 - access("STM"."CLIENT"='14')
       6 - access("O"."CLIENT"='14')
           filter("O"."STATUS"='A' OR "O"."STATUS"='U')
    24 rows selected.
    Elapsed: 00:00:08.92Explain Plan for USE_Hash hint
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1465232248
    | Id  | Operation                     | Name                    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT              |                         |     1 |    35 | 46786   (3)| 00:09:22 |
    |   1 |  SORT GROUP BY NOSORT         |                         |     1 |    35 | 46786   (3)| 00:09:22 |
    |*  2 |   HASH JOIN                   |                         | 25300 |   864K| 46786   (3)| 00:09:22 |
    |*  3 |    TABLE ACCESS BY INDEX ROWID| SHIPMENT_TYPE_METHODS   |     1 |    15 |     2   (0)| 00:00:0
    |*  4 |     INDEX RANGE SCAN          | U_SHIPMENT_TYPE_METHODS |     2 |       |     1   (0)| 00:00:01 |
    |*  5 |    TABLE ACCESS BY INDEX ROWID| ORDERS                  |   175K|  3431K| 46763   (3)| 00:09:22 |
    |*  6 |     INDEX RANGE SCAN          | ORDERS_ORDER_DATE       |   176K|       |  4268   (8)| 00:00:52 |
    Predicate Information (identified by operation id):
       2 - access("O"."CLIENT"="STM"."CLIENT" AND "O"."SHIPMENT_CLASS_CODE"="STM"."SHIPMENT_CLASS_COD
                  E")
       3 - filter("STM"."SURCHARGE_AMOUNT"=0)
       4 - access("STM"."CLIENT"='14')
       5 - filter(("O"."PARENT_ORDER_ID" IS NULL OR "O"."ORDER_TYPE"='G' AND
                  "O"."PARENT_ORDER_ID"=TO_NUMBER("O"."ORIGINAL_ORDER_NUMBER")) AND NVL("O"."PRIORITY",'1')<>'2
       6 - access("O"."CLIENT"='14')
           filter("O"."STATUS"='A' OR "O"."STATUS"='U')
    25 rows selected.
    Elapsed: 00:00:01.09
    SQL> Thanks
    Sandy

  • Getting Strange Error Running Query After Partioning Cube

    I am using BI 7.0, Service Pack 11:
    I just partitioned a cube. I hav eorginal cube XFI_C001 and create a new cube C2_XFIC01 by copying from XFI_C001. Now I developed a query on C2_XFIC01. Similar query on XFI_C001 does not give any error. How can I debug this problem? Error reported when running query is shown below. I  ran ST22, no dump. I did SM50, looked at developer trace, no clue.
    The initial exception that caused the request to fail was: 
    Termination message sent
    ABEND RSBOLAP (000): Program error in class SAPMSSY1 method : UNCAUGHT_EXCEPTION
      MSGV1: SAPMSSY1
      MSGV3: UNCAUGHT_EXCEPTION
    com.sap.ip.bi.base.application.exceptions.AbortMessageRuntimeException: Termination message sent
    ABEND RSBOLAP (000): Program error in class SAPMSSY1 method : UNCAUGHT_EXCEPTION
      MSGV1: SAPMSSY1
      MSGV3: UNCAUGHT_EXCEPTION
    at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessageInternal(MessageManager.java:148)
    at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessage(MessageManager.java:113)
    Detailed Exception is:
    com.sap.ip.bi.base.exception.BIBaseRuntimeException: Error while generating HTML
         at com.sap.ip.bi.webapplications.ui.items.UiItem.render(UiItem.java:365)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.ContainerNode.render(ContainerNode.java:63)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.PageAssemblerRenderingRoot.processRendering(PageAssemblerRenderingRoot.java:52)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:3565)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:3280)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:3236)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2512)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:956)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:842)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:430)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:21)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:174)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.ip.bi.base.application.exceptions.AbortMessageRuntimeException: Termination message sent
    ABEND RSBOLAP (000): Program error in class SAPMSSY1 method : UNCAUGHT_EXCEPTION
      MSGV1: SAPMSSY1
      MSGV3: UNCAUGHT_EXCEPTION
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessageInternal(MessageManager.java:148)
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessage(MessageManager.java:113)
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessageInternal(MessageManager.java:144)
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessage(MessageManager.java:113)
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessageInternal(MessageManager.java:144)
         at com.sap.ip.bi.base.application.message.impl.MessageManager.addMessage(MessageManager.java:113)
         at com.sap.ip.bi.base.application.service.RfcService.fillMessages(RfcService.java:268)
         at com.sap.ip.bi.base.application.service.RfcService.doPostProcessing(RfcService.java:218)
         at com.sap.ip.bi.base.application.service.rfcproxy.impl.RfcFunction.execute(RfcFunction.java:57)
         at com.sap.ip.bi.base.application.service.RfcService.doPostProcessing(RfcService.java:227)
         at com.sap.ip.bi.base.application.service.rfcproxy.impl.RfcFunction.execute(RfcFunction.java:57)
         at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.ProviderInfoObject.prepareForSelectionMemberAccess(ProviderInfoObject.java:1215)
         at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.selection.ProviderComponentList.setup(ProviderComponentList.java:87)
         at com.sap.ip.bi.bics.dataaccess.resource.impl.bi.selector.selection.ProviderComponentList.getComponents(ProviderComponentList.java:120)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.ComponentList.setup(ComponentList.java:96)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.ComponentList.<init>(ComponentList.java:77)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.CartesianProduct.setup(CartesianProduct.java:78)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.CartesianProduct.<init>(CartesianProduct.java:55)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.selection.Selection.<init>(Selection.java:57)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.SelectionObject.createSelection(SelectionObject.java:538)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.SelectionObject.getSelectionSpace(SelectionObject.java:549)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.selector.SelectionObject.getEffectiveSelection(SelectionObject.java:577)
         at com.sap.ip.bi.km.impl.KmUtilities.getEffectiveSelection(KmUtilities.java:66)
         at com.sap.ip.bi.km.impl.source.property.QueryBuilderMulti.getQueryExpressionWrapper(QueryBuilderMulti.java:129)
         at com.sap.ip.bi.km.impl.source.CmFolderSource.getDocumentQueryResult(CmFolderSource.java:132)
         at com.sap.ip.bi.km.common.selection.DocumentSelectorResultSet.readQvDocuments(DocumentSelectorResultSet.java:234)
         at com.sap.ip.bi.km.common.selection.DocumentSelectorResultSet.getCellsWithDocuments(DocumentSelectorResultSet.java:136)
         at com.sap.ip.bi.km.common.selection.DocumentsSelectionService.getCellsWithDocuments(DocumentsSelectionService.java:258)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsDataCells.hasDocuments(RsDataCells.java:620)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsDataCell.hasDocuments(RsDataCell.java:543)
         at com.sap.ip.bi.webapplications.ui.items.analysis.renderer.interactive.RendererInteractive.createContent_DocumentSymbol(RendererInteractive.java:1660)
         at com.sap.ip.bi.webapplications.ui.items.analysis.renderer.interactive.RendererInteractive.createCell_Content(RendererInteractive.java:545)
         at com.sap.ip.bi.webapplications.ui.items.analysis.renderer.interactive.RendererInteractive.createCell(RendererInteractive.java:525)
         at com.sap.ip.bi.webapplications.ui.items.analysis.renderer.interactive.RendererInteractive.createTableRow(RendererInteractive.java:489)
         at com.sap.ip.bi.webapplications.ui.items.analysis.renderer.interactive.RendererInteractive.getContent(RendererInteractive.java:423)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableInteractive.buildUrTree(AcPivotTableInteractive.java:321)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:33)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:61)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:61)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutCell.iterateOverChildren(MatrixLayoutCell.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutRow.iterateOverChildren(MatrixLayoutRow.java:56)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayout.iterateOverChildren(MatrixLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.matrixlayout.control.AcMatrixControlGrid.iterateOverChildren(AcMatrixControlGrid.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:61)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.Group.iterateOverChildren(Group.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.group.control.AcGroupControl.iterateOverChildren(AcGroupControl.java:259)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:61)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         ... 42 more

    Hi,
    The error log shows you are executing your query on portal which uses Java stack. There may some issue with the portal configuration. Check with your basis/portal team.
    The query will execute in BEx and RSRT as RSRT executes query on ABAP stack.
    Regards,Niraj

  • Stepping through a query result set, replacing one string with another.

    I want to write a function that replaces the occurance of a string with another different string.  I need it to be a CF fuction that is callable from another CF function.  I want to "hand" this function an SQL statement (a string) like this:   (Please note, don't bother commenting that "there are eaiser ways to write this SQL..., I've made this simple example to get to the point where I need help.  I have to use a "sub_optimal" SQL syntax just to demonstrate the situation)
    Here is the string I want to pass to the function:
    SELECT
      [VERYLONGTABLENAME].FIRST_NAME,
      [VERYLONGTABLENAME].LAST_NAME,
      [VERYLONGTABLENAME].ADDRESSS
    FROM
      LONGTABLENAME [VERYLONGTABLENAME]
    Here is the contents of the ABRV table:
    TBL_NM,  ABRV    <!--- Header row--->
    VERYLONGTABLENAME, VLTN
    SOMEWHATLONGTALBENAME, SLTN
    MYTABLENAME, MTN
    ATABLENAME, ATN
    The function will return the original string, but with the abreviations in place of the long table names, example:
    SELECT
      VLTN.FIRST_NAME,
      VLTN.LAST_NAME,
      VLTN.ADDRESSS
    FROM
      LONGTABLENAME VLTN
    Notice that only the table names surrounded by brackets and that match a value in the ABRV table have been replaced.  The LONGTABLENAME immediately following the FROM is left as is.
    Now, here is my dum amatuer attempt at writing said function:  Please look at the comment lines for where I need help.
          <cffunction name="AbrvTblNms" output="false" access="remote" returntype="string" >
            <cfargument name="txt" type="string" required="true" />
            <cfset var qAbrvs="">  <!--- variable to hold the query results --->
            <cfset var output_str="#txt#">  <!--- I'm creating a local variable so I can manipulate the data handed in by the TXT parameter.  Is this necessary or can I just use the txt parameter? --->
            <cfquery name="qAbrvs" datasource="cfBAA_odbc" result="rsltAbrvs">
                SELECT TBL_NM, ABRV FROM BAA_TBL_ABRV ORDER BY 1
            </cfquery>
         <!--- I'm assuming that at this point the query has run and there are records in the result set --->
        <cfloop index="idx_str" list="#qAbrvs#">      <!--- Is this correct?  I think not. --->
        <cfset output_str = Replace(output_str, "#idx_str#", )  <!--- Is this correct?  I think not. --->
        </cfloop>               <!--- What am I looping on?  What is the index? How do I do the string replacement? --->
            <!--- The chunck below is a parital listing from my Delphi Object Pascal function that does the same thing
                   I need to know how to write this part in CF9
          while not Eof do
            begin
              s := StringReplace(s, '[' +FieldByName('TBL_NM').AsString + ']', FieldByName('ABRV').AsString, [rfReplaceAll]);
              Next;
            end;
            --->
        <cfreturn output_txt>
        </cffunction>
    I'm mainly struggling with syntax here.  I know what I want to happen, I know how to make it happen in another programming language, just not CF9.  Thanks for any help you can provide.

    RedOctober57 wrote:...
    Thanks for any help you can provide.
    One:
    <cfset var output_str="#txt#">  <!--- I'm creating a local
    variable so I can manipulate the data handed in by the TXT parameter.
    Is this necessary or can I just use the txt parameter? --->
    No you do not need to create a local variable that is a copy of the arguments variable as the arguments scope is already local to the function, but you do not properly reference the arguments scope, so you leave yourself open to using a 'txt' variable in another scope.  Thus the better practice would be to reference "arguments.txt" where you need to.
    Two:
    I know what I want to happen, I know how to make it happen in another programming language, just not CF9.
    Then a better start would be to descirbe what you want to happen and give a simple example in the other programming language.  Most of us are muti-lingual and can parse out clear and clean code in just about any syntax.
    Three:
    <cfloop index="idx_str" list="#qAbrvs#">      <!--- Is this correct?  I think not. --->
    I think you want to be looping over your "qAbrvs" record set returned by your earlier query, maybe.
    <cfloop query="qAbrvs">
    Four:
    <cfset output_str = Replace(output_str, "#idx_str#", )  <!--- Is this correct?  I think not. --->
    Continuing on that assumption I would guess you want to replace each instance of the long string with the short string form that record set.
    <cfset output_str = Replace(output_str,qAbrs.TBLNM,qAbrs.ABRV,"ALL")>
    Five:
    </cfloop>               <!--- What am I looping on?  What is the index? How do I do the string replacement? --->
    If this is true, then you are looping over the record set of tablenames and abreviations that you want to replace in the string.

  • 2.1EA2: Pinning Query Results and changing Connections [fixed in 2.1.0]

    I am on 2.1EA2 (JDK 1.6.0_16) and been playing with the new SQL Worksheet pin query results functionality. I have found that it is possible to run a query against one connection, pin the results and then change connection and run the same (or a different) query against another connection. I really like this, but found a few problems:
    #1 There doesn't seem to be any way to tell which connection a query result tab was actually run against
    #2 Even if all rows are fetched, if I then disconnect from the first connection it can get quite messy. Sometimes I get an empty connection dialog (I can't remember the exact title and it doesn't reproduce consistently) with only the close window X in the corner. Some times I get prompted to log in with a connection information dialog with no reference to the connection it is connecting to - cancelling only brings up the same dialog again until I successfully connect. Some times I get prompted to log in and while that is still on the screen, SQL Developer logs me back in to the connection (even though I don't save passwords) - I even get a new worksheet for the reconnected connection.
    theFurryOne

    Raghu,
    I am happy with both.
    #1 - I would be happy if the connection name was at the start of the tool-tip style pop-up when hovering over Query Results tab and the Query Result SQL dialog that opens on the SQL button. -K-'s suggestion makes it immediately obvious for the currently selected Query Results tab, without having to move the mouse or click on something.
    Ideally, I would like something similar for the other output tabs (ie Script Output), but they seem to show results for all connections that the worksheet has used, so the same concept may not work.
    #2 - I am used to the grid being cleared when disconnecting from earlier versions - I assumed that this was a bug where SQLD was not checking the connection of the results, just the current connection of the worksheet.
    theFurryOne

  • Date format in Query Result Window

    In recent versions on OSD (trying with V3.2.20.09 Build MAIN-09.87) I've been unable to change the date format for results shown in the query results window via the NLS settings in Preferences, it's the same for other users on v3 in my area. Can anyone advice on whether anything can be done to resolve this issue or is there a bug in recent additions of OSD
    Frustrating having a result show as 01-DEC-12 and I don't know whether it's 01-DEC-2012 or our default date of 01-DEC-4712 without having to hard code a to_char in my sql which I don't want to be doing all the time to analyse my results
    I have an old version 1.5.4 Build MAIN-5940 and changing the NLS settings in preferences refrects correctly in the query results window
    Any advice appreciated, Thanks

    Thanks, looks like it's permission, tried on a different database supposed to be the same and it works when I update the preferences or run the alter session statement. Call to my admins to get on the case
    Ta
    for anyone else having simular issues, help are the statements I've tried to confirm it's permissions
    alter session set NLS_DATE_FORMAT = 'DD-MON-RR HH24:MI:SS'; -- Original
    alter session set NLS_DATE_FORMAT = 'DD-MON-RRRR HH24:MI:SS';
    commit;
    SELECT *
    FROM nls_session_parameters
    Edited by: lakeuk on 14-Nov-2012 06:37

  • Query result caching on oracle 9 and 10 vs indexing

    I am trying to improve performance on oracle 9i and 10g.
    We use some queries that take up to 30 minutes to execute.
    I heard that there are some products to cache query results.
    Would this have any advantage over using indexes or materialized views?
    Does anyone know any products that I can use to cache the results of this queries on disk?
    Personally I think that by using the query result caching I would reduce the cpu time needed to process the query.
    Is this true?

    Your message post pushes all the wrong buttons starting with the fact that 9i and 10g are marketing labels not version numbers.
    You don't tune queries by spending money and throwing resources at them. You tune them by identifying the problem queries, running explain plans, visualizing their output using DBMS_XPLAN, and addressing the root cause.
    If you want help post full version numbers, the SQL statements, and the DBMS_XPLAN outputs.

Maybe you are looking for

  • Is there a way to create a semi-transparency with Java?

    I would like to be able to create a semi transparent form and I was does anyone know how to do this?

  • How To Handle DB That Takes Time To Open

    I am using DAO to link sql server tables into mdb.  With one database I have it takes roughly 60 seconds for the database to become available to link in the table.  When I open the database normally (w/o code) it takes about 5 seconds for the Databas

  • PO Confirmation - Auto Industry

    Hello all, Scenario: Plant A is raising PO on the Plant B for 100 Units of a material. Plant B sends confirmation for 90 units. The requirement here is when plant B sends confirmation for 90 units; it also has to confirm the VINu2019s (Vehicle Identi

  • How can I get help canceling my subscription?

    Is there anyway I can talk to a "Live" person from Adobe?  I accidentally double charge myself in purchasing a PDF to Word Perfect software.  If there is an 'English' speaking person from Adobe who can help me, please email me at [private information

  • Report listing of menu items/roles

    I need to get a listing for my customers of all menu items and the corresponding roles which have access to them. Does anyone have code or know how to get this information? thanks - sandi