Too much code in my answers report!

Hi experts!
I'm trying to do a report but there is too much code in my columns. So I have (Removed Column) in the condicionals. Anyway that's an error! Is there any place too change the maximum length of the code I can write?
Thanks for all!

Stateless session beans are usually faster, because each client's session is not stateful (therefore has to be handled by the container)
Have you done some performance measurements on your application?
Also, how are your session beans communicating with your entity beans?? Are you employing use of Local interfaces to communicate between session<-->entity? Do you have Value Objects that are being passed from session<-->entity? Using Value Objects between s<>e saves a lot of expensive remote calls (especially if you have to get/set a lot of fields)
Each of these seemingly little decisions can impact your performance greatly.
HTH,
-cedrick

Similar Messages

  • I don't want to write too much code is there a different way of doing this

    I am writing a precedure to check on the max test scores for different codes ('S01','S02'.S03') --there are more
    then I need to insert the table if the record with the best score does not exists for example for b.sortest_tesc_code = 'BSV', I am writing a cursor
    for each code (.sortest_tesc_code = 'S01') is there a way to do this different? so I cant do something like a.sortest_tesc_code in ('S01','S02'.S03') and store in a
    variable then insert, the problem is that you can have a student that have only one test other that have two etc..etc.. is not consistent, also If the b.sortest_tesc_code = 'BSV') is already in the table I don't do an insert I will have to do an update if the sortest_test_score is greater since the student can submit scores more than once... In another words check if the record exists( b.sortest_tesc_code = 'BSV') if is there compare with the new max score and if the new max score is greater then update.. If the score (by code) is not in the table insert
    Hope this is clear, this is what I have, I now it will work but it will be too much code..check for exists and not exists in two different precedures..
    Thank you
    CURSOR get_the_max_scores_S01_cur IS
                SELECT
                 sortest_pidm, a.sortest_test_score, a.sortest_tesc_code,
                 a.sortest_test_date,a.sortest_equiv_ind
                FROM
                saturn.spriden, saturn.sortest a, saturn.stvtesc
               WHERE 
               a.sortest_pidm = spriden_pidm
              AND stvtesc_code = a.sortest_tesc_code
              AND spriden_change_ind IS NULL
           -----and   a.sortest_tesc_code in ('S01','S02'.S03')
           AND a.sortest_tesc_code = 'S01'
           --and spriden_id = p_student_id  --
           ---for test purposes
           AND sortest_pidm = 133999 ----THE WILL BE A PARAMETER
           AND a.sortest_test_score =
                  (SELECT MAX (b.sortest_test_score)
                     FROM saturn.sortest b
                    WHERE a.sortest_tesc_code = b.sortest_tesc_code
                          AND a.sortest_pidm = b.sortest_pidm)
                                AND NOT EXISTS
                  (SELECT 1   FROM    saturn.sortest b
                  WHERE    A.sortest_tesc_code = b.sortest_tesc_code
                          AND a.sortest_pidm = b.sortest_pidm     
                          and   b.sortest_tesc_code = 'BSV');
         BEGIN
                     UTL_FILE.fclose_all;
                     v_file_handle := UTL_FILE.fopen (v_out_path, v_out_file, 'a');
                    UTL_FILE.put_line (v_file_handle,
                          CHR (10) || TO_CHAR (SYSDATE, 'DD-MON-YYYY HH:MI:SS'));
                   UTL_FILE.put_line (v_file_handle, 'sortest_best_sct_scorest');
                   --check for an open cursor before opening
                   IF get_the_max_scores_S01_cur%ISOPEN
                       THEN
                        CLOSE get_the_max_scores_S01_cur;
                   END IF;
                OPEN get_the_max_scores_S01_cur;
                 LOOP
                       FETCH get_the_max_scores_S01_cur
                       INTO v_pidm, v_tscore, v_testcode,
                               v_test_date, v_equiv_ind;
                       EXIT WHEN get_the_max_scores_S01_cur%NOTFOUND;
                   IF  get_the_max_scores_S01_cur%FOUND 
                    THEN
                       INSERT INTO saturn.sortest
                       (sortest_pidm,sortest_tesc_code,sortest_test_date,sortest_test_score,
                        sortest_activity_date,sortest_equiv_ind,sortest_user_id,sortest_data_origin)
                        VALUES
                        v_pidm,
                       'BSV',
                        v_test_date,
                         v_tscore,
                         sysdate, 
                        v_equiv_ind,
                        p_user,
                        'best_test_scores process'
                   END IF;    
                   END LOOP;
                   COMMIT;
                   ---Initialize variables
                    v_pidm := NULL;
                    v_test_date := NULL; 
                    v_tscore  := NULL; 
                    v_equiv_ind :=  NULL;
                    v_testcode  :=  NULL;
                 CLOSE get_the_max_scores_S01_cur;
    ----then another do the same for S02...S03

    Thank you, here is the code, I change the name of the tables, but it is the same concept.what I need is to extract the max score for each code (s01,s02,s03,s04)
    then insert a record with a different code in the same table
    BSM     Best Math SAT (S01)                              
    BSW     Best writing SAT (S04)     
    BSC     Best READING SAT (S03)     
    BSE     Best READING SAT (S02)     
    I need to be able to check if the BS codes are already in the table (BSM...BSC..) IF they are not do an insert and if they are do an update get the maximun score
    again (the students can submit more than one score form the same code and any date) and if the maximun is different(greater) of what is already in the database (with the BSM...BSC.. codes) do an update, IF NOT if is the same or less don't update...
    I need the PERSON table because I need to use the ID as a parameter they (user) can run the process for one ID or all the records in the table TEST
    Thank you, I hope is clear
    create table TEST
    TEST_PIDM                  NUMBER(8)            NOT NULL,
    TEST_TESC_CODE        VARCHAR2(4 CHAR)     NOT NULL,
    TEST_TEST_DATE        DATE                 NOT NULL,
    TEST_TEST_SCORE       VARCHAR2(5 CHAR)     NOT NULL,
    TEST_ACTIVITY_DATE    DATE                 NOT NULL,
    TEST_EQUIV_IND        VARCHAR2(1 CHAR)     NOT NULL
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'EB' ,TO_DATE( '01-JUN-2004', 'DD-MON-YYYY'),'710',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'M2' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'710',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S01' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'750',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S01' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'720',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S02' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'740',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S02' ,TO_DATE( '05-JUL-2005', 'DD-MON-YYYY'),'730',SYSDATE,'N'
    FROM DUAL ;
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S03' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'780',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S03' ,TO_DATE( '05-JUL-2005', 'DD-MON-YYYY'),'740',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S04' ,TO_DATE( '01-JUN-2005', 'DD-MON-YYYY'),'770',SYSDATE,'N'
    FROM DUAL; 
    INSERT INTO TEST
    ( TEST_PIDM, TEST_TESC_CODE,TEST_TEST_DATE, TEST_TEST_SCORE, TEST_ACTIVITY_DATE,TEST_EQUIV_IND)
    SELECT
    128019,'S04' ,TO_DATE( '05-JUL-2005', 'DD-MON-YYYY'),'740',SYSDATE,'N'
    FROM DUAL; 
    CREATE TABLE PERSON
      PERSON_PIDM                NUMBER(8)         NOT NULL,
      PERSON_ID                  VARCHAR2(9 CHAR)  NOT NULL
    INSERT INTO  PERSON
    ( PERSON_PIDM ,   PERSON_ID)
    SELECT
    128019,'003334556'
    FROM DUAL ;
    CREATE TABLE VALTSC
    VALTSC_CODE             VARCHAR2(4 CHAR)     NOT NULL,
      VALTSC_DESC             VARCHAR2(30 CHAR)
    INSERT INTO  VALTSC
    VALTSC_CODE,
      VALTSC_DESC 
    SELECT
    'S01' ,
    'XXS01'
    FROM DUAL; 
      INSERT INTO  VALTSC
    VALTSC_CODE,
      VALTSC_DESC 
    SELECT
    'S02' ,
    'XXS02'
    FROM DUAL 
      INSERT INTO  VALTSC
    VALTSC_CODE,
      VALTSC_DESC 
    SELECT
    'S03' ,
    'XXS03'
    FROM DUAL; 
    INSERT INTO  VALTSC
    VALTSC_CODE,
      VALTSC_DESC 
    SELECT
    'S04' ,
    'XXS04'
    FROM DUAL; 

  • Too Much Code? Novice Question

    Greetigns,
    First off, know I searched for an answer but being that I am
    new to the AS game (as well as programming in general) I coudl not
    find an answer that suited my needs. I am using Flash CS3 w/ AS3
    Basically I have a row of images that serve as thumbnails;
    when I mouse over each thumbnail it changes the image in the
    background of my movie clip.
    I have assigend each thumbnail image an instance name and
    created a simple function to swap the image out. Everything is
    working great, and you can call me greedy, but I have a sneaking
    suspission that I could accomplish my goal with far less code using
    a variable.
    Anyone care to teach me to fish? Code below.
    Thanks in Advance
    -ChockRock

    :

  • Too much executing time for a report

    Hi all,
    I am working on an issue where we have one report which is taking approximately 12-14 hrs to run, we just applied the service pack to our box and that is what creating the problem. the report is taking only 2 hrs to run on the box which doesn't have SP in it...so can you please tell me what exactly the problem can be and how shld I deal with this problem.
    Thanks,
    Rajeev Gupta

    Hello Rajiv,
    Just ask the Basis team who have applied the Support Pack that there were some more activities which was required in the system in addition to the Support Packs they have applied. It happens that with some support packs the system performance goes down and need some more activities in the system after the System Patching.
    Thanks,
    Jayant

  • Seagate drive quandary:  "USB device is drawing too much power"?

    I have a year-old Seagate external hard drive that when I plug in to a 2011 MacBook Air, it started saying something to the effect of "your USB device is drawing too much power and had been disable in order to aboud damage..."  I had been using this drive for some time, and this just started a few days ago.  I tried plugging it into a USB hub and directly into a USB on the MBA with the same result.  So I plugged in into my brand new 2012 MacMini and got the same messgae.  My initial conclusion:  the drive is dead.
    So I buy a new USB 3.0 Seagate compact external drive, plug it in and get the same error on my MBA and on the MacMini.  If that isn't odd enough, I have the exact same Seagate model plugged into my MacMini as the backup drive with no problems.  Any ideas??  Maybe I received a DOA drive by coincidence?
    UPDATE:  Tried the new drive on a Win7 PC and it recognized it fine.  Why would my 2011 MBA and 2012 MacMini not recognize the new drive?

    MIght be something to help you here >  USB Device Drawing Too Much Power

  • Report taking too much time in the portal

    Hi freiends,
    we have developed a report on the ods,and we publish the same on the portal.
    the problem is when the users are executing the report at the same time it is taking too much time.because of this the perfoemance is very poor.
    is there any way to sort out this issue,like can we send the report to the individual user's mail id
    so that they can not log in to the portal
    or can we create the same report on the cube.
    what could be the main difference if the report made on the cube or ods?
    please help me
    thanks in advance
    sridath

    Hi
    Try this to improve performance of query
    Find the query Run-time
    where to find the query Run-time ?
    557870 'FAQ BW Query Performance'
    130696 - Performance trace in BW
    This info may be helpful.
    General tips
    Using aggregates and compression.
    Using less and complex cell definitions if possible.
    1. Avoid using too many nav. attr
    2. Avoid RKF and CKF
    3. Many chars in row.
    By using T-codes ST03 or ST03N
    Go to transaction ST03 > switch to expert mode > from left side menu > and there in system load history and distribution for a particular day > check query execution time.
    /people/andreas.vogel/blog/2007/04/08/statistical-records-part-4-how-to-read-st03n-datasets-from-db-in-nw2004
    /people/andreas.vogel/blog/2007/03/16/how-to-read-st03n-datasets-from-db
    Try table rsddstats to get the statistics
    Using cache memory will decrease the loading time of the report.
    Run reporting agent at night and sending results to email. This will ensure use of OLAP cache. So later report execution will retrieve the result faster from the OLAP cache.
    Also try
    1. Use different parameters in ST03 to see the two important parameters aggregation ratio and records transferred to F/E to DB selected.
    2. Use the program SAP_INFOCUBE_DESIGNS (Performance of BW infocubes) to see the aggregation ratio for the cube. If the cube does not appear in the list of this report, try to run RSRV checks on the cube and aggregates.
    Go to SE38 > Run the program SAP_INFOCUBE_DESIGNS
    It will shown dimension Vs Fact tables Size in percent.If you mean speed of queries on a cube as performance metric of cube,measure query runtime.
    3. To check the performance of the aggregates,see the columns valuation and usage in aggregates.
    Open the Aggregates...and observe VALUATION and USAGE columns.
    "---" sign is the valuation of the aggregate. You can say -3 is the valuation of the aggregate design and usage. ++ means that its compression is good and access is also more (in effect, performance is good). If you check its compression ratio, it must be good. -- means the compression ratio is not so good and access is also not so good (performance is not so good).The more is the positives...more is useful the aggregate and more it satisfies the number of queries. The greater the number of minus signs, the worse the evaluation of the aggregate. The larger the number of plus signs, the better the evaluation of the aggregate.
    if "-----" then it means it just an overhead. Aggregate can potentially be deleted and "+++++" means Aggregate is potentially very useful.
    In valuation column,if there are more positive sign it means that the aggregate performance is good and it is useful to have this aggregate.But if it has more negative sign it means we need not better use that aggregate.
    In usage column,we will come to know how far the aggregate has been used in query.
    Thus we can check the performance of the aggregate.
    Refer.
    http://help.sap.com/saphelp_nw70/helpdata/en/b8/23813b310c4a0ee10000000a114084/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/60/f0fb411e255f24e10000000a1550b0/frameset.htm
    performance ISSUE related to AGGREGATE
    Note 356732 - Performance Tuning for Queries with Aggregates
    Note 166433 - Options for finding aggregates (find optimal aggregates for an InfoCube)
    4. Run your query in RSRT and run the query in the debug mode. Select "Display Aggregates Found" and "Do not use cache" in the debug mode. This will tell you if it hit any aggregates while running. If it does not show any aggregates, you might want to redesign your aggregates for the query.
    Also your query performance can depend upon criteria and since you have given selection only on one infoprovider...just check if you are selecting huge amount of data in the report
    Check for the query read mode in RSRT.(whether its A,X or H)..advisable read mode is X.
    5. In BI 7 statistics need to be activated for ST03 and BI admin cockpit to work.
    By implementing BW Statistics Business Content - you need to install, feed data and through ready made reports which for analysis.
    http://help.sap.com/saphelp_nw70/helpdata/en/26/4bc0417951d117e10000000a155106/frameset.htm
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/0dbf65e04311d286d6006008b32e84/frameset.htm
    You can go to T-Code DB20 which gives you all the performance related information like
    Partitions
    Databases
    Schemas
    Buffer Pools
    Tablespaces etc
    use tool RSDDK_CHECK_AGGREGATE in se38 to check for the corrupt aggregates
    If aggregates contain incorrect data, you must regenerate them.
    202469 - Using aggregate check tool
    Note 646402 - Programs for checking aggregates (as of BW 3.0B SP15)
    You can find out whether an aggregate is usefull or useless you can find out through a proccess of checking the tables RSDDSTATAGGRDEF*
    Run the query in RSRT with statistics execute and come back you will get STATUID... copy this and check in the table...
    This gives you exactly which infoobjects it's hitting, if any one of the object is missing it's useless aggregate.
    6
    Check SE11 > table RSDDAGGRDIR . You can find the last callup in the table.
    Generate Report in RSRT
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cccad390-0201-0010-5093-fd9ec8157802
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/4c0ab590-0201-0010-bd9a-8332d8b4f09c
    Business Intelligence Journal Improving Query Performance in Data Warehouses
    http://www.tdwi.org/Publications/BIJournal/display.aspx?ID=7891
    Achieving BI Query Performance Building Business Intelligence
    http://www.dmreview.com/issues/20051001/1038109-1.html
    Assign points if useful
    Cheers
    SM

  • Too much errors/messages in Web Analysis reports stops workspace

    Too often workspace stops to work for the client with the following (example) messages. It seems that too much informational and error messages from reports (like a non working report link or missing member) gives the workspace client so much trouble that login off or closing the browser is the only solution. This seems not the right workaround. Anyone experiencing the same?
    Internet Explorer popup:
    Line: 2608
    char: 4
    Error: 'undefined'is null or not an object
    Code: 0
    URL: https://[workspaceserver]/workspace/index.jsp
    {next}
    Internet Explorer popup:
    Line: 2688
    char: 3
    Error: 'undefined'is null or not an object
    Code: 0
    URL: https://[workspaceserver]/workspace/index.jsp
    In a Hyperion(r)Workspace-error popupscreen:
    An error was encountered while closing all content
    Can only remove children
    Internet Explorer popup:
    Line: 1385
    Char: 4
    error: 'this.leftComp.getDataModel()'is null or not an object
    Code: 0
    URL: https://[workspaceserver]/workspace/index.jsp

    it seems that all errors are related to the migrated anaqlyzer report. In the new 931 version less characters are allowed to use than the old 71 version.
    In the main name of the reportgroup the migration just rplaces the wrong characters. But links and url insite reportgroups and reports are not changed during migration. Activating (clicking on it) such links is the main cause of the freeze.

  • Code  taking too much time to output

    Following  code is taking too much time to execute . (some time giving Time_out )
    ind = sy-tabix.
        SELECT SINGLE * FROM mseg INTO mseg
           WHERE bwart = '102' AND
                 lfbnr = itab-mblnr AND
                 ebeln = itab-ebeln AND
                 ebelp = itab-ebelp.
        IF sy-subrc = 0.
          DELETE itab INDEX ind.
          CONTINUE.
    Is there any other way to write this code to reduce the output time.
    Thanks

    Hi,
    I think you are executing this code in a loop which is causing the problem. The rule is "Never put SELECT statements inside a loop".
    Try to rewrite the code as follows:
    * Outside the loop
    SELECT *
    from MSEG
    into table lt_mseg
    for all entries in itab
    where bwart = '102' AND
    lfbnr = itab-mblnr AND
    ebeln = itab-ebeln AND
    ebelp = itab-ebelp.
    Then inside the loop, do a READ on the internal table
    Loop at itab.
    read table lt_mseg with key bwart = '102'. "plus other conditions
    if sy-subrc ne 0.
    delete itab. "index is automatically determined here from SY-TABIX
    endif.
    endloop.
    I think this should optimise performance. You can check your code's performance using SE30 or ST05.
    Hope this helps! Please revert if you need anything else!!
    Cheers,
    Shailesh.
    Always provide feedback for helpful answers!

  • STAD Report generation takes too Much time

    Dear Experts,
    In our Production system if we execute the STAD report for10 minutes to get the business transaction data for a single user or multiple users. Its taking too much time upto 500 sec sometimes throwing DUMP due to time out.
    We have the issue from the begin itself.
    What are the checks needs to done and how to fix the issue ?
    Is that possible to schedule the same in Background to get the output and how ?
    System Info:
    ECC6.0 EHP4, Kernel Release 701 Support Pck - 55.
    Windows MSCS Clustering.
    SAPOSCOL on both instance.
    Thanks,
    Jai

    Hi,
    If the load of your system is very high, 10 minutes is much too long for STAD.
    The solution that I use is to display shorter intervals (maximum 3 minutes in my most loaded system).
    As rdisp/max_wprun_time is a dynamic parameter, a possible workaround is to increase its value during the time necessary to run STAD.
    Regards,
    Olivier

  • Report is taking too much time when running from parameter form

    Dear All
    I have developed report in oracle reports bulider 10g. while running it from report builder data is coming very fast.
    But, If it is running from parameter form it is taking too much time to format report in PDF.
    Please suggest any configuration or setting if anybody is having Idea.
    Thanks

    Hi,
    The first thing to check is whether the query is running to completion in TOAD. By default, TOAD just selects the first 50 rows, where as Discoverer must return all the rows before displaying results if a crosstab report is used.
    Secondly, check that the queries and the explain plans are the same in Discoverer and Toad. Although, Discoverer shows the SQL in the SQL inspector this isn't necessarily the SQL actually sent to the database. Use TOAD to interogate the Discoverer session to determine the actual SQL and compare this SQL and explain plan to SQL you ran in TOAD.
    Thirdly, check that the session context is the same in both cases. So check that any custom contexts and the USER_ENV context is the same, and if any security packages or VPD policies are used in the SQL that these have been initialised the same.
    If you still cannot determine the difference then trace both sessions.
    Rod West

  • Still the report is taking too much time

    Hi All,
    When i refresh a webi report the report is taken too much time to refresh(open).
    In back end i have checked all the connections, contexts, cardinalities, joins, conditions...etc, in webi i have enabled the the check box 'query stripping'.
    but still the report is taking too much time, i didn't identified the problem?
    Please help me on this.
    Thanks in advance..

    Hi Mark,
    How many queries are there--2
    How many rows are returned--- 2000+
    Are all measures defined with aggregates-- Yes
    What is the array fetch size? (I1000 if it isn't already)

  • Reporting time taking too much time

    Hi Experts,
    I created one query one of my data target and i executed query, it takes too much time, can any one tell me how can i resolve this issue? please help me out?
    Thanks in advace
    David

    Check if the IC data is compressed or not?Compression will increase the performance of the query.
    Check for the stats info using ST03 and analyse what need to be done .creating aggregates etc..
    Use ST03N -> BW System load values to recognize the problem. Use the number given in table 'Reporting - InfoCubes:Share of total time (s)' to check if one of the columns %OLAP, %DB, %Frontend shows a high number in all InfoCubes.
    You need to run ST03N in expert mode to get these values
    based on the analysis and the values taken from the above - Check if an aggregate is suitable or setting OLAP etc.
    Check the read mode for the query. recommended is H.
    If the Query is built on the top of MP then
    -   including characteristic 0INFOPROV when you design the query for the MultiProvider so that you can filter by InfoProvider.
    - Do not use more than 10 InfoProviders when you define a MultiProvider. If a number of InfoProviders are being read by a query at the same time, it can take a while for the system to calculate the results.

  • When i execute code, it shows "Record 1/?" and takes too much of time to execute.

    Hi all,
    I have s form with push_button (SEND TO BACKUP).
    For this push button - SEND TO BACKUP, i have coded the below for Trigger - WHEN BUTTON PRESSED.
    DECLARE
      CNT NUMBER;
      TEMPDATE DATE;
    CURSOR C1 IS SELECT MAT_DESC, FRAME, FSIZE,    POLES, NUMS, DRG_NO,    RM_WT, FIN_WT, RATE,    FRAMENAME, FTYPE, CHND_DATE,RATESOFPO
    FROM RMC_INACTIVE_MAT_RATES_MP;
    BEGIN
      FOR I IN C1 LOOP
       SELECT COUNT(CHND_DATE) INTO CNT FROM RMC_INACTIVE_MAT_RATES_MP_PREV WHERE CHND_DATE=I.CHND_DATE;
      IF CNT > 1 or cnt=1 THEN
       MESSAGE('INACTIVE MATERIAL RATES FOR MEGAPACK  ALREADY EXIST IN BACKUP WITH THIS DATE ');
      MESSAGE(' ');
      Raise Form_Trigger_Failure;
      end if;
    end loop;
      FOR I IN C1 LOOP
      INSERT INTO RMC_INACTIVE_MAT_RATES_MP_prev(MAT_DESC, FRAME, FSIZE, POLES, NUMS, DRG_NO,    RM_WT, FIN_WT, RATE,    FRAMENAME, FTYPE, CHND_DATE,
      RATESOFPO )
      VALUES(I.MAT_DESC, I.FRAME, I.FSIZE, I.POLES, I.NUMS, I.DRG_NO,    I.RM_WT, I.FIN_WT, I.RATE,    I.FRAMENAME, I.FTYPE, I.CHND_DATE,I.RATESOFPO  );
      END LOOP;
      COMMIT  ;
      MESSAGE('DATA HAS SENT SUCCESSFULLY ');
      MESSAGE(' ',NO_ACKNOWLEDGE);
    END;
    It is working but with lot of delay, it takes too much of time.
    After i run this form & as i press the button, it shows "Record 1/?" in the below and it takes almost 5 mins to execute completely and dhow the message.
    Can you tell why is it showing "Record 1/?" below ???
    How to reduce the delay??
    Thank You.
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    If you want to suppress the message shown in status you can set the sevearity like :system.message_level          := '20';
    Can you change your code like
    :system.message_level          := '20'; --- To suppress the default messages
    DECLARE
      CNT NUMBER;
      TEMPDATE DATE;
    CURSOR C1 IS SELECT MAT_DESC, FRAME, FSIZE,    POLES, NUMS, DRG_NO,    RM_WT, FIN_WT, RATE,    FRAMENAME, FTYPE, CHND_DATE,RATESOFPO
    FROM RMC_INACTIVE_MAT_RATES_MP;
    BEGIN
      FOR I IN C1 LOOP
       SELECT COUNT(CHND_DATE) INTO CNT FROM RMC_INACTIVE_MAT_RATES_MP_PREV WHERE CHND_DATE=I.CHND_DATE;
      IF cnt >= 1 THEN
       MESSAGE('INACTIVE MATERIAL RATES FOR MEGAPACK  ALREADY EXIST IN BACKUP WITH THIS DATE ');
      MESSAGE(' ');
      Raise Form_Trigger_Failure;
      end if;
    end loop;
      FOR I IN C1 LOOP
      INSERT INTO RMC_INACTIVE_MAT_RATES_MP_prev(MAT_DESC, FRAME, FSIZE, POLES, NUMS, DRG_NO,    RM_WT, FIN_WT, RATE,    FRAMENAME, FTYPE, CHND_DATE,
      RATESOFPO )
      VALUES(I.MAT_DESC, I.FRAME, I.FSIZE, I.POLES, I.NUMS, I.DRG_NO,    I.RM_WT, I.FIN_WT, I.RATE,    I.FRAMENAME, I.FTYPE, I.CHND_DATE,I.RATESOFPO  );
      END LOOP;
      COMMIT  ;
      MESSAGE('DATA HAS SENT SUCCESSFULLY ');
      MESSAGE(' ',NO_ACKNOWLEDGE);
    END;

  • Is it too much lines of code inside a class file?

    Hi,
    I was wondering about how many lines can be considered too much in a java class file. I saw some class files with more the two thousand lines of code and even more than three thousand lines. When we have so many lines in the code I've realized that the file becomes slow for edition and it's not readable as it should be. So, as a best practice, or even due to technical issues, in average how many lines of code we'd write in order to keep the readability and avoid compile and build issues? How many lines a class should have without putting our code and performance at risk ?
    thanks a lot

    My general rule of thumb--in a class everything shold be very consistent, that is to say: you should be focusing on 1 idea in your class. IMO: If you have a class for users, you need to consistent in just what that class does. When the class becomes large, then look for related themes that run through methods of that class, and if here are many, you should make a "related class" that does satelite functions of the "core" offered in the main user class.
    Thousands of lines do not a good class make, I break in to related categories of classes long before then, and as a rule I keep under 500 lines in a class--usually under 300. In any case, no more lines of code need go into a class than that to implement the core features in the main idea for that class--and no less lines of code than is needed too, don't religate a method to another class just becasue you feel it would make the class it belongs too big.
    Along the idea of the user class:
    Storage for the user data
    Home information
    Work information
    physical information
    tastes and preferences
    family
    and etc
    all of these could be a class in and of themselves, but definetely are closely related to the user class.

  • FPGA code using too much memory? getting error 52000

    Hi all,
       I'm having trouble getting some FPGA code to run. What I am trying to do with the program is acquire data using DAQmx from two fgen's, and then use an FPGA based lock-in amplifier to find the frequency of these signals and their phase difference (It's actually only a slight modification of a lock-in amplifier available on the NI site). I keep getting error 52000 when I start up the program, indicating I'm using up too much memory somewhere. I don't know why this is, as even the lowest sampling rates I give to the DAQ do not keep this problem from happening. Could someone look at my code to see whats going on?
    Thanks,
          Grant
    Attachments:
    LIA_SSTL.lvproj ‏90 KB

    I am using a PXI-7852R card in a PXI-1033 chassis, all connected to my comp through a PCI bridge. I'm also using a PXI-6115 data acquisition card, which is feeding data to the FPGA.
    Sorry for not attaching the VI's, I thought they were contained within the llb. Here they are.
    Thanks,
         Grant
    Attachments:
    LIA_FPGA.vi ‏285 KB
    LIA_Host.vi ‏2346 KB

Maybe you are looking for