Concurrent Programs taking unusually more time..

Hi,
One of our concurrent Requst sets which used to complete within 3 hrs like that is taking unusually large amount of time..We checked for locks but couldnt find any...
Can anyone advise what could be wrong here..
Thanks,
Praveen

One of our concurrent Requst sets which used to complete within 3 hrs like that is taking unusually large amount of timeI understand that this happen to one concurrent request set only. Enable trace on this request to find out why it takes that long to run.

Similar Messages

  • Test program running taking much more time on high end server T5440 than low end server  T5220

    Hi all,
    I have written the following program and run on both T5440  [1.4 GHz, 95 GB RAM, 32 cores(s), 256 logical (virtual) processor(s),] and  T5220 [(UltraSPARC-T2 (chipid 0, clock 1165 MH) , 8GB RAM, 1 core, 8 virtual processors )] on same OS version.  I found that T5540 server takes more time than T5220. Please find below the details.
    test1.cpp
    #include <iostream>
    #include <pthread.h>
    using namespace std;
    #define NUM_OF_THREADS 20
    struct ABCDEF {
    char A[1024];
    char B[1024];
    void *start_func(void *)
        long long i = 6000;
        while(i--)
                    ABCDEF*             sdf = new ABCDEF;
                    delete sdf;
                    sdf = NULL;
        return NULL;
    int main(int argc, char* argv[])
        pthread_t tid[50];
        for(int i=0; i<NUM_OF_THREADS; i++)
                    pthread_create(&tid[i], NULL, start_func, NULL);
                    cout<<"Creating thread " << i <<endl;
        for(int i=0; i<NUM_OF_THREADS; i++)
                    pthread_join(tid[i], NULL);
                    cout<<"Waiting for thread " << i <<endl;
    After executing the above program on T5440 takes :
    real 0.78
    user 3.94s
    sys 0.05
    After executing the above program on T5220 takes :
    real 0.23
    user 1.43s
    sys 0.03
    It seems that T5440 which is high end server takes almost 3 times more time than T5220 which is low end server.  
    However, I have one more observation. I tried the following program :
    test2.cpp
    #include <iostream>
    #include <pthread.h>
    using namespace std;
    #define NUM_OF_THREADS 20
    struct ABCDEF {
    char A[1024];
    char B[1024];
    int main(int argc, char* argv[])
        long long i = 6000000;
        while(i--)
            ABCDEF*  sdf = new ABCDEF;
            delete sdf;
            sdf = NULL;
        return 0;
    It seems that T5440 server is fast in this case as compaired to T5220 server.
    Could anyone please help me out the exact reason for this behaviour as my application is slow as well on this T5440 server. I have posted earlier as well for the same issue. 
    Thanks in advance !!!
    regards,
    Sanjay

    You already asked this question...
    48 hours earlier, and in the same Solaris forum space
    Repeating the post isn't going to get you a response any faster, and actually now have people NOT respond because you are not showing any patience.
    These are end-user community forums, not a place to expect Oracle Technical Support.   There is no obligation that there be a response.
    If you have a business-critical issue and hope to get accurate and timely response, then use your service contract credentials to open a Support request.
    This new redundant post is locked.
    Edit:
    It appears that at the same time the O.P. posted this redundant thread, they also posted the same question to at least one other forum web site:
    http://www.unix.com/solaris/229269-test-program-running-taking-much-more-time-high-end-server-t5440-than-low-end-server-t5220.html

  • After upgrading to lion starting up is taking much more time ??

    After upgrading to lion starting up is taking much more time is there any solution to this ?
    i do all things about cleaning disk permission or editing .

    Have you check what is being started at the same time?
    Lion will start more applications then were being started in the past.
    Allan

  • Manuals users should not be able to submit a concurrent program at a specific time frame:

    Hi
    Please let me know is it possible to restrict some users to submit a Concurrent program during a selected time frame .
    Eg we have an issue in which Process Lockboxes concurrent Program is submitted by the batch user and is also by the Users manually from Front end .What I want is that during a particular time frame everyday say from 12:00 AM to 6 PM I want to restrict manual users to submit this program ,whereas the Program can be submitted by the Batch user any time  .
    Please let me if its possible to achieve this and how .
    Thanks
    Rishabh

    Please don't post duplicates -- restrict user to submit concurrent Program
    Continue the discussion in your original post.
    Thanks,
    Hussein

  • T-code SUIM taking much more time for generating output for profie change.

    Hi All
    We want to extract report for profile addition and deletion for Users in ECC 6. While executing the the t-code SUIM it is taking much more time (taking more than 20 hrs). This problem is coming after patch application
    Please give the solution/Suggest to minimize the time taken in report generation.
    Thanks-
    Guru Prasad Dwivedi

    Hello Prasad,
    The reason for the performance trouble is a new feature regarding the user change documents. Since note 874850 and 1015043 you will get a more complete overview about the changes regarding a user.
    The disadvantage of that new feature is, that in some customer system usage scenario, the performance is very poor. That's the case, if the central change documents are intensivly used also by other applications and the tables CDPOS, CDHDR, ... contains a very big count of rows. Unfortunatly the user change documents can not be searched by the key columns of the central change docs. - so the bad response time can explained.
    What now ... ?
    There are some work arounds to get the change documents on faster way.
    1st. - You can get the former report output and performance if you
           would use the report RSUSR100 instead of the new RSUSR100N in
           separate mode.
    2nd. - If you want to use the new report RSUSR100N directly and only
           want to get the information about the traditional topics
           (content of USH* tables) you should only mark the search areas
           on the tabstrip 'user attributes') to get a better performance.
         - furthermore limit the date range, if possible
    3rd. - You should regulary (monthly) archive the user relevant documents
           for PFCG and IDENTITY from the central change documents.
           As per our note 1079207 chapter 3 you can reload that archives
           into more selective tables.
           The selection for change documents will be rather faster over
           reloaded archived documents than the documents in the
           central change documents tables.
    Best Regards,
    Guilherme de Oliveira.

  • Cleanup special characters Program taking too much time

    Hi Guys,
    We run a program called Z_CLEAN_SPECIAL_CHARS to clean up special characters. Normally, it takes 5-10 mins to execute this program but for some reason it took 3 hours. We killed the program and restarted the process and it took normal time to execute.
    Our team wants to investigate why this happened at the first place but not sure how and where to start. Any ideas. The log doesnt give much information.

    Hi ,
    Open your program in se38 .Set breakpoints and execute in debug mode .
    Check how many data records you are getting for cleanup and which step is taking more time .
    May be today you have more no of records to search or to clean up .
    This may also be server bandwidth issue as you may have some other jobs also running along with this having higher priority .
    If there will be any error you will get dump .
    You progarm is a zprogram so it depends on what exactly this program is doing and which tables it is accessing .
    One question how you are executing the program  (via process chain or manually)?
    Regards,
    Jaya

  • OR is taking much more time than UNION

    hi gems..
    i have written a query using UNION clause and it took 12 seconds to give result.
    then i wrote the same query using OR operator and then it took 78 seconds to give the resultset.
    The tables which are referred by this qurey have no indexes.
    the cost plans for the query with OR is also much more lesser than that with UNION.
    please suggest why OR is taking more time.
    thanks in advance

    Here's a ridiculously simple example.  (these tables don't even have any rows in them)
    If you had separate indexes on col1 and col2, the optimizer might use indexes in the union but not in the or statement:
    Which is faster will depend on the usual list of things.
    Of course, the union also requires a sort operation.
    SQL> create table table1
      2  (col1 number, col2 number, col3 number, col4 number);
    Table created.
    SQL> create index t1_idx1 on table1(col1);
    Index created.
    SQL> create index t1_idx2 on table1(col2);
    Index created.
    SQL> explain plan for
      2  select col1, col2, col3, col4
      3  from table1
      4  where col1> = 123
      5  or col2 <= 456;
    Explained.
    SQL> @xp
    | Id  | Operation         | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |        |     1 |    52 |     2   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| TABLE1 |     1 |    52 |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("COL1">=123 OR "COL2"<=456)
    SQL> explain plan for
      2  select col1, col2, col3, col4
      3  from table1
      4  where col1 >= 123
      5  union
      6  select col1, col2, col3, col4
      7  from table1
      8  where col2 <= 456;
    Explained.
    SQL> @xp
    | Id  | Operation                     | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT              |         |     2 |   104 |     4  (75)| 00:00:01 |
    |   1 |  SORT UNIQUE                  |         |     2 |   104 |     4  (75)| 00:00:01 |
    |   2 |   UNION-ALL                   |         |       |       |            |          |
    |   3 |    TABLE ACCESS BY INDEX ROWID| TABLE1  |     1 |    52 |     1   (0)| 00:00:01 |
    |*  4 |     INDEX RANGE SCAN          | T1_IDX1 |     1 |       |     1   (0)| 00:00:01 |
    |   5 |    TABLE ACCESS BY INDEX ROWID| TABLE1  |     1 |    52 |     1   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN          | T1_IDX2 |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - access("COL1">=123)
       6 - access("COL2"<=456)

  • Auto Invoice Program taking too much time : problem with update sql

    Hi ,
    Oracle db version 11.2.0.3
    Oracle EBS version : 12.1.3
    Though we have a SEV-1 SR with oracle we have not been able to find much success.
    We have an auto invoice program which runs many times in the day and its taking too much time since the begining . On troubleshooting we have found one query to be taking too much of the time and seek suggestion on how to tune it.  I am attaching the explain plan for the for same.  Its an update query. Please guide.
    Plan
    UPDATE STATEMENT  ALL_ROWSCost: 0  Bytes: 124  Cardinality: 1 
      50 UPDATE AR.RA_CUST_TRX_LINE_GL_DIST_ALL
      27 FILTER 
      26 HASH JOIN  Cost: 8,937,633  Bytes: 4,261,258,760  Cardinality: 34,364,990 
      24 VIEW VIEW SYS.VW_NSO_1 Cost: 8,618,413  Bytes: 446,744,870  Cardinality: 34,364,990 
      23 SORT UNIQUE  Cost: 8,618,413  Bytes: 4,042,339,978  Cardinality: 34,364,990 
      22 UNION-ALL 
      9 FILTER 
      8 SORT GROUP BY  Cost: 5,643,052  Bytes: 3,164,892,625  Cardinality: 25,319,141 
      7 HASH JOIN  Cost: 1,640,602  Bytes: 32,460,436,875  Cardinality: 259,683,495 
      1 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993  Bytes: 402,499,500  Cardinality: 20,124,975 
      6 HASH JOIN  Cost: 853,567  Bytes: 22,544,143,440  Cardinality: 214,706,128 
      4 HASH JOIN  Cost: 536,708  Bytes: 2,357,000,550  Cardinality: 29,835,450 
      2 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 153,008  Bytes: 1,163,582,550  Cardinality: 29,835,450 
      3 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 307,314  Bytes: 1,193,526,000  Cardinality: 29,838,150 
      5 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 132,951  Bytes: 3,123,197,116  Cardinality: 120,122,966 
      21 FILTER 
      20 SORT GROUP BY  Cost: 2,975,360  Bytes: 877,447,353  Cardinality: 9,045,849 
      19 HASH JOIN  Cost: 998,323  Bytes: 17,548,946,769  Cardinality: 180,916,977 
      13 VIEW VIEW AR.index$_join$_027 Cost: 108,438  Bytes: 867,771,256  Cardinality: 78,888,296 
      12 HASH JOIN 
      10 INDEX RANGE SCAN INDEX AR.RA_CUSTOMER_TRX_N15 Cost: 58,206  Bytes: 867,771,256  Cardinality: 78,888,296 
      11 INDEX FAST FULL SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 62,322  Bytes: 867,771,256  Cardinality: 78,888,296 
      18 HASH JOIN  Cost: 748,497  Bytes: 3,281,713,302  Cardinality: 38,159,457 
      14 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993  Bytes: 402,499,500  Cardinality: 20,124,975 
      17 HASH JOIN  Cost: 519,713  Bytes: 1,969,317,900  Cardinality: 29,838,150 
      15 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 302,822  Bytes: 716,115,600  Cardinality: 29,838,150 
      16 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 149,847  Bytes: 1,253,202,300  Cardinality: 29,838,150 
      25 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 157,552  Bytes: 5,158,998,615  Cardinality: 46,477,465 
      41 SORT GROUP BY  Bytes: 75  Cardinality: 1 
      40 FILTER 
      39 MERGE JOIN CARTESIAN  Cost: 11  Bytes: 75  Cardinality: 1 
      35 NESTED LOOPS  Cost: 8  Bytes: 50  Cardinality: 1 
      32 NESTED LOOPS  Cost: 5  Bytes: 30  Cardinality: 1 
      29 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 3  Bytes: 22  Cardinality: 1 
      28 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_LINES_U1 Cost: 2  Cardinality: 1 
      31 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 2  Bytes: 133,114,520  Cardinality: 16,639,315 
      30 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 1  Cardinality: 1 
      34 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 20  Cardinality: 1 
      33 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 2  Cardinality: 1 
      38 BUFFER SORT  Cost: 9  Bytes: 25  Cardinality: 1 
      37 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 25  Cardinality: 1 
      36 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2  Cardinality: 1 
      49 SORT GROUP BY  Bytes: 48  Cardinality: 1 
      48 FILTER 
      47 NESTED LOOPS 
      45 NESTED LOOPS  Cost: 7  Bytes: 48  Cardinality: 1 
      43 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 4  Bytes: 20  Cardinality: 1 
      42 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 3  Cardinality: 1 
      44 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2  Cardinality: 1 
      46 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 28  Cardinality: 1 
    As per oracle , they had suggested multiple patches but that has not been helpful. Please suggest how do i tune this query. I dont have much clue of query tuning.
    Regards

    Hi Paul, My bad. I am sorry I missed it.
    Query as below :
    UPDATE RA_CUST_TRX_LINE_GL_DIST LGD SET (AMOUNT, ACCTD_AMOUNT) = (SELECT /*+ index(rec1 RA_CUST_TRX_LINE_GL_DIST_N6) ordered */ NVL(LGD.AMOUNT, 0) - ( SUM(LGD2.AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * CTL.EXTENDED_AMOUNT ) ), NVL(LGD.ACCTD_AMOUNT, 0) - ( SUM(LGD2.ACCTD_AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX CT, RA_CUST_TRX_LINE_GL_DIST LGD2, RA_CUST_TRX_LINE_GL_DIST REC1 WHERE CTL.CUSTOMER_TRX_LINE_ID = LGD2.CUSTOMER_TRX_LINE_ID AND CTL.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND LGD.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD2.ACCOUNT_SET_FLAG = 'N' AND REC1.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND REC1.ACCOUNT_CLASS = 'REC' AND REC1.LATEST_REC_FLAG = 'Y' AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD2.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, REC1.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, CT.EXCHANGE_RATE ), PERCENT = (SELECT /*+ index(rec2 RA_CUST_TRX_LINE_GL_DIST_N6) */ DECODE(LGD.ACCOUNT_CLASS || LGD.ACCOUNT_SET_FLAG, 'SUSPENSEN', LGD.PERCENT, 'UNBILLN', LGD.PERCENT, 'UNEARNN', LGD.PERCENT, NVL(LGD.PERCENT, 0) - ( SUM(NVL(LGD4.PERCENT, 0)) - DECODE(REC2.GL_DATE, NVL(LGD.GL_DATE, REC2.GL_DATE), 100, 0) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD4, RA_CUST_TRX_LINE_GL_DIST REC2 WHERE LGD.CUSTOMER_TRX_LINE_ID = LGD4.CUSTOMER_TRX_LINE_ID AND REC2.CUSTOMER_TRX_ID = LGD.CUSTOMER_TRX_ID AND REC2.CUSTOMER_TRX_ID = LGD4.CUSTOMER_TRX_ID AND REC2.ACCOUNT_CLASS = 'REC' AND REC2.LATEST_REC_FLAG = 'Y' AND LGD4.ACCOUNT_SET_FLAG = LGD.ACCOUNT_SET_FLAG AND DECODE(LGD4.ACCOUNT_SET_FLAG, 'Y', LGD4.ACCOUNT_CLASS, LGD.ACCOUNT_CLASS) = LGD.ACCOUNT_CLASS AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD4.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY REC2.GL_DATE, LGD.GL_DATE ), LAST_UPDATED_BY = :B1 , LAST_UPDATE_DATE = SYSDATE WHERE CUST_TRX_LINE_GL_DIST_ID IN (SELECT /*+ index(rec3 RA_CUST_TRX_LINE_GL_DIST_N6) */ MIN(DECODE(LGD3.GL_POSTED_DATE, NULL, LGD3.CUST_TRX_LINE_GL_DIST_ID, NULL) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX T, RA_CUST_TRX_LINE_GL_DIST LGD3, RA_CUST_TRX_LINE_GL_DIST REC3 WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = CTL.CUSTOMER_TRX_ID AND (CTL.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE' ) OR (CTL.LINE_TYPE = 'LINE' AND CTL.ACCOUNTING_RULE_ID IS NULL )) AND LGD3.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD3.ACCOUNT_SET_FLAG = 'N' AND REC3.CUSTOMER_TRX_ID = T.CUSTOMER_TRX_ID AND REC3.ACCOUNT_CLASS = 'REC' AND REC3.LATEST_REC_FLAG = 'Y' AND NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) = DECODE(:B4 , 'INV', -1, 'REGULAR_CM', T.PREVIOUS_CUSTOMER_TRX_ID, NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, LGD3.GL_DATE, REC3.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, T.EXCHANGE_RATE HAVING ( SUM(NVL(LGD3.AMOUNT, 0)) <> CTL.EXTENDED_AMOUNT * DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) OR SUM(NVL(LGD3.ACCTD_AMOUNT, 0)) <> DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) UNION SELECT /*+ index(rec5 RA_CUST_TRX_LINE_GL_DIST_N6) INDEX (lgd5 ra_cust_trx_line_gl_dist_n6) index(ctl2 ra_customer_trx_lines_u1) */ TO_NUMBER( MIN(DECODE(LGD5.GL_POSTED_DATE||LGD5.ACCOUNT_CLASS|| LGD5.ACCOUNT_SET_FLAG, 'REVN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'REVY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNEARNY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNBILLY', LGD5.CUST_TRX_LINE_GL_DIST_ID, NULL ) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD5, RA_CUST_TRX_LINE_GL_DIST REC5, RA_CUSTOMER_TRX_LINES CTL2, RA_CUSTOMER_TRX T WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = REC5.CUSTOMER_TRX_ID AND CTL2.CUSTOMER_TRX_LINE_ID = LGD5.CUSTOMER_TRX_LINE_ID AND REC5.CUSTOMER_TRX_ID = LGD5.CUSTOMER_TRX_ID AND REC5.ACCOUNT_CLASS = 'REC' AND REC5.LATEST_REC_FLAG = 'Y' AND (CTL2.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE') OR (CTL2.LINE_TYPE = 'LINE' AND (CTL2.ACCOUNTING_RULE_ID IS NULL OR LGD5.ACCOUNT_SET_FLAG = 'Y' ))) GROUP BY LGD5.CUSTOMER_TRX_LINE_ID, LGD5.GL_DATE, REC5.GL_DATE, LGD5.ACCOUNT_SET_FLAG, DECODE(LGD5.ACCOUNT_SET_FLAG, 'N', NULL, LGD5.ACCOUNT_CLASS) HAVING SUM(NVL(LGD5.PERCENT, 0)) <> DECODE( NVL(LGD5.GL_DATE, REC5.GL_DATE), REC5.GL_DATE, 100, 0) )
    I understand that this could be a seeded query but my attempt is to tune it.
    Regards

  • Concurrent Programs taking very long

    Hi,
    I developed a procedure. It runs in 4 minutes if its run from Toad but it is taking 15 min when I run it as concurrent Program.
    This concurrent program does not have any parameters.
    we are on Apps Version 11.5.10
    and Database version 10g
    Can some one please suggest what could be the issue.
    Thanks,
    Nidhi
    Edited by: Nidhi on Jun 16, 2011 3:16 PM

    Nidhi,
    First verify what exactly the request is doing in the Database, Get the request ID and find out Database SID and drill down to the session details.
    Sometimes it could that the request process terminated or some blocking sessions or High load on the serever.
    Drill down each layer and you will come to know the issue.
    Thanks

  • Reports taking unusually long time to load

    Gurus,
    I am using BO 4.1 SP1. I am trying to open a report  on BI launchpad. But it is taking very long time to load. This occurs even when i am trying to access the last instance. Window remains in the following state.
    I checked load on the server. But tha'ts fine. What could be the issue?

    Hi,
    Ok, that's strange because the connection server doesn't actually handle data processing.
    (that would typically be the WebiProcServer or DSL_Bridge or DF service (depending on workflow))
    My advice would be to turn off 'refresh on open',  change viewer technology to "web view" (as opposed to Java rich internet client)  and start investigating again from that baseline.
    Also, this might be indicative of a BIplatform sizing or APS configuration issue. another option: have you upped your memory allocation to the Tomcat config? 
    Regards,
    H

  • Saveing ABAP Program taking too long time

    Hi All,
    I am facing an issue related to saving, activating and deleting any ABAP program, dictionary, screen etc.. When I am creating, saving, activating and deleting any Z dictionary object, any program,  system goes in infinite action and program is unable to save/delete/activate etc.
    Support Pack  for basis and ABAP is 5.
    please help,
    Regards
    Rajesh.

    Hi,
    I would say this is not abap related... try talking to the system admin/basis. Could be database related issue, I'm guessing.
    Bruno

  • Admin server taking more time to start

    Hi All,
    I installed OIM 11g R2 in windows server2008 ,
    while starting the admin  server it is taking the more time, .
    Steps i have done.
    changed memory parameters for setSOADomainEnv, setOIMDomainEnv, oimenv.bat files.
    while starting the admin server it is showing the memory parameters are Xms768m.....xms1024m like that.
    can anyone please suggest what changes needs to do to run fast
    Thanks,
    Valli

    user623166 wrote:
    Hi Gurus
    my database oracle 10.2.0.3 in AIX
    I have started expdp to export selective around 130 tables but it is taking more time to start , almost 20 min passed since it start.
    $ expdp system/*** parfile=parfile.par
    Export: Release 10.2.0.3.0 - 64bit Production on Friday, 22 June, 2012 17:21:26
    Copyright (c) 2003, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    Starting "SYSTEM"."SYS_EXPORT_TABLE_02": system/******** parfile=parfile.par
    Estimate in progress using BLOCKS method...
    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
    I am not sure that this is enough information for us to suggest something. For starters, can you try selecting less tables than 120 and see what's going on?
    Aman....

  • Concurrent programs ran in particular range of time.

    Hi All,
    Can any one let me know how to get the concurrent programs ran in specified time irrespective of the status.
    For ex. programs ran this morning 7am - 8am.
    Thanks
    RK

    Hi,
    How to get all the requests ran during that time?
    For example, the request may start at 6.59 and completed at specific time(ST)(7-8).
    or
    the request may start at 7.59
    or
    the request may start before the specific time and may get complete after ST which ran throught the ST.
    We've several scenarios how to get all those?

  • More time in Extracting result set ( performence)  VERY URGENT

    Hi all,
    This program is taking much more time in Extracting the  the result set.........(How to increase the performence of this program)
    How to decrease the Execuition of the time.......???
    ***INCLUDE Z00_BCI010 .
    TABLES: z00_bc_cpt_sess,       " Stockage des compteurs associés aux
                                   " progs de traitement.
            z00_bc_erreur,         " Table des anomalies des programmes
    " spécifiques.
    *début ajout FAE 30463
            z00_bc_err_log.        "Table de stockage et retention des
    "erreurs
    *fin ajout FAE 30463
           t100.                  " Messages.
                       Déclaration des données internes                  *
    Table interne des anomalies.
    DATA: BEGIN OF itb_erreur OCCURS 0.
            INCLUDE STRUCTURE z00_bc_erreur.
    DATA: END OF itb_erreur.
    Nombre de jour pour la suppression des données dans la table des
    anomalies
    DATA: i_nb_jour(3) TYPE n.
    *début ajout FAE 30463
    DATA: w_dl_delai    LIKE z00_bc_err_log-z_delai,
          w_in_stockage LIKE z00_bc_err_log-z_stockage VALUE 'X'.
    *fin ajout FAE 30463
    Date et heure d'éxécution.
    DATA: i_dt_date_execution LIKE sy-datum,
          i_hr_heure_execution LIKE sy-uzeit.
    Date de suppression.
    DATA: z_date LIKE sy-datum.
    Compteur de session.
    DATA: o_ct_session LIKE z00_bc_cpt_sess-z_ct_session.
    Compteur pour le numéro de ligne de la table d'anomalie.
    DATA: l_ct_num_ligne LIKE z00_bc_erreur-z_no_num_ligne VALUE '00'.
    Données utile au remplissage de la table interne des anomalies.
    Nom du programme ABAP.
    DATA: i_repid LIKE z00_bc_erreur-z_repid.
    Libellé du traitement.
    DATA: w_lb_traitement LIKE itb_erreur-z_lb_lib_trait.
    Clé identifiant l'objet traité.
    DATA: i_ds_clef_objet LIKE z00_bc_erreur-z_ds_clef_objet.
    Code anomalie.
    DATA: i_cd_message LIKE sy-msgno.
    Type de message d'anomalie.
    DATA: i_ty_message LIKE sy-msgty.
    Classe de message.
    DATA: i_classe_message LIKE sy-msgid.
    Variable de message.
    DATA: i_msgv1 LIKE sy-msgv1,
          i_msgv2 LIKE sy-msgv2,
          i_msgv3 LIKE sy-msgv3,
          i_msgv4 LIKE sy-msgv4.
    Phase d'éxécution du programme.
    DATA: i_in_phase_exec LIKE z00_bc_erreur-z_in_phase_exec.
    Libellé de la clé.
    DATA: i_clef_objet(30).
    Constante.
    CONSTANTS: k_heure(8) VALUE 'Heure',                        "#EC NOTEXT
               k_code(4) VALUE 'Code',                          "#EC NOTEXT
               k_lb_message(80) VALUE 'Désignation',            "#EC NOTEXT
               k_ligne LIKE sy-linsz VALUE '127',
    k_societe LIKE sy-title VALUE 'SCHNEIDER ELECTRIC INDUSTRIES S.A.S.',
               k_projet LIKE sy-title VALUE 'LOGOS'.
                                TRAITEMENT                               *
    Nettoyage de la table interne et des données.
    FREE itb_erreur.
    CLEAR: i_msgv1,
           i_msgv2,
           i_msgv3,
           i_msgv4.
        Form F930_INIT                                                   *
    Fonction :                                                           *
    - Renseigne la table transparente des anomalies.                     *
    Donnée globale :                                                     *
    - ITB_ERREUR             Tables internes des erreurs.                *
    Entrées :                                                            *
    - I_REPID                Nom du programme en erreur.                 *
    - I_NB_JOUR              Nombre de jour avant la suppression des     *
                             enrgistrement de la lable Z00_BC_ERREUR.    *
    Sortie :                                                             *
    - O_CT_SESSION           Compteur de session.                        *
    FORM f930_init USING i_repid
                         i_nb_jour.
    Appel de la routine de suppression des vieux enregistrement.
      PERFORM f911_suppression_anomalie USING i_repid
                                              i_nb_jour.
    Mise à jour des compteur de session.
      PERFORM f912_maj_z00_bc_cpt_sess USING i_repid
                                       CHANGING o_ct_session.
    ENDFORM.
        Form F930_INIT_BLOCAGE                                           *
    Fonction :                                                           *
    - Suppression des vieux enregistrements
    - mise à jour table session
    Donnée globale :                                                     *
    - ITB_ERREUR             Tables internes des erreurs.                *
    Entrées :                                                            *
    - I_REPID                Nom du programme en erreur.                 *
    - I_NB_JOUR              Nombre de jour avant la suppression des     *
                             enrgistrement de la lable Z00_BC_ERREUR.    *
    Sortie :                                                             *
    - O_CT_SESSION           Compteur de session.                        *
    FORM f930_init_blocage USING i_repid
                                 i_nb_jour.
    Appel de la routine de suppression des vieux enregistrement.
    avec contrôle entrée de blocage
      PERFORM f911_suppression_anomalie_bloc USING i_repid
                                                   i_nb_jour.
    Mise à jour des compteur de session.
      PERFORM f912_maj_z00_bc_cpt_sess USING i_repid
                                       CHANGING o_ct_session.
    ENDFORM.
        Form F900_ERREUR                                                 *
    Fonction :                                                           *
    - Renseigne la table transparente des anomalies.                     *
    Donnée globale :                                                     *
    - ITB_ERREUR             Tables internes des erreurs.                *
    Donnée locale :                                                      *
    - l_CT_NUM_LIGNE         Compteur de ligne                           *
    - O_CT_SESSION           Numéro du compteur de session               *
    Entrées :                                                            *
    - I_REPID                Nom du programme en erreur.                 *
    - I_IN_PHASE_EXEC        Phase d'éxécution du programme              *
    - I_DS_CLEF_OBJET        Clé identifiant l'objet traité.             *
    - I_DT_DATE_EXECUTION    Date d'éxécution.                           *
    - I_HR_HEURE_EXECUTION   Heure d'éxécution.                          *
    - I_TY_MESSAGE           Type de message.                            *
    - I_CD_MESSAGE           code anomalie.                              *
    - I_CLASSE_MESSAGE       Classe de message.                          *
    - I_MSGV1                Variable de message.                        *
    - I_MSGV2                Variable de message.                        *
    - I_MSGV3                Variable de message.                        *
    - I_MSGV4                Variable de message.                        *
    FORM f900_erreur USING i_repid
                           i_in_phase_exec
                           i_ds_clef_objet
                           i_dt_date_execution
                           i_hr_heure_execution
                           i_ty_message
                           i_cd_message
                           i_classe_message
                           value(i_msgv1)
                           value(i_msgv2)
                           value(i_msgv3)
                           value(i_msgv4).                      "#EC CALLED
    DE3K913901 début ajout
    On récupère l'incrément qui sera inclu au n°de session :
      IF o_ct_session IS INITIAL
      AND i_repid = 'Z06_MMR001'.
        PERFORM f912_maj_z00_bc_cpt_sess USING 'Z06_MMR001'
                                         CHANGING o_ct_session.
      ENDIF.
    DE3K913901 fin ajout
    Nettoyage de la zone de l'en tete de la table interne.
      CLEAR itb_erreur.
    Incrementation du compteur du numéro de ligne de la table d'anomalie.
      l_ct_num_ligne = l_ct_num_ligne + 1.
    Remplissage de la table interne.
      MOVE: i_repid TO itb_erreur-z_repid,
            l_ct_num_ligne TO itb_erreur-z_no_num_ligne,
            i_dt_date_execution TO itb_erreur-z_dt_date_exec,
            i_hr_heure_execution TO itb_erreur-z_hr_heure_exec,
            w_lb_traitement TO itb_erreur-z_lb_lib_trait,
            i_in_phase_exec TO itb_erreur-z_in_phase_exec,
            i_ds_clef_objet TO itb_erreur-z_ds_clef_objet.
      CONCATENATE i_ty_message
                  i_cd_message
             INTO itb_erreur-z_cd_message.
    Récupération du libellé du message.
      CALL FUNCTION 'MESSAGE_TEXT_BUILD'
           EXPORTING
                msgid               = i_classe_message
                msgnr               = i_cd_message
                msgv1               = i_msgv1
                msgv2               = i_msgv2
                msgv3               = i_msgv3
                msgv4               = i_msgv4
           IMPORTING
                message_text_output = itb_erreur-z_lb_message.
    *début modification FAE 30463
    *Si  le flag est pas coché, on met à jour la table des erreurs
    *Z00_BC_ERREUR
    *s'il n'y a pas d'entrée dans la table on met aussi à jour
    *Z00_BC_ERREUR
      IF NOT w_in_stockage IS INITIAL.
    Mise à jour de la table.
        PERFORM f910_mise_a_jour.
      ENDIF.
    Mise à jour de la table interne.
      APPEND itb_erreur.
    Nettoyage des variables.
      CLEAR: i_msgv1,
             i_msgv2,
             i_msgv3,
             i_msgv4.
    *fin modification FAE 30463
    ENDFORM.
        Form F910_MISE_A_JOUR                                            *
    Fonction :                                                           *
    - Mets à jour les tables Z00_BC_CPT_SESS et Z00_BC_ERREUR.           *
    Donnée globale :                                                     *
    - ITB_ERREUR            Tables internes des erreurs.                 *
    FORM f910_mise_a_jour.
    Mise à jour des anomalies.
      MOVE-CORRESPONDING itb_erreur TO z00_bc_erreur.
      CONCATENATE itb_erreur-z_dt_date_exec
                  itb_erreur-z_hr_heure_exec
                  o_ct_session
             INTO z00_bc_erreur-z_no_num_session.
      MODIFY z00_bc_erreur.
    ENDFORM.
        Form F911_SUPPRESSION_VIEILLE_ANOMALIE                           *
    Fonction :                                                           *
    - Supprime les villes anomalies.                                     *
    Donnée globale :                                                     *
    - Z00_BC_ERREUR       Table des anomalies des programmes spécifiques.*
    Entrée :                                                             *
    - I_REPID             Nom du programme en erreur.                    *
    - I_NB_JOUR           Nombre de jour avant la suppression des        *
                          enrgistrement de la lable Z00_BC_ERREUR.       *
    FORM f911_suppression_anomalie USING i_repid
                                         i_nb_jour.
    début ajout FAE 30463
      SELECT SINGLE z_stockage z_delai
               INTO (w_in_stockage, w_dl_delai)
               FROM z00_bc_err_log
              WHERE z_repid = i_repid.
    *si le programme est dans la table z00_bc_err_log, on récupère la zone
    Z_DELAI (délai de rétention des erreurs)
    *sinon le délai est celui passé en paramètre de cette fonction
      IF sy-subrc = 0.
        z_date = sy-datum - w_dl_delai.
      ELSE.
        z_date = sy-datum - i_nb_jour.
      Pas d'enreg. ds table param, alors on stockera ds Z00_BC_ERREUR
        w_in_stockage = 'X'.
      ENDIF.
    fin ajout FAE 30463
    Suppression des enregistrements trop vieux.
      DELETE FROM z00_bc_erreur WHERE z_repid EQ i_repid
                                  AND z_dt_date_exec LE z_date.
    ENDFORM.
        Form F911_SUPPRESSION_ANOMALIE_BLOC                              *
    Fonction :                                                           *
    - Supprime les villes anomalies en tenant compte des objets de bloc  *
    Donnée globale :                                                     *
    - Z00_BC_ERREUR       Table des anomalies des programmes spécifiques.*
    Entrée :                                                             *
    - I_REPID             Nom du programme en erreur.                    *
    - I_NB_JOUR           Nombre de jour avant la suppression des        *
                          enrgistrement de la lable Z00_BC_ERREUR.       *
    FORM f911_suppression_anomalie_bloc USING i_repid
                                                 i_nb_jour.
    Blocage de la table
      CALL FUNCTION 'ENQUEUE_EZ00_BC_ERREUR'
        EXPORTING
          mode_z00_bc_erreur         = 'E'
          z_mandt                    = sy-mandt
          z_repid                    = i_repid
      X_Z_REPID                  = ' '
      _SCOPE                     = '2'
      _WAIT                      = ' '
      _COLLECT                   = ' '
        EXCEPTIONS
          foreign_lock               = 1
          system_failure             = 2
          OTHERS                     = 3.
    Suppression des enr que si la table pour ce pg n'est pas bloquée
    Si bloquée => ne rien faire car suppression aura déjà eu lieu
      IF sy-subrc EQ 0.
    début ajout FAE 30463
        SELECT SINGLE z_stockage z_delai
                 INTO (w_in_stockage, w_dl_delai)
                 FROM z00_bc_err_log
                WHERE z_repid = i_repid.
    *si le programme est dans la table z00_bc_err_log, on récupère la zone
    Z_DELAI (délai de rétention des erreurs)
    *sinon le délai est celui passé en paramètre de cette fonction
        IF sy-subrc = 0.
          z_date = sy-datum - w_dl_delai.
        ELSE.
          z_date = sy-datum - i_nb_jour.
        Pas d'enreg. ds table param, alors on stockera ds Z00_BC_ERREUR
          w_in_stockage = 'X'.
        ENDIF.
    fin ajout FAE 30463
    Suppression des enregistrements trop vieux.
        DELETE FROM z00_bc_erreur WHERE z_repid EQ i_repid
                                    AND z_dt_date_exec LE z_date.
    Déblocage de la table.
        CALL FUNCTION 'DEQUEUE_EZ00_BC_ERREUR'
             EXPORTING
         MODE_Z00_BC_ERREUR         = 'E'
                  z_mandt              = sy-mandt
                  z_repid              = i_repid.
      ENDIF.
    ENDFORM.
        Form F912_MAJ_Z00_BC_CPT_SESS                                    *
    Fonction :                                                           *
    - Renseigne la table transparente des sessions.                      *
    Données globales :                                                   *
    - z00_BC_CPT_SESS      Stockage des compteurs associés aux progs de  *
                           traitement.                                   *
    - Z00_BC_ERREUR        Table des anomalies des programmes spécifiques*
    Entrée :                                                             *
    - I_REPID              Nom du programme en erreur.                   *
    Sortie :                                                             *
    - O_CT_SESSION         Numéro de session.                            *
    FORM f912_maj_z00_bc_cpt_sess USING i_repid
                                  CHANGING o_ct_session.
    Blocage de la table
      CALL FUNCTION 'ENQUEUE_EZ00_BC_CPT_SESS'
        EXPORTING
          mode_z00_bc_cpt_sess       = 'E'
          z_mandt                    = sy-mandt
          z_repid                    = i_repid
      X_Z_REPID                  = ' '
      _SCOPE                     = '2'
      _WAIT                      = ' '
      _COLLECT                   = ' '
        EXCEPTIONS
          foreign_lock               = 1
          system_failure             = 2
          OTHERS                     = 3.
    Si la table est déjà vérouillée.
      IF sy-subrc NE 0.
        DO.
    Si c'est la 99eme fois que l'on reboucle alors on sort du programme.
          IF sy-index EQ 99.
            STOP.
          ENDIF.
    sinon attendre 1 seconde.
          WAIT UP TO 1 SECONDS.
    Blocage de la table
          CALL FUNCTION 'ENQUEUE_EZ00_BC_CPT_SESS'
            EXPORTING
              mode_z00_bc_cpt_sess       = 'E'
              z_mandt                    = sy-mandt
              z_repid                    = i_repid
             X_Z_REPID                  = ' '
             _SCOPE                     = '2'
             _WAIT                      = ' '
             _COLLECT                   = ' '
            EXCEPTIONS
              foreign_lock               = 1
              system_failure             = 2
              OTHERS                     = 3.
    Si table bloquée.
          IF sy-subrc EQ 0.
            EXIT.
          ENDIF.
        ENDDO.
      ENDIF.
    Lecture dans la table des sessions.
      SELECT SINGLE * FROM z00_bc_cpt_sess WHERE z_repid EQ i_repid.
    Contrôle si un enregistrement avec le même nom de programme existe et
    si le compteur de session est différent de '99'.
      IF sy-subrc EQ 0 AND z00_bc_cpt_sess-z_ct_session NE 99.
        z00_bc_cpt_sess-z_ct_session = z00_bc_cpt_sess-z_ct_session + 1.
        o_ct_session = z00_bc_cpt_sess-z_ct_session.
        MODIFY z00_bc_cpt_sess.
    Si un enregistrement avec le même nom de programme existe et
    si le compteur de session est égal à '99'.
      ELSEIF sy-subrc EQ 0 AND z00_bc_cpt_sess-z_ct_session EQ 99.
        o_ct_session = z00_bc_cpt_sess-z_ct_session.
        MODIFY z00_bc_cpt_sess.
    Sinon.
      ELSEIF sy-subrc NE 0.
        z00_bc_cpt_sess-z_ct_session = '00'.
        z00_bc_cpt_sess-z_repid = i_repid.
        o_ct_session = z00_bc_cpt_sess-z_ct_session.
        MODIFY z00_bc_cpt_sess.
      ENDIF.
      COMMIT WORK.
    Déblocage de la table.
      CALL FUNCTION 'DEQUEUE_EZ00_BC_CPT_SESS'
           EXPORTING
                mode_z00_bc_cpt_sess = 'E'
                z_mandt              = sy-mandt
                z_repid              = i_repid.
      X_Z_REPID                  = ' '
      _SCOPE                     = '3'
      _SYNCHRON                  = ' '
      _COLLECT                   = ' '
    ENDFORM.
        Form F920_TOP_OF_PAGE                                            *
    Fonction :                                                           *
    - Entête Schneider                                                   *
    Entrée :                                                             *
    - I_REPID              Nom du programme en erreur.                   *
    FORM f920_top_of_page USING i_repid.                        "#EC CALLED
    En-tete de page.
      CALL FUNCTION 'Z_00_BC_TOP_OF_PAGE'
           EXPORTING
                p_linsz   = k_ligne
                p_pagno   = sy-pagno
                p_prog    = i_repid
                p_projet  = k_projet
                p_societe = k_societe
                p_sujet   = sy-title.
      IF sy-subrc = 0.
      ENDIF.
    ENDFORM.
        Form F920_EDITION                                                *
    Fonction :                                                           *
    - Edition des erreurs.                                               *
    Données globales :                                                   *
    - ITB_ERREUR           Table interne des anomalies.                  *
    Entrée :                                                             *
    - I_REPID              Nom du programme en erreur.                   *
    - I_CLEF_OBJET,        Désignation de la clé de l'objet.             *
    FORM f920_edition USING i_repid
                            i_clef_objet.                       "#EC CALLED
    En-tete de tableau.
      WRITE AT (sy-linsz) sy-uline.
      WRITE:          sy-vline,
                      k_heure(8),
                      sy-vline,
                      k_code(4),
                      sy-vline,
                      k_lb_message(80),
                      sy-vline,
                      i_clef_objet.
      WRITE AT sy-linsz sy-vline.
      LOOP AT itb_erreur.
    Edition de la table interne des anomalies.
    Controle des couleurs.
        IF itb_erreur-z_cd_message(1) NE 'S'.
          IF itb_erreur-z_cd_message(1) EQ 'W'.
            FORMAT COLOR = 7 INTENSIFIED OFF.
          ELSEIF itb_erreur-z_cd_message(1) EQ 'I'.
            FORMAT COLOR = 3 INTENSIFIED OFF.
          ELSE.
            FORMAT COLOR = 6 INTENSIFIED OFF.
          ENDIF.
        ELSE.
          FORMAT COLOR = 5 INTENSIFIED ON.
        ENDIF.
        WRITE AT (sy-linsz) sy-uline.
        WRITE:          sy-vline,
                        itb_erreur-z_hr_heure_exec,
                        sy-vline,
                        itb_erreur-z_cd_message(4),
                        sy-vline,
                        itb_erreur-z_lb_message(80),
                        sy-vline,
    *Begin change PIT DE3K936510
                       itb_erreur-z_ds_clef_objet(27).
                        itb_erreur-z_ds_clef_objet(59).
    *End change PIT DE3K936510
        WRITE AT sy-linsz sy-vline.
      ENDLOOP.
      WRITE AT (sy-linsz) sy-uline.
    ENDFORM.
    INCLUDE: z00_bci010.                   " Gestion des anomalies.
                          Déclaration des données                        *
                       Tables de la bases de données                     *
    TABLES:
            ekpo,        " Poste document d'achat.
            lfa1,        " Base fournisseurs (généralités).
            marc,        " Données division de l'article.
            z03_bw_cmp1,
            eord,        "Répertoire des sources appro. Achats
            eina,        "Fiche infos-achats - données générales
            t024,        "Groupes d'acheteurs
            tvarv.                                              "FAE17345+
                       Déclaration des données internes                  *
    Déclaration de la table interne qui permet de recuperer les mois.
    DATA: BEGIN OF itb_months OCCURS 12.
            INCLUDE STRUCTURE t247.
    DATA: END OF itb_months.
    Table pour récupération d'infos sur les divisions
    DATA: BEGIN OF itb_t001w OCCURS 0,
            werks LIKE t001w-werks,
            fabkl LIKE t001w-fabkl," Clé du calendrier d'entreprise
          END OF itb_t001w.
    Déclaration de la table interne contenant les infos sur l'adresse du
    fournisseur.
    DATA: BEGIN OF itb_adresse OCCURS 0,
            lifnr LIKE lfa1-lifnr,           " Numéro de compte fournisseur.
            name1 LIKE lfa1-name1,                              " Nom 1.
            name2 LIKE lfa1-name2,                              " Nom 2.
            name3 LIKE lfa1-name3,                              " Nom 3.
            name4 LIKE lfa1-name4,                              " Nom 4.
            stras LIKE lfa1-stras,           " N° de rue et nom de la rue.
            pstlz LIKE lfa1-pstlz,           " Code postal.
            ort01 LIKE lfa1-ort01,           " Localité.
            pfach LIKE lfa1-pfach,           " Boîte postale.
            pstl2 LIKE lfa1-pstl2,           " Code de la boîte postale.
            land1 LIKE lfa1-land1,           " Clé de pays.
            landx LIKE t005t-landx,          " Pays.
            spras LIKE lfa1-spras,           " Code langue
    END OF itb_adresse.
    Déclaration d'une table interne pour les informations sur les
    prévisions de commande.
    DATA: BEGIN OF itb_prev_cde OCCURS 0,
            werks LIKE marc-werks,            " Division
            idnlf LIKE eina-idnlf,            " ADDsde ref article frn
            lifnr LIKE eord-lifnr,            " N° fournisseur.
            ekgrp LIKE marc-ekgrp,            " Groupe d'acheteurs
            dispo LIKE marc-dispo,            " Code gestionnaire MRP
            matnr LIKE eord-matnr,            " Article.
            maktx LIKE makt-maktx,            " Désignation article.
            bstmi LIKE marc-bstmi,            " Quantité de commande.
            men00 LIKE plaf-gsmng,            " Quantité du mois en cours M.
            men01 LIKE plaf-gsmng,            " Quantité pour le mois M+1.
            men02 LIKE plaf-gsmng,            " Quantité pour le mois M+2.
            men03 LIKE plaf-gsmng,            " Quantité pour le mois M+3.
            men04 LIKE plaf-gsmng,            " Quantité pour le mois M+4.
            men05 LIKE plaf-gsmng,            " Quantité pour le mois M+5.
            men06 LIKE plaf-gsmng.            " Quantité pour le mois M+6.
    DATA: END OF itb_prev_cde.
    Structure de travail pour les commandes convernant les PFC
    DATA str_pca_pfc  LIKE itb_prev_cde.
    *add sde
    DATA str_eord_pfc  LIKE itb_prev_cde.
    Structure de travail pour les prévisons PFC
    DATA str_prev_pfc LIKE itb_prev_cde.
    Déclaration d'une table interne pour les informations sur le
    portefeuille des commandes d'achat.
    DATA: BEGIN OF itb_pca OCCURS 0,
            werks LIKE ekpo-werks,    " Division
            idnlf LIKE eina-idnlf,     " ADDsde ref article frn
            lifnr LIKE eord-lifnr,    " N° fournisseur.
            ekgrp LIKE marc-ekgrp,    " Groupe d'acheteurs
            dispo LIKE marc-dispo,    " Code gestionnaire MRP
            matnr LIKE eord-matnr,    " Article.
            maktx LIKE makt-maktx,    " Désignation article.
            ebeln LIKE ekes-ebeln,    " Numéro du document d'achat.
            ebelp LIKE ekes-ebelp,    " Numéro de poste du document d'achat.
            slfdt LIKE eket-slfdt,    " Date de livraison statistique
            eindt LIKE ekes-eindt,    " Date de livraison indiquée dans la
                                      " confirmation de la cde.
            menge LIKE ekes-menge,    " Quantité indiquée dans la confirma-
                                      " tion de la commande.
            attdu LIKE eket-wemng,    " Portefeuille fournisseur.
            netpr LIKE ekpo-brtwr,    " Prix net du document d'achat dans
                                      " la devise du document.
            rtard TYPE i,             " Retard en jours ouvres.
            wemng LIKE eket-wemng,    " Quantité de l'entrée de marchandise.
            bldat LIKE mkpf-bldat,    " Date inscrite sur la pièce/sur le
                                      " document.
            qtran LIKE ekes-menge,    " Quantité en transit.
            dtran LIKE ekes-eindt.    " Date du dernier avis de transit.
    DATA: END OF itb_pca.
    DATA: w_i TYPE i,                "Compteur
          w_i_char(1) TYPE c,        "Texte pour récupérer compteur
          w_nm_zone(20) TYPE c,      "Nom zone pour assign au field-symbols
          w_nb_j TYPE i,             "Nb de jours ouvrés jusqu'à fin mois
          w_nb_j_tot TYPE i.         "Nb de jours ouvrés du mois
    FIELD-SYMBOLS:       TYPE ANY.
    Déclaration d'une table contenant les fiches info achat.
    DATA: BEGIN OF itb_eina OCCURS 0,
            matnr LIKE eina-matnr,
            lifnr LIKE eina-lifnr,
            idfnl LIKE eina-idnlf.
    DATA: END OF itb_eina.
    Déclaration d'une table contenant les infos groupe acheteur.
    *DATA: BEGIN OF itb_t024 OCCURS 0,
           ekgrp LIKE t024-ekgrp,
           eknam LIKE t024-eknam,
           ektel LIKE t024-ektel,
           telfx LIKE t024-telfx.
    *DATA: END OF itb_t024.
    Déclaration d'une table pour le transfert du fichier.
    DATA: BEGIN OF itb_transfert OCCURS 0,
            col00(8),                 "division
            col00bis(20),             "Reference article
            col01(18),                "No article
            col02(45),                "libelle article
            col021(17),               "Groupe acheteur
            col022(13),               "gestionnaire
            col03(17),                "qte commandée ou No de commande
            col04(13),                "Mois 1 ou No poste cde
            col05(20),                "Mois 2 ou délai initial
            col06(33),                "Mois 3 ou délai négocié
            col07(13),                "Mois 4 ou qté cdée
            col08(13),                "Mois 5 ou qté attendue
            col09(13),                "Mois 6 ou Montant attendu
            col10(13),                "Mois 7 ou retard
            col11(13),                "qte partielle livree
            col12(13),                "date livraison partielle
            col13(13),                "qté en transit
            col14(13).                "date
    DATA: END OF itb_transfert.
    Déclaration d'une table contenant la liste des fournisseurs.
    DATA: BEGIN OF itb_lifnr OCCURS 0,
            werks LIKE marc-werks,
            idfnl LIKE eina-idnlf,
            lifnr LIKE eord-lifnr,
            ekgrp LIKE marc-ekgrp,
            spras LIKE lfa1-spras,
            eknam LIKE t024-eknam,
            ektel LIKE t024-ektel,
            telfx LIKE t024-telfx.
    DATA: END OF itb_lifnr.
    Déclaration d'une structure pour la selection dans la table MSEG.
    DATA : BEGIN OF itb_mseg OCCURS 0,
             mblnr LIKE mseg-mblnr,
             mjahr LIKE mseg-mjahr,
             ebeln LIKE mseg-ebeln,
             ebelp LIKE mseg-ebelp,
           END OF itb_mseg.
    déclaration d'une structure pour la selection dans EKPO.
    DATA : BEGIN OF itb_ekpo OCCURS 0,
    ebeln LIKE ekpo-ebeln,
             lifnr LIKE ekko-lifnr,
             ekgrp LIKE ekko-ekgrp,
             ebelp LIKE ekpo-ebelp,
             matnr LIKE ekpo-matnr,
             werks LIKE ekpo-werks,
             menge LIKE ekpo-menge,
             bpumz LIKE ekpo-bpumz,
             netpr LIKE ekpo-netpr,
             peinh LIKE ekpo-peinh,  "Base de prix FAE17345+
              "AFT++
             bpumn LIKE ekpo-bpumn,
             dispo LIKE marc-dispo,   "AFT++
           END OF itb_ekpo.
    déclaration d'une structure pour la selection dans EKPO.
    DATA : BEGIN OF itb_ekko OCCURS 0,
             ebeln LIKE ekko-ebeln,
             lifnr LIKE ekko-lifnr,
             spras LIKE ekko-spras,
           END OF itb_ekko.
    déclaration d'une structure pour la selection dans EKES.
    DATA : BEGIN OF itb_ekes OCCURS 0,
             ebeln LIKE eket-ebeln,
             ebelp LIKE eket-ebelp,
             etens LIKE ekes-etens,
             ebtyp LIKE ekes-ebtyp,
             eindt LIKE ekes-eindt,
             menge LIKE ekes-menge,
             dabmg LIKE ekes-dabmg,
           END OF

    hai ,
    use code inspector to find the performance issue sorce code and also it gives some tips to tune the peformance.
    Go to program in display mode or editable mode and in  menu bar you
    have program menu in first......chose it and go to cheak....select it we have list including code inspector do it and tune it............
    plzz reward if useful
    regards,
    jai.m

  • Oracle EBS sql*plus concurrent program

    Hello,
    I have created some sql*plus concurrent programs. When I run the query in sql*plus or sql developer the results are as expected but when run as a concurrent program I am getting additional rows in the output. This seems to only occur when there are calls to API's such as ARPT_SQL_FUNC_UTIL.
    get_salesrep_name_number.
    I am not sure where the extra results are coming from since I can't get them in a query but for a small number of cases I am getting unwanted records. I would really like to just have it return the same results as when run outside the context of the concurrent program. Is there any settings I can put in for this? The api's used in the query (function calls) were used since they are taken from standard Oracle views. I would prefer to leave them in as we know they are giving us the correct results and digging into each one to see what it is doing and replacing it with a sub query would take a lot of time.
    I could possibly just change this into a PL/SQL package with utl_file but I would prefer not to go to that effort unless absolutely.
    Any help on this would be much appreciated.

    I have a SQL PLPUS script which generates the CSV file, the problem is whenever I run manually(@c:\future_cost.sql) it's works.
    I am trying to generate this CSV from Concurrent program my request is completed successfully but it is not throughing data into my CSV.What do you mean by concurrent program?
    The more information you provide, the chances of getting accurate answer will increase! :)

Maybe you are looking for