Need help with performance

I have a query that is taking to long where it should takes less than 5 sec. How could I solve this problem? I think the u_final_result_user is the problem but i am not sure and don't know how I could fix this.
Explain
SQL Statement which produced this data:
  select * from table(dbms_xplan.display)
PLAN_TABLE_OUTPUT
| Id  | Operation                                |  Name               | Rows  | Bytes |TempSpc| Cost  |
|   0 | SELECT STATEMENT                         |                     |   584 |  3522K|       |  4484 |
|*  1 |  FILTER                                  |                     |       |       |       |       |
|*  2 |   CONNECT BY WITH FILTERING              |                     |       |       |       |       |
|*  3 |    FILTER                                |                     |       |       |       |       |
|   4 |     COUNT                                |                     |       |       |       |       |
|*  5 |      HASH JOIN                           |                     |   584 |  3522K|       |  4484 |
|   6 |       VIEW                               |                     |    74 | 80660 |       |   428 |
|   7 |        WINDOW SORT                       |                     |    74 |   740 |       |   428 |
|   8 |         SORT GROUP BY                    |                     |    74 |   740 |       |   428 |
|*  9 |          TABLE ACCESS FULL               | U_FINALRESULT_USER  |    74 |   740 |       |   425 |
|* 10 |       HASH JOIN OUTER                    |                     |   789 |  3918K|  3120K|  4038 |
|  11 |        VIEW                              |                     |   789 |  3106K|       |  3530 |
|  12 |         FILTER                           |                     |       |       |       |       |
|  13 |          TABLE ACCESS BY INDEX ROWID     | TEST                |   772K|    10M|       |     3 |
|  14 |           NESTED LOOPS                   |                     |   789 | 33927 |       |  3530 |
|  15 |            NESTED LOOPS                  |                     |   789 | 22881 |       |  1163 |
|  16 |             NESTED LOOPS                 |                     |   383 |  6894 |       |    14 |
|  17 |              NESTED LOOPS                |                     |     1 |    10 |       |     3 |
|  18 |               TABLE ACCESS BY INDEX ROWID| SDG                 |     1 |     4 |       |     2 |
|* 19 |                INDEX UNIQUE SCAN         | PK_SDG              |   865 |       |       |     1 |
|  20 |               TABLE ACCESS BY INDEX ROWID| SDG_USER            |     1 |     6 |       |     1 |
|* 21 |                INDEX UNIQUE SCAN         | PK_SDG_USER         |     1 |       |       |       |
|  22 |              TABLE ACCESS BY INDEX ROWID | SAMPLE              |     1 |     8 |       |    11 |
|* 23 |               INDEX RANGE SCAN           | FK_SAMPLE_SDG       |   383 |       |       |     2 |
|* 24 |             TABLE ACCESS BY INDEX ROWID  | ALIQUOT             |     1 |    11 |       |     3 |
|* 25 |              INDEX RANGE SCAN            | FK_ALIQUOT_SAMPLE   |     2 |       |       |     2 |
|* 26 |            INDEX RANGE SCAN              | FK_TEST_ALIQUOT     |     1 |       |       |     2 |
|  27 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  28 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  29 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  30 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  31 |        VIEW                              |                     |    37 | 38998 |       |   428 |
|  32 |         SORT UNIQUE                      |                     |    37 |   555 |       |   428 |
|  33 |          WINDOW SORT                     |                     |    37 |   555 |       |   428 |
|* 34 |           TABLE ACCESS FULL              | U_FINALRESULT_USER  |    37 |   555 |       |   425 |
|  35 |    HASH JOIN                             |                     |       |       |       |       |
|  36 |     CONNECT BY PUMP                      |                     |       |       |       |       |
|  37 |     COUNT                                |                     |       |       |       |       |
|* 38 |      HASH JOIN                           |                     |   584 |  3522K|       |  4484 |
|  39 |       VIEW                               |                     |    74 | 80660 |       |   428 |
|  40 |        WINDOW SORT                       |                     |    74 |   740 |       |   428 |
|  41 |         SORT GROUP BY                    |                     |    74 |   740 |       |   428 |
|* 42 |          TABLE ACCESS FULL               | U_FINALRESULT_USER  |    74 |   740 |       |   425 |
|* 43 |       HASH JOIN OUTER                    |                     |   789 |  3918K|  3120K|  4038 |
|  44 |        VIEW                              |                     |   789 |  3106K|       |  3530 |
|  45 |         FILTER                           |                     |       |       |       |       |
|  46 |          TABLE ACCESS BY INDEX ROWID     | TEST                |   772K|    10M|       |     3 |
|  47 |           NESTED LOOPS                   |                     |   789 | 33927 |       |  3530 |
|  48 |            NESTED LOOPS                  |                     |   789 | 22881 |       |  1163 |
|  49 |             NESTED LOOPS                 |                     |   383 |  6894 |       |    14 |
|  50 |              NESTED LOOPS                |                     |     1 |    10 |       |     3 |
|  51 |               TABLE ACCESS BY INDEX ROWID| SDG                 |     1 |     4 |       |     2 |
|* 52 |                INDEX UNIQUE SCAN         | PK_SDG              |   865 |       |       |     1 |
|  53 |               TABLE ACCESS BY INDEX ROWID| SDG_USER            |     1 |     6 |       |     1 |
|* 54 |                INDEX UNIQUE SCAN         | PK_SDG_USER         |     1 |       |       |       |
|  55 |              TABLE ACCESS BY INDEX ROWID | SAMPLE              |     1 |     8 |       |    11 |
|* 56 |               INDEX RANGE SCAN           | FK_SAMPLE_SDG       |   383 |       |       |     2 |
|* 57 |             TABLE ACCESS BY INDEX ROWID  | ALIQUOT             |     1 |    11 |       |     3 |
|* 58 |              INDEX RANGE SCAN            | FK_ALIQUOT_SAMPLE   |     2 |       |       |     2 |
|* 59 |            INDEX RANGE SCAN              | FK_TEST_ALIQUOT     |     1 |       |       |     2 |
|  60 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  61 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  62 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  63 |          INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  64 |        VIEW                              |                     |    37 | 38998 |       |   428 |
|  65 |         SORT UNIQUE                      |                     |    37 |   555 |       |   428 |
|  66 |          WINDOW SORT                     |                     |    37 |   555 |       |   428 |
|* 67 |           TABLE ACCESS FULL              | U_FINALRESULT_USER  |    37 |   555 |       |   425 |
Predicate Information (identified by operation id):
   1 - filter("FR_PIVOT"."MAXLEVEL"=LEVEL)
   2 - filter("FR_PIVOT"."RANK"=1)
   3 - filter("FR_PIVOT"."RANK"=1)
   5 - access("FR_PIVOT"."REF"=TO_CHAR("FR"."U_SDG_ID")||TO_CHAR("FR"."U_TEST_TEMPLATE_ID"))
   9 - filter(NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT","U_FINALRESULT_USER"."U_CALCULATED_RESULT
              ")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=TO_NUMBER(:Z))
  10 - access("SD"."SDG_ID"="FR"."U_SDG_ID"(+) AND "SD"."TEST_TEMPLATE_ID"="FR"."U_TEST_TEMPLATE_ID"(
              +))
  19 - access("SYS_ALIAS_4"."SDG_ID"=TO_NUMBER(:Z))
  21 - access("SYS_ALIAS_4"."SDG_ID"="SDG_USER"."SDG_ID")
  23 - access("SYS_ALIAS_4"."SDG_ID"="SYS_ALIAS_3"."SDG_ID")
  24 - filter("SYS_ALIAS_2"."STATUS"='C' OR "SYS_ALIAS_2"."STATUS"='P' OR "SYS_ALIAS_2"."STATUS"='V')
  25 - access("SYS_ALIAS_2"."SAMPLE_ID"="SYS_ALIAS_3"."SAMPLE_ID")
  26 - access("SYS_ALIAS_1"."ALIQUOT_ID"="SYS_ALIAS_2"."ALIQUOT_ID")
  34 - filter("U_FINALRESULT_USER"."U_REQUESTED"='T' AND NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT
              ","U_FINALRESULT_USER"."U_CALCULATED_RESULT")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=
              TO_NUMBER(:Z))
  38 - access("FR_PIVOT"."REF"=TO_CHAR("FR"."U_SDG_ID")||TO_CHAR("FR"."U_TEST_TEMPLATE_ID"))
  42 - filter(NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT","U_FINALRESULT_USER"."U_CALCULATED_RESULT
              ")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=TO_NUMBER(:Z))
  43 - access("SD"."SDG_ID"="FR"."U_SDG_ID"(+) AND "SD"."TEST_TEMPLATE_ID"="FR"."U_TEST_TEMPLATE_ID"(
              +))
  52 - access("SYS_ALIAS_4"."SDG_ID"=TO_NUMBER(:Z))
  54 - access("SYS_ALIAS_4"."SDG_ID"="SDG_USER"."SDG_ID")
  56 - access("SYS_ALIAS_4"."SDG_ID"="SYS_ALIAS_3"."SDG_ID")
  57 - filter("SYS_ALIAS_2"."STATUS"='C' OR "SYS_ALIAS_2"."STATUS"='P' OR "SYS_ALIAS_2"."STATUS"='V')
  58 - access("SYS_ALIAS_2"."SAMPLE_ID"="SYS_ALIAS_3"."SAMPLE_ID")
  59 - access("SYS_ALIAS_1"."ALIQUOT_ID"="SYS_ALIAS_2"."ALIQUOT_ID")
  67 - filter("U_FINALRESULT_USER"."U_REQUESTED"='T' AND NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT
              ","U_FINALRESULT_USER"."U_CALCULATED_RESULT")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=
              TO_NUMBER(:Z))
Note: cpu costing is off
Tkprof
TKPROF: Release 9.2.0.1.0 - Production on Fri Jul 13 15:03:47 2007
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Trace file: d:\oracle\admin\nautdev\udump\nautdev_ora_13020.trc
Sort options: default
count    = number of times OCI procedure was executed
cpu      = cpu time in seconds executing
elapsed  = elapsed time in seconds executing
disk     = number of physical reads of buffers from disk
query    = number of buffers gotten for consistent read
current  = number of buffers gotten in current mode (usually for update)
rows     = number of rows processed by the fetch or execute call
alter session set sql_trace true
call     count       cpu    elapsed       disk      query    current        rows
Parse        0      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        0      0.00       0.00          0          0          0           0
total        1      0.00       0.00          0          0          0           0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
select VALUE
from
nls_session_parameters where PARAMETER='NLS_NUMERIC_CHARACTERS'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select VALUE
from
nls_session_parameters where PARAMETER='NLS_DATE_FORMAT'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select VALUE
from
nls_session_parameters where PARAMETER='NLS_CURRENCY'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select to_char(9,'9C')
from
dual
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          3          0           1
total        3      0.00       0.00          0          3          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  TABLE ACCESS FULL DUAL
SELECT sd.u_bas_stockseed_code,
       sd.u_bas_storage_code,
       sd.description as test,
       case when fr.resultcount < 8
            then null
            else case when fr.resultdistinct > 1
                      then 'spl'
                      else fr.resultfinal
                 end
       end as result,
        case when level >=2
            then substr(sys_connect_by_path(valcount,','),2)
       end as spl
FROM
    SELECT sd.sdg_id,
           sa.sample_id,
           t.test_template_id,
           sdu.u_bas_stockseed_code,
             sdu.u_bas_storage_code,
           t.description
    FROM lims_sys.sdg sd, lims_sys.sdg_user sdu, lims_sys.sample sa, lims_sys.aliquot a,lims_sys.test t
    WHERE sd.sdg_id = sdu.sdg_id
    AND sd.sdg_id = sa.sdg_id
    AND a.sample_id = sa.sample_id
    AND t.aliquot_id = a.aliquot_id
     AND a.status IN ('V','P','C')
    AND sd.sdg_id IN (:SDGID)
) sd,
    SELECT distinct fr.u_sdg_id,
           fr.u_sample_id,
           fr.u_test_template_id,
             nvl(fr.u_overruled_result, fr.u_calculated_result) as Resultfinal, 
             count(distinct nvl(fr.u_overruled_result, fr.u_calculated_result)) over (partition by concat(fr.u_sdg_id, fr.u_test_template_id)) as resultdistinct,
           count(nvl(fr.u_overruled_result, fr.u_calculated_result)) over (partition by concat(fr.u_sdg_id, fr.u_test_template_id)) as resultcount
    FROM lims_sys.u_finalresult_user fr
    WHERE fr.u_requested = 'T'
    AND nvl(fr.u_overruled_result,fr.u_calculated_result) != 'X'
     AND fr.u_sdg_id IN (:SDGID)
) fr,
    SELECT concat(fr.u_sdg_id, fr.u_test_template_id) as ref,
           nvl( fr.u_overruled_result, fr.u_calculated_result),
           to_char(count(*)) || 'x' || nvl(fr.u_overruled_result, fr.u_calculated_result) as valcount,
           row_number() over (partition by concat(fr.u_sdg_id, fr.u_test_template_id) order by count(*) desc, nvl(fr.u_overruled_result, fr.u_calculated_result)) as rank,
           count(*) over (partition by concat(fr.u_sdg_id, fr.u_test_template_id)) AS MaxLevel  
    FROM lims_sys.u_finalresult_user fr
    WHERE nvl(fr.u_overruled_result,fr.u_calculated_result) != 'X'
    AND fr.u_sdg_id IN (:SDGID)
    GROUP BY concat(fr.u_sdg_id, fr.u_test_template_id), nvl(fr.u_overruled_result,fr.u_calculated_result)
) fr_pivot
WHERE sd.sdg_id = fr.u_sdg_id (+)
AND sd.test_template_id = fr.u_test_template_id (+)
AND fr_pivot.ref = concat(fr.u_sdg_id,fr.u_test_template_id)
AND level = maxlevel
    start with rank = 1 connect by
    prior fr.u_sdg_id = fr.u_sdg_id
    and prior fr.u_test_template_id = fr.u_test_template_id
    and prior rank = rank - 1
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.03       0.58          0          0          0           0
Execute      2      0.00       0.00          0          0          0           0
Fetch        1   8344.424154501457.66      15955     140391     178371         500
total        4   8344.454154501458.25      15955     140391     178371         500
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
    500  FILTER 
    507   CONNECT BY WITH FILTERING
  24731    FILTER 
169667     COUNT 
169667      HASH JOIN 
     34       VIEW 
     34        WINDOW SORT
     34         SORT GROUP BY
    312          TABLE ACCESS FULL U_FINALRESULT_USER
  24731       HASH JOIN OUTER
    546        VIEW 
    546         FILTER 
    546          TABLE ACCESS BY INDEX ROWID TEST
   1093           NESTED LOOPS 
    546            NESTED LOOPS 
    123             NESTED LOOPS 
      1              NESTED LOOPS 
      1               TABLE ACCESS BY INDEX ROWID SDG
      1                INDEX UNIQUE SCAN PK_SDG (object id 54343)
      1               TABLE ACCESS BY INDEX ROWID SDG_USER
      1                INDEX UNIQUE SCAN PK_SDG_USER (object id 54368)
    123              TABLE ACCESS BY INDEX ROWID SAMPLE
    123               INDEX RANGE SCAN FK_SAMPLE_SDG (object id 54262)
    546             TABLE ACCESS BY INDEX ROWID ALIQUOT
    546              INDEX RANGE SCAN FK_ALIQUOT_SAMPLE (object id 53620)
    546            INDEX RANGE SCAN FK_TEST_ALIQUOT (object id 54493)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
    291        VIEW 
    291         SORT UNIQUE
    291          WINDOW SORT
    291           TABLE ACCESS FULL U_FINALRESULT_USER
1312330604    HASH JOIN 
169667     CONNECT BY PUMP 
2036004     COUNT 
2036004      HASH JOIN 
    408       VIEW 
    408        WINDOW SORT
    408         SORT GROUP BY
   3744          TABLE ACCESS FULL U_FINALRESULT_USER
296772       HASH JOIN OUTER
   6552        VIEW 
   6552         FILTER 
   6552          TABLE ACCESS BY INDEX ROWID TEST
  13116           NESTED LOOPS 
   6552            NESTED LOOPS 
   1476             NESTED LOOPS 
     12              NESTED LOOPS 
     12               TABLE ACCESS BY INDEX ROWID SDG
     12                INDEX UNIQUE SCAN PK_SDG (object id 54343)
     12               TABLE ACCESS BY INDEX ROWID SDG_USER
     12                INDEX UNIQUE SCAN PK_SDG_USER (object id 54368)
   1476              TABLE ACCESS BY INDEX ROWID SAMPLE
   1476               INDEX RANGE SCAN FK_SAMPLE_SDG (object id 54262)
   6552             TABLE ACCESS BY INDEX ROWID ALIQUOT
   6552              INDEX RANGE SCAN FK_ALIQUOT_SAMPLE (object id 53620)
   6552            INDEX RANGE SCAN FK_TEST_ALIQUOT (object id 54493)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0          INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
   3492        VIEW 
   3492         SORT UNIQUE
   3492          WINDOW SORT
   3492           TABLE ACCESS FULL U_FINALRESULT_USER
select 'x'
from
dual
call     count       cpu    elapsed       disk      query    current        rows
Parse        2      0.00       0.00          0          0          0           0
Execute      2      0.00       0.00          0          0          0           0
Fetch        2      0.00       0.00          0          6          0           2
total        6      0.00       0.00          0          6          0           2
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  TABLE ACCESS FULL DUAL
begin :id := sys.dbms_transaction.local_transaction_id; end;
call     count       cpu    elapsed       disk      query    current        rows
Parse        2      0.00       0.00          0          0          0           0
Execute      2      0.00       0.00          0          0          0           2
Fetch        0      0.00       0.00          0          0          0           0
total        4      0.00       0.00          0          0          0           2
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call     count       cpu    elapsed       disk      query    current        rows
Parse        9      0.03       0.59          0          0          0           0
Execute     11      0.00       0.00          0          0          0           2
Fetch        7   8344.424154501457.66      15955     140400     178371         506
total       27   8344.454154501458.25      15955     140400     178371         508
Misses in library cache during parse: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call     count       cpu    elapsed       disk      query    current        rows
Parse       40      0.00       0.00          0          0          0           0
Execute     40      0.00       0.00          0          0          0           0
Fetch       40      0.00       0.00          0         81          0          40
total      120      0.00       0.00          0         81          0          40
Misses in library cache during parse: 0
   10  user  SQL statements in session.
   40  internal SQL statements in session.
   50  SQL statements in session.
Trace file: d:\oracle\admin\nautdev\udump\nautdev_ora_13020.trc
Trace file compatibility: 9.00.01
Sort options: default
       1  session in tracefile.
      10  user  SQL statements in trace file.
      40  internal SQL statements in trace file.
      50  SQL statements in trace file.
      10  unique SQL statements in trace file.
     544  lines in trace file.

I altered the query as you suggested and added also a ordered hint. It seems that this solved my problem. Thank you.
Explain
SQL Statement which produced this data:
  select * from table(dbms_xplan.display)
PLAN_TABLE_OUTPUT
| Id  | Operation                              |  Name               | Rows  | Bytes |TempSpc| Cost  |
|   0 | SELECT STATEMENT                       |                     |   366 |   759K|       |  4050 |
|   1 |  SORT UNIQUE                           |                     |   366 |   759K|  1960K|  4050 |
|*  2 |   FILTER                               |                     |       |       |       |       |
|*  3 |    CONNECT BY WITH FILTERING           |                     |       |       |       |       |
|*  4 |     FILTER                             |                     |       |       |       |       |
|   5 |      COUNT                             |                     |       |       |       |       |
|   6 |       FILTER                           |                     |       |       |       |       |
|*  7 |        HASH JOIN                       |                     |   366 |   759K|       |  3918 |
|   8 |         NESTED LOOPS                   |                     |   766 | 32938 |       |  3461 |
|   9 |          NESTED LOOPS                  |                     |   766 | 22214 |       |  1163 |
|  10 |           NESTED LOOPS                 |                     |   383 |  6894 |       |    14 |
|  11 |            NESTED LOOPS                |                     |     1 |    10 |       |     3 |
|  12 |             TABLE ACCESS BY INDEX ROWID| SDG                 |     1 |     4 |       |     2 |
|* 13 |              INDEX UNIQUE SCAN         | PK_SDG              |   865 |       |       |     1 |
|  14 |             TABLE ACCESS BY INDEX ROWID| SDG_USER            |     1 |     6 |       |     1 |
|* 15 |              INDEX UNIQUE SCAN         | PK_SDG_USER         |     1 |       |       |       |
|  16 |            TABLE ACCESS BY INDEX ROWID | SAMPLE              |   383 |  3064 |       |    11 |
|* 17 |             INDEX RANGE SCAN           | FK_SAMPLE_SDG       |   383 |       |       |     2 |
|* 18 |           TABLE ACCESS BY INDEX ROWID  | ALIQUOT             |     2 |    22 |       |     3 |
|* 19 |            INDEX RANGE SCAN            | FK_ALIQUOT_SAMPLE   |     2 |       |       |     2 |
|* 20 |          TABLE ACCESS BY INDEX ROWID   | TEST                |     1 |    14 |       |     3 |
|* 21 |           INDEX RANGE SCAN             | FK_TEST_ALIQUOT     |     1 |       |       |     2 |
|  22 |         VIEW                           |                     |    74 |   150K|       |   455 |
|  23 |          WINDOW SORT                   |                     |    74 |   150K|   408K|   455 |
|  24 |           VIEW                         |                     |    74 |   150K|       |   428 |
|  25 |            SORT UNIQUE                 |                     |    74 |   740 |       |   428 |
|  26 |             WINDOW SORT                |                     |    74 |   740 |       |   428 |
|* 27 |              TABLE ACCESS FULL         | U_FINALRESULT_USER  |    74 |   740 |       |   425 |
|  28 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  29 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  30 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  31 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  32 |     HASH JOIN                          |                     |       |       |       |       |
|  33 |      CONNECT BY PUMP                   |                     |       |       |       |       |
|  34 |      COUNT                             |                     |       |       |       |       |
|  35 |       FILTER                           |                     |       |       |       |       |
|* 36 |        HASH JOIN                       |                     |   366 |   759K|       |  3918 |
|  37 |         NESTED LOOPS                   |                     |   766 | 32938 |       |  3461 |
|  38 |          NESTED LOOPS                  |                     |   766 | 22214 |       |  1163 |
|  39 |           NESTED LOOPS                 |                     |   383 |  6894 |       |    14 |
|  40 |            NESTED LOOPS                |                     |     1 |    10 |       |     3 |
|  41 |             TABLE ACCESS BY INDEX ROWID| SDG                 |     1 |     4 |       |     2 |
|* 42 |              INDEX UNIQUE SCAN         | PK_SDG              |   865 |       |       |     1 |
|  43 |             TABLE ACCESS BY INDEX ROWID| SDG_USER            |     1 |     6 |       |     1 |
|* 44 |              INDEX UNIQUE SCAN         | PK_SDG_USER         |     1 |       |       |       |
|  45 |            TABLE ACCESS BY INDEX ROWID | SAMPLE              |   383 |  3064 |       |    11 |
|* 46 |             INDEX RANGE SCAN           | FK_SAMPLE_SDG       |   383 |       |       |     2 |
|* 47 |           TABLE ACCESS BY INDEX ROWID  | ALIQUOT             |     2 |    22 |       |     3 |
|* 48 |            INDEX RANGE SCAN            | FK_ALIQUOT_SAMPLE   |     2 |       |       |     2 |
|* 49 |          TABLE ACCESS BY INDEX ROWID   | TEST                |     1 |    14 |       |     3 |
|* 50 |           INDEX RANGE SCAN             | FK_TEST_ALIQUOT     |     1 |       |       |     2 |
|  51 |         VIEW                           |                     |    74 |   150K|       |   455 |
|  52 |          WINDOW SORT                   |                     |    74 |   150K|   408K|   455 |
|  53 |           VIEW                         |                     |    74 |   150K|       |   428 |
|  54 |            SORT UNIQUE                 |                     |    74 |   740 |       |   428 |
|  55 |             WINDOW SORT                |                     |    74 |   740 |       |   428 |
|* 56 |              TABLE ACCESS FULL         | U_FINALRESULT_USER  |    74 |   740 |       |   425 |
|  57 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  58 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  59 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
|  60 |        INDEX UNIQUE SCAN               | PK_OPERATOR_GROUP   |     1 |     4 |       |       |
Predicate Information (identified by operation id):
   2 - filter("FR"."MAXLEVEL"=LEVEL)
   3 - filter("FR"."RANK"=1)
   4 - filter("FR"."RANK"=1)
   7 - access("SYS_ALIAS_4"."SDG_ID"="FR"."U_SDG_ID" AND "SYS_ALIAS_1"."TEST_TEMPLATE_ID"="FR"."U_T
              EST_TEMPLATE_ID")
  13 - access("SYS_ALIAS_4"."SDG_ID"=TO_NUMBER(:Z))
  15 - access("SYS_ALIAS_4"."SDG_ID"="SDG_USER"."SDG_ID")
  17 - access("SYS_ALIAS_4"."SDG_ID"="SYS_ALIAS_3"."SDG_ID")
  18 - filter("SYS_ALIAS_2"."STATUS"='V' OR "SYS_ALIAS_2"."STATUS"='P' OR "SYS_ALIAS_2"."STATUS"='C
  19 - access("SYS_ALIAS_2"."SAMPLE_ID"="SYS_ALIAS_3"."SAMPLE_ID")
  20 - filter("SYS_ALIAS_1"."DESCRIPTION" IS NOT NULL)
  21 - access("SYS_ALIAS_1"."ALIQUOT_ID"="SYS_ALIAS_2"."ALIQUOT_ID")
  27 - filter(NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT","U_FINALRESULT_USER"."U_CALCULATED_RESU
              LT")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=TO_NUMBER(:Z))
  36 - access("SYS_ALIAS_4"."SDG_ID"="FR"."U_SDG_ID" AND "SYS_ALIAS_1"."TEST_TEMPLATE_ID"="FR"."U_T
              EST_TEMPLATE_ID")
  42 - access("SYS_ALIAS_4"."SDG_ID"=TO_NUMBER(:Z))
  44 - access("SYS_ALIAS_4"."SDG_ID"="SDG_USER"."SDG_ID")
  46 - access("SYS_ALIAS_4"."SDG_ID"="SYS_ALIAS_3"."SDG_ID")
  47 - filter("SYS_ALIAS_2"."STATUS"='V' OR "SYS_ALIAS_2"."STATUS"='P' OR "SYS_ALIAS_2"."STATUS"='C
  48 - access("SYS_ALIAS_2"."SAMPLE_ID"="SYS_ALIAS_3"."SAMPLE_ID")
  49 - filter("SYS_ALIAS_1"."DESCRIPTION" IS NOT NULL)
  50 - access("SYS_ALIAS_1"."ALIQUOT_ID"="SYS_ALIAS_2"."ALIQUOT_ID")
  56 - filter(NVL("U_FINALRESULT_USER"."U_OVERRULED_RESULT","U_FINALRESULT_USER"."U_CALCULATED_RESU
              LT")<>'X' AND "U_FINALRESULT_USER"."U_SDG_ID"=TO_NUMBER(:Z))
Note: cpu costing is off
[.pre]
Tkprof
[pre]
TKPROF: Release 9.2.0.1.0 - Production on Mon Jul 16 11:28:18 2007
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Trace file: d:\oracle\admin\nautdev\udump\nautdev_ora_13144.trc
Sort options: default
count    = number of times OCI procedure was executed
cpu      = cpu time in seconds executing
elapsed  = elapsed time in seconds executing
disk     = number of physical reads of buffers from disk
query    = number of buffers gotten for consistent read
current  = number of buffers gotten in current mode (usually for update)
rows     = number of rows processed by the fetch or execute call
alter session set sql_trace true
call     count       cpu    elapsed       disk      query    current        rows
Parse        0      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        0      0.00       0.00          0          0          0           0
total        1      0.00       0.00          0          0          0           0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
select VALUE
from
nls_session_parameters where PARAMETER='NLS_NUMERIC_CHARACTERS'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select VALUE
from
nls_session_parameters where PARAMETER='NLS_DATE_FORMAT'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select VALUE
from
nls_session_parameters where PARAMETER='NLS_CURRENCY'
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           1
total        3      0.00       0.00          0          0          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  FIXED TABLE FULL X$NLS_PARAMETERS
select to_char(9,'9C')
from
dual
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          3          0           1
total        3      0.00       0.00          0          3          0           1
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  TABLE ACCESS FULL DUAL
SELECT distinct sd.u_bas_stockseed_code,
       sd.u_bas_storage_code,
       sd.description as test,
       case when fr.resultcount < 8
            then null
            else case when fr.resultdistinct > 1
                      then 'spl'
                      else fr.resultfinal
                 end
       end as result,
        case when level >=2 and  fr.resultcount > 7
            then substr(sys_connect_by_path(valcount,','),2)
       end as spl
FROM
    SELECT /*+ ORDERED */ sd.sdg_id,
           sa.sample_id,
           t.test_template_id,
           sdu.u_bas_stockseed_code,
             sdu.u_bas_storage_code,
           t.description
    FROM lims_sys.sdg sd, lims_sys.sdg_user sdu, lims_sys.sample sa, lims_sys.aliquot a,lims_sys.test t
    WHERE sd.sdg_id = sdu.sdg_id
    AND sd.sdg_id = sa.sdg_id
    AND a.sample_id = sa.sample_id
    AND t.aliquot_id = a.aliquot_id
     AND a.status IN ('V','P','C')
     AND t.description is not null
    AND sd.sdg_id IN (:SDGID)
) sd,
    SELECT u_sdg_id,
           u_test_template_id,
            resultfinal,
            valcount,
            resultcount,
            resultdistinct,
           row_number() over (partition by u_sdg_id, u_test_template_id order by resultfinal) as rank,
            count(*) over (partition by u_sdg_id, u_test_template_id) AS MaxLevel  
     FROM
         SELECT distinct u_sdg_id, u_test_template_id,
                nvl( u_overruled_result, u_calculated_result) as resultfinal,
                to_char(count(*) over (partition by u_sdg_id, u_test_template_id,nvl(u_overruled_result, u_calculated_result))) || 'x' || nvl(u_overruled_result, u_calculated_result) as valcount,
                  count(nvl(u_overruled_result, u_calculated_result)) over (partition by u_sdg_id, u_test_template_id) as resultcount,
                  count(distinct nvl(u_overruled_result, u_calculated_result)) over (partition by u_sdg_id, u_test_template_id) as resultdistinct
          FROM lims_sys.u_finalresult_user
         WHERE nvl(u_overruled_result,u_calculated_result) != 'X'
         AND u_sdg_id IN (:SDGID)
) fr
WHERE sd.sdg_id = fr.u_sdg_id (+)
AND sd.test_template_id = fr.u_test_template_id (+)
AND level = maxlevel
    start with rank = 1 connect by
    prior fr.u_sdg_id = fr.u_sdg_id
    and prior fr.u_test_template_id = fr.u_test_template_id
    and prior rank = rank - 1
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.06       0.64          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      2.26       2.79       2180      29539          0          38
total        3      2.32       3.44       2180      29539          0          38
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
     38  SORT UNIQUE
  25381   FILTER 
  27648    CONNECT BY WITH FILTERING
    455     FILTER 
    610      COUNT 
    610       FILTER 
    610        HASH JOIN 
    455         NESTED LOOPS 
    459          NESTED LOOPS 
     12           NESTED LOOPS 
      1            NESTED LOOPS 
      1             TABLE ACCESS BY INDEX ROWID SDG
      1              INDEX UNIQUE SCAN PK_SDG (object id 54343)
      1             TABLE ACCESS BY INDEX ROWID SDG_USER
      1              INDEX UNIQUE SCAN PK_SDG_USER (object id 54368)
     12            TABLE ACCESS BY INDEX ROWID SAMPLE
     12             INDEX RANGE SCAN FK_SAMPLE_SDG (object id 54262)
    459           TABLE ACCESS BY INDEX ROWID ALIQUOT
    460            INDEX RANGE SCAN FK_ALIQUOT_SAMPLE (object id 53620)
    455          TABLE ACCESS BY INDEX ROWID TEST
    459           INDEX RANGE SCAN FK_TEST_ALIQUOT (object id 54493)
     51         VIEW 
     51          WINDOW SORT
     51           VIEW 
     51            SORT UNIQUE
    251             WINDOW SORT
    251              TABLE ACCESS FULL U_FINALRESULT_USER
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
   1849     HASH JOIN 
    610      CONNECT BY PUMP 
   2440      COUNT 
   2440       FILTER 
   2440        HASH JOIN 
   1820         NESTED LOOPS 
   1836          NESTED LOOPS 
     48           NESTED LOOPS 
      4            NESTED LOOPS 
      4             TABLE ACCESS BY INDEX ROWID SDG
      4              INDEX UNIQUE SCAN PK_SDG (object id 54343)
      4             TABLE ACCESS BY INDEX ROWID SDG_USER
      4              INDEX UNIQUE SCAN PK_SDG_USER (object id 54368)
     48            TABLE ACCESS BY INDEX ROWID SAMPLE
     48             INDEX RANGE SCAN FK_SAMPLE_SDG (object id 54262)
   1836           TABLE ACCESS BY INDEX ROWID ALIQUOT
   1840            INDEX RANGE SCAN FK_ALIQUOT_SAMPLE (object id 53620)
   1820          TABLE ACCESS BY INDEX ROWID TEST
   1836           INDEX RANGE SCAN FK_TEST_ALIQUOT (object id 54493)
    204         VIEW 
    204          WINDOW SORT
    204           VIEW 
    204            SORT UNIQUE
   1004             WINDOW SORT
   1004              TABLE ACCESS FULL U_FINALRESULT_USER
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
      0        INDEX UNIQUE SCAN PK_OPERATOR_GROUP (object id 54041)
select 'x'
from
dual
call     count       cpu    elapsed       disk      query    current        rows
Parse        2      0.00       0.00          0          0          0           0
Execute      2      0.00       0.00          0          0          0           0
Fetch        2      0.00       0.00          0          6          0           2
total        6      0.00       0.00          0          6          0           2
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
Rows     Row Source Operation
      1  TABLE ACCESS FULL DUAL
begin :id := sys.dbms_transaction.local_transaction_id; end;
call     count       cpu    elapsed       disk      query    current        rows
Parse        2      0.00       0.00          0          0          0           0
Execute      2      0.00       0.00          0          0          0           2
Fetch        0      0.00       0.00          0          0          0           0
total        4      0.00       0.00          0          0          0           2
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 44 
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call     count       cpu    elapsed       disk      query    current        rows
Parse        9      0.06       0.65          0          0          0           0
Execute     10      0.00       0.00          0          0          0           2
Fetch        7      2.26       2.79       2180      29548          0          44
total       26      2.32       3.45       2180      29548          0          46
Misses in library cache during parse: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call     count       cpu    elapsed       disk      query    current        rows
Parse       61      0.00       0.00          0          0          0           0
Execute     61      0.00       0.00          0          0          0           0
Fetch       61      0.00       0.00          0        124          0          61
total      183      0.00       0.00          0        124          0          61
Misses in library cache during parse: 0
   10  user  SQL statements in session.
   61  internal SQL statements in session.
   71  SQL statements in session.
Trace file: d:\oracle\admin\nautdev\udump\nautdev_ora_13144.trc
Trace file compatibility: 9.00.01
Sort options: default
       1  session in tracefile.
      10  user  SQL statements in trace file.
      61  internal SQL statements in trace file.
      71  SQL statements in trace file.
      10  unique SQL statements in trace file.
     701  lines in trace file.
[.pre]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

Similar Messages

  • Need help with performance & memory tuning in a data warehousing environment

    Dear All,
    Good Day.
    We had successfully migrated from a 4 node half-rack V2 Exadata to a 2 node quarter rack X4-2 Exadata. However, we are facing some issues with performance only for few loads while others have in fact shown good improvement.
    1. The total memory on the OS is 250GB for each node (two compute nodes for a quarter rack).
    2. Would be grateful if someone could help me with the best equation to calculate the SGA and PGA ( and also in allocation of shared_pool, large_pool etc) or whether Automatic Memory Management is advisable?
    3. We had run exachk report which suggested us to configure huge pages.
    4. When we tried to increase the SGA to more than 30GB the system doesn't allow us to do so. We had however set the PGA to 85GB.
    5. Also, we had observed that some of the queries involving joins and indexes are taking longer time.
    Any advise would be greatly appreciated.
    Warm Regards,
    Vikram.

    Hi Vikram,
    There is no formula about SGA and PGA, but the best practices for OLTP environments is for a give ammount of memory (which cannot be up to 80% of total RAM from server) you should make 80% to SGA and 20% to PGA. For Data Warehouse envs, the values are like 60% SGA and 40% PGA or it can be up to 50%-50%. Also, some docs disencourage you to keep the database in Automatic Memory Management when you are using a big SGA (> 10G).
    As you are using a RAC environment, you should configure Huge Pages. And if the systems are not allowing you to increase memory, just take a look at the semaphore parameters, probably they are set lower values. And for the poor performance queries, we need to see explain plans, table structure and you would also analyze if smart scan is playing the game.
    Regards.

  • Need help with Performance Tuning

    Following query takes 8 secs. Any help will be appreciated
    SELECT SUM(FuturesMarketVal) FuturesMarketVal
    FROM (SELECT CASE WHEN null IS NULL THEN FuturesMarketVal
    ELSE DECODE(FUTURES_NAME, null, FuturesMarketVal, 0)
    END FuturesMarketVal
    FROM (SELECT SUM( (a.FUTURES_ALLOC * (NVL(b.Futures_EOD_Price,0)/100 - NVL(c.Futures_EOD_Price,0)/100) * a.CONTRACT_SIZE) / DECODE(a.CONTRACT_SIZE,100000,1,1000000,4,3000000,12,1) ) FuturesMarketVal,
    a.FUTURES_NAME
    FROM cms_futures_trans a,
    cms_futures_price b,
    cms_futures_price c
              Where c.history_date (+) = TO_DATE(fas_pas_pkg.get_weekday(to_date('12/30/2005') - 1),'mm/dd/yyyy')
              and a.FUTURES_NAME = b.FUTURES_NAME (+)
    AND a.trade_date < TO_DATE('12/30/2005','mm/dd/yyyy')
    AND b.history_date (+) = TO_DATE('12/30/2005','mm/dd/yyyy')
    AND a.FUTURES_NAME = c.FUTURES_NAME (+)
    GROUP BY a.FUTURES_NAME
    /

    Eric:
    But there are only 5 records in cms_futures_price and 10 in cms_futures_trans :-)
    OP:
    I'm not usre what you are trying to fo here, but a couple of comments.
    Since NULL IS NULL will always be true, you don;t really need the CASE statement. as it stands, your query will always return FuturesMarketVal. If the results are correct, then you can do without the DECODE as well.
    Why are you calling fas_pas_pkg.get_weekday with a constant value? Can you not just use whatever it returns as a constant instead of calling the function?
    Are you sure you need all those outer joins? They almost guarantee full scans of the outer joined tables.
    Perhaps if you post some representative data from the two tables and an explanation of what you are trying to accomplish someone may have a better idea.
    John

  • Need help with performance for very very huge tables...

    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production.
    My DB has many tables and out of which I am interested in getting data from product and sales.
    select /*parallel 32*/count(1) from (
    select /*parallel 32*/distinct prod_code from product pd, sales s
    where pd.prod_opt_cd is NULL
    and s.sales_id = pd.sales_id
    and s.creation_dts between to_date ('2012-07-01','YYYY-MM-DD') and
    to_date ('2012-07-31','YYYY-MM-DD')
    More information -
    Total Rows in sales table - 18001217
    Total rows in product table - 411800392
    creation_dts dont have index on it.
    I started query in background but after 30 hours I saw the error saying -
    ORA-01555: snapshot too old: rollback segment number 153 with name
    Is there any other way to get above data in optimized way?

    Formatting your query a bit (and removing the hints), it evaluates to:
    SELECT COUNT(1)
    FROM  (SELECT DISTINCT prod_code
           FROM   product pd
                  INNER JOIN sales s
                  ON s.sales_id = pd.sales_id 
           WHERE  pd.prod_opt_cd is NULL
           AND    s.creation_dts BETWEEN TO_DATE('2012-07-01','YYYY-MM-DD')
                                     AND TO_DATE('2012-07-31','YYYY-MM-DD')
          );This should be equivalent to
    SELECT COUNT(DISTINCT prod_code)
    FROM   product pd
           INNER JOIN sales s
           ON s.sales_id = pd.sales_id 
    WHERE  pd.prod_opt_cd is NULL
    AND    s.creation_dts BETWEEN TO_DATE('2012-07-01','YYYY-MM-DD')
                              AND TO_DATE('2012-07-31','YYYY-MM-DD');On the face of it, that's a ridiculously simple query If s.sales_id and pd.sales_id are both indexed, then I don't see why it would take a huge amount of time. Even having to perform a FTS on the sales table because creation_dts isn't indexed shouldn't make it a 30-hour query. If either of those two is not indexed, then it's a much uglier prospect in joining the two tables. However, if you often join the product and sales tables (which seems likely), then not having those fields indexed would be contraindicated.

  • Need help with Berkeley XML DB Performance

    We need help with maximizing performance of our use of Berkeley XML DB. I am filling most of the 29 part question as listed by Oracle's BDB team.
    Berkeley DB XML Performance Questionnaire
    1. Describe the Performance area that you are measuring? What is the
    current performance? What are your performance goals you hope to
    achieve?
    We are measuring the performance while loading a document during
    web application startup. It is currently taking 10-12 seconds when
    only one user is on the system. We are trying to do some testing to
    get the load time when several users are on the system.
    We would like the load time to be 5 seconds or less.
    2. What Berkeley DB XML Version? Any optional configuration flags
    specified? Are you running with any special patches? Please specify?
    dbxml 2.4.13. No special patches.
    3. What Berkeley DB Version? Any optional configuration flags
    specified? Are you running with any special patches? Please Specify.
    bdb 4.6.21. No special patches.
    4. Processor name, speed and chipset?
    Intel Xeon CPU 5150 2.66GHz
    5. Operating System and Version?
    Red Hat Enterprise Linux Relase 4 Update 6
    6. Disk Drive Type and speed?
    Don't have that information
    7. File System Type? (such as EXT2, NTFS, Reiser)
    EXT3
    8. Physical Memory Available?
    4GB
    9. Are you using Replication (HA) with Berkeley DB XML? If so, please
    describe the network you are using, and the number of Replica’s.
    No
    10. Are you using a Remote Filesystem (NFS) ? If so, for which
    Berkeley DB XML/DB files?
    No
    11. What type of mutexes do you have configured? Did you specify
    –with-mutex=? Specify what you find inn your config.log, search
    for db_cv_mutex?
    None. Did not specify -with-mutex during bdb compilation
    12. Which API are you using (C++, Java, Perl, PHP, Python, other) ?
    Which compiler and version?
    Java 1.5
    13. If you are using an Application Server or Web Server, please
    provide the name and version?
    Oracle Appication Server 10.1.3.4.0
    14. Please provide your exact Environment Configuration Flags (include
    anything specified in you DB_CONFIG file)
    Default.
    15. Please provide your Container Configuration Flags?
    final EnvironmentConfig envConf = new EnvironmentConfig();
    envConf.setAllowCreate(true); // If the environment does not
    // exist, create it.
    envConf.setInitializeCache(true); // Turn on the shared memory
    // region.
    envConf.setInitializeLocking(true); // Turn on the locking subsystem.
    envConf.setInitializeLogging(true); // Turn on the logging subsystem.
    envConf.setTransactional(true); // Turn on the transactional
    // subsystem.
    envConf.setLockDetectMode(LockDetectMode.MINWRITE);
    envConf.setThreaded(true);
    envConf.setErrorStream(System.err);
    envConf.setCacheSize(1024*1024*64);
    envConf.setMaxLockers(2000);
    envConf.setMaxLocks(2000);
    envConf.setMaxLockObjects(2000);
    envConf.setTxnMaxActive(200);
    envConf.setTxnWriteNoSync(true);
    envConf.setMaxMutexes(40000);
    16. How many XML Containers do you have? For each one please specify:
    One.
    1. The Container Configuration Flags
              XmlContainerConfig xmlContainerConfig = new XmlContainerConfig();
              xmlContainerConfig.setTransactional(true);
    xmlContainerConfig.setIndexNodes(true);
    xmlContainerConfig.setReadUncommitted(true);
    2. How many documents?
    Everytime the user logs in, the current xml document is loaded from
    a oracle database table and put it in the Berkeley XML DB.
    The documents get deleted from XML DB when the Oracle application
    server container is stopped.
    The number of documents should start with zero initially and it
    will grow with every login.
    3. What type (node or wholedoc)?
    Node
    4. Please indicate the minimum, maximum and average size of
    documents?
    The minimum is about 2MB and the maximum could 20MB. The average
    mostly about 5MB.
    5. Are you using document data? If so please describe how?
    We are using document data only to save changes made
    to the application data in a web application. The final save goes
    to the relational database. Berkeley XML DB is just used to store
    temporary data since going to the relational database for each change
    will cause severe performance issues.
    17. Please describe the shape of one of your typical documents? Please
    do this by sending us a skeleton XML document.
    Due to the sensitive nature of the data, I can provide XML schema instead.
    18. What is the rate of document insertion/update required or
    expected? Are you doing partial node updates (via XmlModify) or
    replacing the document?
    The document is inserted during user login. Any change made to the application
    data grid or other data components gets saved in Berkeley DB. We also have
    an automatic save every two minutes. The final save from the application
    gets saved in a relational database.
    19. What is the query rate required/expected?
    Users will not be entering data rapidly. There will be lot of think time
    before the users enter/modify data in the web application. This is a pilot
    project but when we go live with this application, we will expect 25 users
    at the same time.
    20. XQuery -- supply some sample queries
    1. Please provide the Query Plan
    2. Are you using DBXML_INDEX_NODES?
    Yes.
    3. Display the indices you have defined for the specific query.
         XmlIndexSpecification spec = container.getIndexSpecification();
         // ids
         spec.addIndex("", "id", XmlIndexSpecification.PATH_NODE | XmlIndexSpecification.NODE_ATTRIBUTE | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         spec.addIndex("", "idref", XmlIndexSpecification.PATH_NODE | XmlIndexSpecification.NODE_ATTRIBUTE | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         // index to cover AttributeValue/Description
         spec.addIndex("", "Description", XmlIndexSpecification.PATH_EDGE | XmlIndexSpecification.NODE_ELEMENT | XmlIndexSpecification.KEY_SUBSTRING, XmlValue.STRING);
         // cover AttributeValue/@value
         spec.addIndex("", "value", XmlIndexSpecification.PATH_EDGE | XmlIndexSpecification.NODE_ATTRIBUTE | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         // item attribute values
         spec.addIndex("", "type", XmlIndexSpecification.PATH_EDGE | XmlIndexSpecification.NODE_ATTRIBUTE | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         // default index
         spec.addDefaultIndex(XmlIndexSpecification.PATH_NODE | XmlIndexSpecification.NODE_ELEMENT | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         spec.addDefaultIndex(XmlIndexSpecification.PATH_NODE | XmlIndexSpecification.NODE_ATTRIBUTE | XmlIndexSpecification.KEY_EQUALITY, XmlValue.STRING);
         // save the spec to the container
         XmlUpdateContext uc = xmlManager.createUpdateContext();
         container.setIndexSpecification(spec, uc);
    4. If this is a large query, please consider sending a smaller
    query (and query plan) that demonstrates the problem.
    21. Are you running with Transactions? If so please provide any
    transactions flags you specify with any API calls.
    Yes. READ_UNCOMMITED in some and READ_COMMITTED in other transactions.
    22. If your application is transactional, are your log files stored on
    the same disk as your containers/databases?
    Yes.
    23. Do you use AUTO_COMMIT?
         No.
    24. Please list any non-transactional operations performed?
    No.
    25. How many threads of control are running? How many threads in read
    only mode? How many threads are updating?
    We use Berkeley XML DB within the context of a struts web application.
    Each user logged into the web application will be running a bdb transactoin
    within the context of a struts action thread.
    26. Please include a paragraph describing the performance measurements
    you have made. Please specifically list any Berkeley DB operations
    where the performance is currently insufficient.
    We are clocking 10-12 seconds of loading a document from dbd when
    five users are on the system.
    getContainer().getDocument(documentName);
    27. What performance level do you hope to achieve?
    We would like to get less than 5 seconds when 25 users are on the system.
    28. Please send us the output of the following db_stat utility commands
    after your application has been running under "normal" load for some
    period of time:
    % db_stat -h database environment -c
    % db_stat -h database environment -l
    % db_stat -h database environment -m
    % db_stat -h database environment -r
    % db_stat -h database environment -t
    (These commands require the db_stat utility access a shared database
    environment. If your application has a private environment, please
    remove the DB_PRIVATE flag used when the environment is created, so
    you can obtain these measurements. If removing the DB_PRIVATE flag
    is not possible, let us know and we can discuss alternatives with
    you.)
    If your application has periods of "good" and "bad" performance,
    please run the above list of commands several times, during both
    good and bad periods, and additionally specify the -Z flags (so
    the output of each command isn't cumulative).
    When possible, please run basic system performance reporting tools
    during the time you are measuring the application's performance.
    For example, on UNIX systems, the vmstat and iostat utilities are
    good choices.
    Will give this information soon.
    29. Are there any other significant applications running on this
    system? Are you using Berkeley DB outside of Berkeley DB XML?
    Please describe the application?
    No to the first two questions.
    The web application is an online review of test questions. The users
    login and then review the items one by one. The relational database
    holds the data in xml. During application load, the application
    retrieves the xml and then saves it to bdb. While the user
    is making changes to the data in the application, it writes those
    changes to bdb. Finally when the user hits the SAVE button, the data
    gets saved to the relational database. We also have an automatic save
    every two minues, which saves bdb xml data and saves it to relational
    database.
    Thanks,
    Madhav
    [email protected]

    Could it be that you simply do not have set up indexes to support your query? If so, you could do some basic testing using the dbxml shell:
    milu@colinux:~/xpg > dbxml -h ~/dbenv
    Joined existing environment
    dbxml> setverbose 7 2
    dbxml> open tv.dbxml
    dbxml> listIndexes
    dbxml> query     { collection()[//@date-tip]/*[@chID = ('ard','zdf')] (: example :) }
    dbxml> queryplan { collection()[//@date-tip]/*[@chID = ('ard','zdf')] (: example :) }Verbosity will make the engine display some (rather cryptic) information on index usage. I can't remember where the output is explained; my feeling is that "V(...)" means the index is being used (which is good), but that observation may not be accurate. Note that some details in the setVerbose command could differ, as I'm using 2.4.16 while you're using 2.4.13.
    Also, take a look at the query plan. You can post it here and some people will be able to diagnose it.
    Michael Ludwig

  • Need help with premiere pro cs6 having performance issues please help

    need help with premiere pro cs6 having performance issues please help

    Welcome to the forum.
    First thing that I would do would be to look at this Adobe KB Article to see if it helps.
    Next, I would try the tips in this ARTICLE.
    If that does not help, a Repair Install would definitely be in order.
    Good luck,
    Hunt

  • Need help with a currently "in-use" form we want to switch to Adobes hosting service

    Hi, I am in desperate need of help with some issues concerning several forms which we currently use a paid third party (not Adobe) to host and "re-distribute through email"...Somehow I got charged $14.95 for YOUR service, (signed up for a trial, but never used it)..and now I am paying for a year of use of the similar service which Adobe is in control of.  I might want to port my form distribution through Adobe in the hopes of reducing the errors, problems and hassles my customers are experiencing when some of them push our  "submit button". (and I guess I am familiar with these somewhat from reading what IS available in here, and I also know that, Adobe is working to alleviate some of these " submit"  issues, so let's don't start by going backwards, here) I need solutions now for my issues or I can leave it as is, If Adobe's solution will be no better for my end users...
    We used FormsCentral to code these forms and it works for the most part (if the end-user can co-operate, and thats iffy, sometimes), but I need help with how to make it go through your servers (and not the third party folks we use now), Not being cruel or racist here, but your over the phone "support techs" are about horrible & I cannot understand them or work with any of them, so I would definitely need someone who speaks English and can understand the nuances of programming these forms, to please contact me back. (Sorry, but both those attributes will be required to be able to help me, so, no "newbie-interns" or first week trainees are gonna cut it).... If you have anyone who fits the bill on those items and would be willing to help us, please contact me back at your earliest convenience. If we have to communicate here, I will do that & I can submit whatever we need to & to whoever we need to.
    I need to get this right and working for the majority of my users and on any platform and OS.
    You may certainly call me to talk about this, and I have given my number numerous times to your (expletive deleted) time wasting - recording message thingy. So, If it's not available look it up under [email protected]
    (and you will probably get right to me, unlike my and I'm sure most other folks',  "Adobe phone-in experiences")
    Thank You,
    Michael Corman
    VinylCouture
    Phenix City, Alabama  36869

    Well, thanks for writing back...just so you know...I started using Adobe products in 1987, ...yeah...back then...like Illustrator 1 & 9" B&W Macs ...John Warnock's Helvetica's....stuff like that...8.5 x 11 LaserWriters...all that good stuff...I still have some of it working on a mac...much of it was stuff I bought. some stuff I did not...I'm not a big fan of this "cloud" thing Adobe has foisted upon the creatives of the world...which I'm sure you can tell...but the functionality and usefulness of your software can not be disputed, so feel free to do whatever we will continue to pay for, ...I am very impressed with CC PS on the 64 bit PC and perhaps I will end up paying you the stipend that you demand for the other services.
    So  I guess that brings us to our problem.. a few years back and at the height of the recession and near bankruptcy myself,  I was damn lucky and hit on something and began a small arts and crafts supply service to sell my products online to a very "niche market" ...I had a unique product and still sell that product (plus others) online...My website is www.vinylcouture.com...Strange? Yes...but there is a market it seems, for everything now, and this is the market I service...Catagorically, these are 99%+ women that use these "adhesive, sticky backed vinyl products"  to make different "craft items" that are just way too various and numerous to go into... generally older women, women who are computer illiterate for the most part...and all this is irrelevant to my problem, but I want you to have every bit of background on this and especially the demographic we are dealing with, so we can get right to the meat of the problem.
    OK...So about two years ago, I decided to offer a "plain sheet" product of a plain colored "stick back" vinyl... it is available in multiple quantities of packs ( like 5 pieces, 10 pieces, 15 pieces, in a packi  & so on)...and if you are still on my site.. go to any  "GO RIGHT TO OUR ORDER PAGE"  button, scroll down a little...and then to the "PLAIN VINYL" section...you will see the Weebly website order process.) You can back out from here, I think,..but, anyway this product is available in 63 colors + or - a few. So then the problem is,  how do they select their individual colors within that (whatever) pack?... .
    So my initial idea was to enable a "selection form" for these "colors" that would be transmitted to me via email as 'part" of the "order process".. We tried getting our customers to submit a  " a list" ( something my competitiors still do, lol, poor bastards)......but that..is just unbelievable..I can't even begin to tell you what a freakin' nightmare that was...these people cannot even count to 10, much less any higher... figuring out what colors to list and send me... well, lets just say, it wasn't working......I had to figure out a better way...Something had to be done.
    So after thinking this all out,  and yeah...due to my total ignorance, i figured that we could make a form with Live Cycle Designer (Now Forms Central)...(back then something that was bundled with Adobe Acrobat Pro), I believe, and thats what this thing was authored in... and it would be all good...LOL!
    Well not so simple...as you well know, Adobe Acrobat would NOT LET YOU EMAIL anything from itself.....it just wouldn't work (and I know why, and all that hooey), but not being one to take NO for answer,.I started looking for a way to make my little gizmo work.. So I found this company that said they can "hijack" (re-direct actually) the request to email, bypass the wah-wah, and re-transmit it to the proper parties.....for less than $100 a year,  I think...its called http://pdf-fillableforms.com/.
    A nice gentleman named Joseph Silva helped us program the thing to go to his servers and back out. Please dont hassle them...I need them...for now..it basically does work...try it...you should get back a copy of the form that you filled out...good luck however,  if you're on MAC OSX or similar...
    I have included a copy of both of our forms (and feel free to fill it out and play with it)...just put test somewhere on it...(and you must include YOUR email or it will balk)..they are supposed to be mostly identical, except one seems to be twice as large....generating a 1.7 meg file upon submission, while the other one only generates a 600K file or so...thats another issue for another day or maybe you can advise on that also...
    OK so far so good......In our shop, once Grandma buys a 10 pack (or whatever), Only then she gets to the link on her receipt page ro the relevant "selection form" ,(this prevents "Filling and Sending"  with "no order" and "no payment", another early problem we had)... which they can click on and it will usually download and open up on their device if all goes well...Then our little form is supposed to be fillable and is supposed to ADD UP all the quantities, so grandma knows how many she is buying and so forth right on the fly,  and even while she changes her mind..., and IT'S LARGE so grandma can see it, and then it TOTALS it all up for them, ( cause remember, they can NOT add)..,  except there is a programming bug (mouse-click should be a mouse-up probably or something..) which makes you click in the blank spaces to get to a correct TOTAL...about 70-80% of our customers can enable all these features and usually the process completes without problems for them especially on PC's running Windows OS and Acrobat Reader X or XI...at least for most... Unfortunately it is still not the "seamless process" I would like or had envisioned for the other folks out there that do have trouble using our form....  Many folks report to us the following issues that we know of.  First of all it takes too much time to load up...We know its HUGE...is there anyway that you can see, to streamline this thing? I would love for it to be more compact...this really helps on the phones and pads as I'm sure you well know.
    Some just tell us,"it WON'T work"....I believe this is because they are totally out of it and dont even have Adobe Reader on their machine, & don't know how to get it ( yes, we provide the links).....or it's some ancient version....no one can stop this one...
    It almost always generates some kind ( at least one time)  of "error message" which we do warn them about..., telling one,  basically that "Acrobat doesnt even like this happening at all, and it could be detrimental to ones computer files", blah-blah...(this freaks grandma out really bad)...& usually they end up not even trying to send it...  and then I get calls that even you wouldn't believe...& If they DO nut up and push the Red "Submit Form" button, it will usually send the thing to us (and also back to them at the "required email address" they furnished on the form, thats what the folks at the "fillable forms place" do) so, if it's performing it's functions, why it is having to complain?. What are we doing wrong?....and how can I fix it?...Will re-compiling it or saving it as a newer version of "FormsCentral" correct any of these problems ?
    Ok, so that should keep you busy for a minute and we can start out with those problems...but the next thing is, how can I take advantage of YOUR re-direct & hosting services?, And will it get rid of the error messages, and the slowness, and the iOS incompatibilities ? (amazingly,  the last iOS Reader version worked almost OK.. but the newest version doesnt seem to work with my form on my iphone4)  If it will enable any version of the iOS to send my form correctly and more transparently, then it might be worth the money...$14.95 a MONTH you say. hmmmmm...Better be good.
    Another problem is, that I really don't need 5000 forms a month submitted. I think its like 70-100 or less....Got any plans for that?  Maybe I'm just not BIG ENOUGH to use Adobe's services, however in this case, I really don't care whose I do use as long as the product works most correctly for my customers as well as us. Like I said, If I'm doing the best I can, I won't change anything, and still use the other third party, If Adobe has a better solution, then i'm all for that as well. In the meantime, Thanks for any help you can provide on this...
    Michael Corman
    VinylCouture.com
    (706) 326-7911

  • Need help with calculator project for an assignment...

    Hi all, I please need help with my calculator project that I have to do for an assignment.
    Here is the project's specifications that I need to do"
    """Create a console calculator applicaion that:
    * Takes one command line argument: your name and surname. When the
    program starts, display the date and time with a welcome message for the
    user.
    * Display all the available options to the user. Your calculator must include
    the arithmetic operations as well as at least five scientific operations of the
    Math class.
    -Your program must also have the ability to round a number and
    truncate it.
    -When you multiply by 2, you should not use the '*' operator to perform the
    operation.
    -Your program must also be able to reverse the sign of a number.
    * Include sufficient error checking in your program to ensure that the user
    only enters valid input. Make use of the String; Character, and other
    wrapper classes to help you.
    * Your program must be able to do conversions between decimal, octal and
    hex numbers.
    * Make use of a menu. You should give the user the option to end the
    program when entering a certain option.
    * When the program exits, display a message for the user, stating the
    current time, and calculate and display how long the user used your
    program.
    * Make use of helper classes where possible.
    * Use the SDK to run your program."""
    When the program starts, it asks the user for his/her name and surname. I got the program to ask the user again and again for his/her name and surname
    when he/she doesn't insert anything or just press 'enter', but if the user enters a number for the name and surname part, the program continues.
    Now my question is this: How can I restrict the user to only enter 'letters' (and spaces of course) but allow NO numbers for his/her surname??
    Here is the programs code that I've written so far:
    {code}
    import java.io.*;
    import java.util.*;
    import java.text.*;
    public class Project {
         private static String nameSurname = "";     
         private static String num1 = null;
         private static String num2 = null;
         private static String choice1 = null;
         private static double answer = 0;
         private static String more;
         public double Add() {
              answer = (Double.parseDouble(num1) + Double.parseDouble(num2));
              return answer;
         public double Subtract() {
              answer = (Double.parseDouble(num1) - Double.parseDouble(num2));
              return answer;
         public double Multiply() {
              answer = (Double.parseDouble(num1) * Double.parseDouble(num2));
              return answer;
         public double Divide() {
              answer = (Double.parseDouble(num1) / Double.parseDouble(num2));
              return answer;
         public double Modulus() {
              answer = (Double.parseDouble(num1) % Double.parseDouble(num2));
              return answer;
         public double maximumValue() {
              answer = (Math.max(Double.parseDouble(num1), Double.parseDouble(num2)));
              return answer;
         public double minimumValue() {
              answer = (Math.min(Double.parseDouble(num1), Double.parseDouble(num2)));
              return answer;
         public double absoluteNumber1() {
              answer = (Math.abs(Double.parseDouble(num1)));
              return answer;
         public double absoluteNumber2() {
              answer = (Math.abs(Double.parseDouble(num2)));
              return answer;
         public double Squareroot1() {
              answer = (Math.sqrt(Double.parseDouble(num1)));
              return answer;
         public double Squareroot2() {
              answer = (Math.sqrt(Double.parseDouble(num2)));
              return answer;
         public static String octalEquivalent1() {
              int iNum1 = Integer.parseInt(num1);
    String octal1 = Integer.toOctalString(iNum1);
    return octal1;
         public static String octalEquivalent2() {
              int iNum2 = Integer.parseInt(num2);
              String octal2 = Integer.toOctalString(iNum2);
              return octal2;
         public static String hexadecimalEquivalent1() {
              int iNum1 = Integer.parseInt(num1);
              String hex1 = Integer.toHexString(iNum1);
              return hex1;
         public static String hexadecimalEquivalent2() {
              int iNum2 = Integer.parseInt(num2);
              String hex2 = Integer.toHexString(iNum2);
              return hex2;
         public double Round1() {
              answer = Math.round(Double.parseDouble(num1));
              return answer;
         public double Round2() {
              answer = Math.round(Double.parseDouble(num2));
              return answer;
              SimpleDateFormat format1 = new SimpleDateFormat("EEEE, dd MMMM yyyy");
         Date now = new Date();
         SimpleDateFormat format2 = new SimpleDateFormat("hh:mm a");
         static Date timeIn = new Date();
         public static long programRuntime() {
              Date timeInD = timeIn;
              long timeOutD = System.currentTimeMillis();
              long msec = timeOutD - timeInD.getTime();
              float timeHours = msec / 1000;
                   return (long) timeHours;
         DecimalFormat decimals = new DecimalFormat("#0.00");
         public String insertNameAndSurname() throws IOException{
              boolean inputCorrect = false;
                   while (inputCorrect == false) {
                        while (nameSurname == null || nameSurname.length() == 0) {
                             for (int i = 0; i < nameSurname.length(); i++) {
                             if ((nameSurname.charAt(i) > 'a') && (nameSurname.charAt(i) < 'Z')){
                                       inputCorrect = true;
                        else{
                        inputCorrect = false;
                        break;
                        try {
                             BufferedReader inStream = new BufferedReader (new InputStreamReader(System.in));
                             System.out.print("Please enter your name and surname: ");
                             nameSurname = inStream.readLine();
                             inputCorrect = true;
                        }catch (IOException ex) {
                             System.out.println("You did not enter your name and surname, " + nameSurname + " is not a name, please enter your name and surname :");
                             inputCorrect = false;
                        System.out.println("\nA warm welcome " + nameSurname + " ,todays date is: " + format1.format(now));
                        System.out.println("and the time is now exactly " + format2.format(timeIn) + ".");
                        return nameSurname;
              public String inputNumber1() throws IOException {
              boolean inputCorrect = false;
                   while (inputCorrect == false) {
                        try {
                             BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
                             System.out.print("\nPlease enter a number you want to do a calculation with and hit <ENTER>: ");
                             num1 = br.readLine();
                             double number1 = Double.parseDouble(num1);
                             System.out.println("\nThe number you have entered is: " + number1);
                             inputCorrect = true;
                        } catch (NumberFormatException nfe) {
                             System.out.println("\nYou did not enter a valid number: " + "\""+ num1 + "\" is not a number!!");
                             inputCorrect = false;
                        return num1;
         public String calculatorChoice() throws IOException {
              System.out.println("Please select an option of what you would like to do with this number from the menu below and hit <ENTER>: ");
              System.out.println("\n*********************************************");
              System.out.println("---------------------------------------------");
              System.out.println("Please select an option from the list below: ");
              System.out.println("---------------------------------------------");
              System.out.println("1 - Add");
              System.out.println("2 - Subtract");
              System.out.println("3 - Multiply");
              System.out.println("4 - Divide (remainder included)");
              System.out.println("5 - Maximum and minimum value of two numbers");
              System.out.println("6 - Squareroot");
              System.out.println("7 - Absolute value of numbers");
              System.out.println("8 - Octal and Hexadecimal equivalent of numbers");
              System.out.println("9 - Round numbers");
              System.out.println("0 - Exit program");
              System.out.println("**********************************************");
              boolean inputCorrect = false;
                   while (inputCorrect == false) {
                        try {
                             BufferedReader inStream = new BufferedReader (new InputStreamReader(System.in));
                             System.out.print("Please enter your option and hit <ENTER>: ");
                             choice1 = inStream.readLine();
                             int c1 = Integer.parseInt(choice1);
                             System.out.println("\nYou have entered choice number: " + c1);
                             inputCorrect = true;
                        } catch (NumberFormatException nfe) {
                             System.out.println("You did not enter a valid choice number: " + "\""+ choice1 + "\" is not in the list!!");
                             inputCorrect = false;
                        return choice1;
         public String inputNumber2() throws IOException {
              boolean inputCorrect = false;
                   while (inputCorrect == false) {
                        try {
                             BufferedReader br2 = new BufferedReader (new InputStreamReader(System.in));
                             System.out.print("\nPlease enter another number you want to do the calculation with and hit <ENTER>: ");
                             num2 = br2.readLine();
                             double n2 = Double.parseDouble(num2);
                             System.out.println("\nThe second number you have entered is: " + n2);
                             System.out.println("\nYour numbers are: " + num1 + " and " + num2);
                             inputCorrect = true;
                        } catch (NumberFormatException nfe) {
                             System.out.println("You did not enter a valid number: " + "\""+ num2 + "\" is not a number!!");
                             inputCorrect = false;
                        return num2;
         public int Calculator() {
              int choice2 = (int) Double.parseDouble(choice1);
              switch (choice2) {
                        case 1 :
                             Add();
                             System.out.print("The answer of " + num1 + " + " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 2 :
                             Subtract();
                             System.out.print("The answer of " + num1 + " - " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 3 :
                             Multiply();
                             System.out.print("The answer of " + num1 + " * " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 4 :
                             Divide();
                             System.out.print("The answer of " + num1 + " / " + num2 + " is: " + decimals.format(answer));
                             Modulus();
                             System.out.print(" and the remainder is " + decimals.format(answer));
                             break;
                        case 5 :
                             maximumValue();
                             System.out.println("The maximum number between the numbers " + num1 + " and " + num2 + " is: " + decimals.format(answer));
                             minimumValue();
                             System.out.println("The minimum number between the numbers " + num1 + " and " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 6 :
                             Squareroot1();
                             System.out.println("The squareroot of value " + num1 + " is: " + decimals.format(answer));
                             Squareroot2();
                             System.out.println("The squareroot of value " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 7 :
                             absoluteNumber1();
                             System.out.println("The absolute number of " + num1 + " is: " + decimals.format(answer));
                             absoluteNumber2();
                             System.out.println("The absolute number of " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 8 :
                             octalEquivalent1();
                             System.out.println("The octal equivalent of " + num1 + " is: " + octalEquivalent1());
                             octalEquivalent2();
                             System.out.println("The octal equivalent of " + num2 + " is: " + octalEquivalent2());
                             hexadecimalEquivalent1();
                             System.out.println("\nThe hexadecimal equivalent of " + num1 + " is: " + hexadecimalEquivalent1());
                             hexadecimalEquivalent2();
                             System.out.println("The hexadecimal equivalent of " + num2 + " is: " + hexadecimalEquivalent2());
                             break;
                        case 9 :
                             Round1();
                             System.out.println("The rounded number of " + num1 + " is: " + decimals.format(answer));
                             Round2();
                             System.out.println("The rounded number of " + num2 + " is: " + decimals.format(answer));
                             break;
                        case 0 :
                             if (choice2 == 0) {
                                  System.exit(1);
                             break;
                   return choice2;
              public String anotherCalculation() throws IOException {
                   boolean inputCorrect = false;
                   while (inputCorrect == false) {
                             try {                              
                                  BufferedReader br3 = new BufferedReader (new InputStreamReader(System.in));
                                  System.out.print("\nWould you like to do another calculation? Y/N ");
                                  more = br3.readLine();
                                  String s1 = "y";
                                  String s2 = "Y";
                                  if (more.equals(s1) || more.equals(s2)) {
                                       inputCorrect = true;
                                       while (inputCorrect = true){
                                            inputNumber1();
                                            System.out.println("");
                                            calculatorChoice();
                                            System.out.println("");
                                            inputNumber2();
                                            System.out.println("");
                                            Calculator();
                                            System.out.println("");
                                            anotherCalculation();
                                            System.out.println("");
                                            inputCorrect = true;
                                  } else {
                                       System.out.println("\n" + nameSurname + " thank you for using this program, you have used this program for: " + decimals.format(programRuntime()) + " seconds");
                                       System.out.println("the program will now exit, Goodbye.");
                                       System.exit(0);
                             } catch (IOException ex){
                                  System.out.println("You did not enter a valid answer: " + "\""+ more + "\" is not in the list!!");
                                  inputCorrect = false;
              return more;
         public static void main(String[] args) throws IOException {
              Project p1 = new Project();
              p1.insertNameAndSurname();
              System.out.println("");
              p1.inputNumber1();
              System.out.println("");
              p1.calculatorChoice();
              System.out.println("");
              p1.inputNumber2();
              System.out.println("");
              p1.Calculator();
                   System.out.println("");
                   p1.anotherCalculation();
                   System.out.println("");
    {code}
    *Can you please run my code for yourself and have a look at how this program is constructed*
    *and give me ANY feedback on how I can better this code(program) or if I've done anything wrong from your point of view.*
    Your help will be much appreciated.
    Thanks in advance

    Smirre wrote:
    Now my question is this: How can I restrict the user to only enter 'letters' (and spaces of course) but allow NO numbers for his/her surname??You cannot restrict the user. It is a sad fact in programming that the worst bug always sits in front of the Computer.
    What you could do is checking the input string for numbers. If it contains numbers, just reprompt for the Name.
    AND you might want to ask yourself why the heck a calculator needs to know the users Name.

  • Need help with almost completed plugin engine project

    Hi all,
    For a while now I have been working on a plugin engine. After a few iterations, the engine is similar to the Eclipse engine, in that plugins use extension points and extensions to allow contributions. Unlike the eclipse engine I have added the ability for plugins to fire events through the engine and other plugins can add listeners, all through the plugin.xml manifest. Dependencies are mostly handled automatically at plugin load time (when extensions get resolved to extension points, and listeners get resolved to events). For the case where a plugin needs to use classes from another plugin, dependencies are also allowed to be declared. Like the eclipse engine, activation of plugins occurs the first time a class is used within the plugin's classpath, OR a plugin can be activated after it is loaded.
    What I need help with is testing, working on examples to provide with the engine project, and feedback/suggestions before we release the M1 build. I am asking for those that are interested in this type of work to volunteer to help where applicable and possible. I want to provide a solid plugin engine to the java community, one that is easy to use, works well, and is pretty effecient in terms of resource usage and performance.
    Of particular interest to me right at the moment is dealing with multiple versions. As I see it, the engine will be used within an application and as such plugins would be distributed with a specific application version. The plugin version itself is more of a notification as to what version a plugin is, although I imagine it will help when updating at runtime as well.
    Just a few other details of the engine. It handles (or will soon) dynamic load, unload and reload of plugins at runtime. Plugins can be distributed in an archive file format, we call .par (Plugin ARchive), with additional plugin filename extensions configurable at runtime. The plugins can be developed and deployed in an expanded directory format as they are in Eclipse as well, or in the archive format. In the archive format they do not need to be unzipped when deployed, and they can contain embeded jar/zip libraries. The engine handles finding and creating classes directly out of the .par file at runtime.
    Multiple locations to find plugins are configurable before the engine starts, and even after it starts more could be added to allow additional locations to find plugins. URLs are supported, and soon the HTTP protocol will be supported so that plugins can be downloaded and installed at runtime.
    The project can be found at www.sourceforge.net/projects/genpluginengine. If you would like to get involved and help out, please sign up on the dev mail list and send an email to introduce yourself to the rest of the members on the list.
    I'll also add that I am working on a Swing UI Framework built entirely from plugins. It provides a ready-to-launce UI application that developers can simply add their plugins to, extending various extension points of the framework to have menu items, toolbar buttons, status bar access, help and preferences dialog additions, file i/o choosers, tons of open-source components ready to use (or extend to add on to), and like Eclipse, hopefully... draggable window frames that can be dropped on any other frame to form a tabbed frame of windows. Some of this is a ways off, some is getting there now. Presently you can add menu items that do allow plugin activation when first clicked, so plugins can be loaded but not activated until needed. The Preference dialog works but is not completed, and a plugin that adds a plugin control panel to view all loaded plugins, activate them, load/unload/reload, view extension points, extensions, dependencies, etc is partially completed. The point is, to allow a ready to run UI framework in Swing with an easy path for developers to quickly build applications with. If you are interested in this, when you join the mail list and introduce yourself, indicate that you are interested in this as well, as we need help with plugin development for it and would appreciate more help here too.
    Look forward to some replies.

    Might I suggest setting up a project at a known project-site? I've seen your progress and questions posted here from time to time, but one of the drawbacks is that you have to fill each post with the entirity of your vision to explain what you're doing. That's a lot of text to read - and most folks will skip right over it.
    On the other hand, a well-crafted, good-looking project web-site, with appropriate links and docs and vision statements, diagrams, etc. will have more likelyhood of attracting volunteers. java.net and sourceforge.net are likely spots to set up shop. In addition, you get CVS and bug-tracking systems, which can be quite valuable in such a large-scale project where there are lots of pieces.

  • HOW DO YOU GUYS DEAL WITH APPLE.. SO CONFUSING...NEED HELP WITH SPECS FOR PURCHASE OF IMAC 21.5

    Hi guys, been reading your forums, blogposts, etc and am getting more confused.  I'm just a video girl trying to produce meaningful content through web videos for small to mid sized businesses and want to come over from the dark side. 
    Good news,, I dont need a super giant system,  I do simple editing for web videos, minimal graphics, no motion graphics, no animation etc. currently using CS4, will probably end up with 5.5.
    I want to get imac 21.5 or 27 if i have to..  So here's the question we all have,,, what do I really need besides an Apple fairy godmother to figure this crazy stuff out?????
    I want to be able to have firewire add on, but the rest is what I need help with.   So i've been looking at cs6 specs, even though im not there yet, eventually will be,, so just need to run cs4 now and build from there.  I also want to eventually move to final cut down the road so I want imac able to upgrade to final cut.
    WHAT DO I REALLY NEED MINIMALLY FOR NOW?  WHAT CAN I GET LATER IF i CHOOSE TO DO MORE AND NEED MORE POWER?
    cs6:
    Multicore Intel processor with 64-bit support
    Mac OS X v10.6.8, v10.7, or v10.8**
    4GB of RAM (8GB recommended)
    4GB of available hard-disk space for installation; additional free space required during installation (cannot install on a volume that uses a case-sensitive file system or on removable flash storage devices)
    Additional disk space required for preview files and other working files (10GB recommended)
    1280x900 display
    7200 RPM hard drive (multiple fast disk drives, preferably RAID 0 configured, recommended)
    OpenGL 2.0–capable system
    DVD-ROM drive compatible with dual-layer DVDs (SuperDrive for burning DVDs; Blu-ray burner for creating Blu-ray Disc media)
    QuickTime 7.6.6 software required for QuickTime features
    Optional: Adobe-certified GPU card for GPU-accelerated performance
    Any responses would be great.  I know you guys are busy answering the really high end tech questions

    All the current iMac models (both 21.5" and 27" with OS X Mt. Lion 10.8) will run CS4, 5.5 and 6 just fine.  They will also run Final Cut Pro X just fine.  Ditto for most any application you may want to use.
    Below are some notes (specific to your apparent requirements) that may help you with your purchase decision:
    Notes on purchasing a 21.5" iMac
    All 21.5" iMacs come with 8GB RAM but you cannot add more later.  I strongly suggest getting the maximum RAM (16GB) when you order the iMac.
    The basic hard drive is a 1TB 5400rpm drive.  It will work fine with Adobe CS but you will probably want the added speed of the optional 1TB Fusion drive for better performance. Some people will recommend/argue for one of the optional SSD drives instead, but they are very expensive and still only come in relatively small capacities - I don't recommend the SSD drives.  Get the Fusion drive and spend any extra money on a good external hard drive for backup and/or extra storage instead of an SSD.
    Notes on purchasing a 27" iMac
    All 27" iMacs come with 8GB RAM and you can add more later, up to 32GB
    The basic hard drive is a 1TB 7200rpm drive - it will be fine with Adobe CS.  There are upgrade options to a 3TB 7200rpm drive or a 1TB or 3TB fusion drive - these will be fine also.  There are also SSD drive options, but I do not recommend them. (Same comments as above.)
    Notes on all the current iMacs
    iMacs no longer come with built-in CD/DVD drives.  If you need one, you will need to purchase the Apple Superdrive accessory drive ($79)
    All of the iMac graphic processors (GPU's) are compatible with Adobe CS 4, 5.5, 6
    It is very difficult to impossible to change or upgrade the hard drive later on, so don't buy low-end thinking you can add a better internal hard drive later.
    Be aware that Macs always come with the latest (most recent) version of OS X.  And OS X Mavericks (10.9) is due to be released soon (in the next month or two).  There is no guarantee that the older Adobe CS 4 or 5.5 versions will run on OS X Mavericks.  If you cannot upgrade to CS 6 in the near future, you may want to purchase now rather than after OS X Mavericks is released.
    For what it's worth, I'd recommend the 27" iMac if your budget can afford it.  You will appreciate the larger screen size and added capabilities over the years you will use the computer.

  • Need help with interface development

    Hi i need help with requirement below with developing interface between or online order system and sap plz lemme know what is bapi i use for creating customer, update and assigining partner id to costumer.
    SAP Development
    1.     Using standards SAP functional module (with BAPI), create interface that will create/change Ordering party customer in SAP. Following fields are mandatory for customer creation:
    •     MANDT     Client
    •     VKORG     Sales organization
    •     VTWEG     Distribution Channel
    •     SPART     Division
    •     KDGRP     Customer Group (= “ZORP)
    •     KUNNR     Customer number
    •     NAME1     Name 1
    •     NAME 2     Name 2 (if required)
    •     SORTL     Search term (short description)
    •     ZZALTKN     Search term 2 (old customer number)
    •     LAND1     Country
    •     ORT01     City
    •     PSTLZ      Zip Code
    •     REGIO      Region (state in USA)
    •     STRAS     Street
    •     TELF1     Primary telephone number
    •     TELFX     Primary Fax number
    •     ZZPRPLANS     Payment Plan
    •     CCINS     Payment card: Card type
    •     CCNUM     Payment cards: Card number
    •     CCDEF     Payment Card: Default Card Indicator
    •     ZBDGID     Customer Budget ID
    •     ZHOLD     Budget Hold indicator
    •     ZZCOSTCENT     Cost Center
    2.     Upon successful customer creation system will issues “S” (success) message that customer has been created.
    3.     New ordering party customer created in step ½, will have to be assigned as new partner to its belonging Sold-to/Ship-to customer. Use standard SAP customer functional module in order to perform this partner ID assignment. Partner ID for ordering party should be “ZO”.
    1.7     Enhancement Functionality
    Apart from creating a new interface to do the required functionality, the Order Create Interface also has to be changed to accommodate a field to pass the Ordering Party Number on the Order. The technicalities of how we are going to implement the interface will be laid out in the Tech Specs.
    Thanks
    in advance

    You have double posted, please mark this one as "solved on my own" and refer to this thread
    need help with interface development
    Regards,
    Rich Heilman

  • Need help with reviewing in acrobat professional 8.0

    Hi,
    I need help with reviewing in adobe acrobat professional 8.0 for windows.
    When I click in Edit->Preferences->Reviewing I choose Network folder and in browse button I select the network folder.
    It´s ok, but when I restart the computer, the configuration of reviewing dissapear.
    Any sugestion for solve this problem?

    The closest I came was:
    // Custom calculation script
    (function () {
        // Get the field values, as strings
        var s1 = getField("Charged").valueAsString;
        var s2 = getField("Reduction").valueAsString;
        // Perform the calculation if both fields are not blank
        // and Charged is not zero
        if (s1 && s2 && +s1 !==  0) {
            event.value = 100 * (+s1 - +s2) / +s1;
        } else {
            event.value = "";
    which I got from another thread. It works, but the result tends to have a - before the number. Also when I use the formatting in acrobat and select percentage the decimal placement gets confusing. I'm creating this form for a bunch of morons in my HR department so extraneous numbers makes them confused. I need the most simplified result possible.

  • Need help with BARS 4.0.12 - 4.0.13 upgrade

    Hello,
    I'm a VoIP noob and need help with a BARS upgrade. To resolve a known problem (Bug #CSCsi32637) we need to upgrade BARS from 4.0.12 to 4.0.13. This is per TAC. However, no one in our company has done this before. I've reviewed the 4.0.12 Admin Guide since I was unable to find any admin docs for 4.0.13. However, I have several questions about this upgrade that hopefully someone here can help with:
    1) The install for 4.0.12 requires a reboot of the server. Is this the same for 4.0.13?
    2) CCM version is 4.1(3)sr6; any problems known with BARS 4.0.13 and this version of CCM? I didn't see
    anything in the Rel Notes or via the Bug Toolkit (figure it never hurts to ask).
    3) Will the previously input configuration settings (i.e., Data Source Servers, Storage Location, Schedule) be preserved or will I have to reinput these settings?
    4) Any known issues with performing this upgrade while controlling the server via VNC?
    5) The 4.0.12 docs state that "To successfully back up the Cisco Unified CallManager database, the backup server and backup targets must exist in the same cluster and have the same version of BARS installed". So BARS must be installed on my publisher (the Backup Server) AND my three subscribers? I'm not finding BARS on these subscribers now.
    Many Thanks for any input,
    Brian Read

    1) Yes, any version requires reboot after install
    2) not that i'm aware of
    4) you'll need to reconfigure it
    5) no
    6) although it's recommended there is no real need to backup any other server than the PUB which contains the master DB, any SUB only needs to pull the info from PUB in case of crash and reinstall
    HTH
    java
    if this helps, please rate

  • Need help with JTextArea and Scrolling

    import java.awt.*;
    import java.awt.event.*;
    import java.text.DecimalFormat;
    import javax.swing.*;
    public class MORT_RETRY extends JFrame implements ActionListener
    private JPanel keypad;
    private JPanel buttons;
    private JTextField lcdLoanAmt;
    private JTextField lcdInterestRate;
    private JTextField lcdTerm;
    private JTextField lcdMonthlyPmt;
    private JTextArea displayArea;
    private JButton CalculateBtn;
    private JButton ClrBtn;
    private JButton CloseBtn;
    private JButton Amortize;
    private JScrollPane scroll;
    private DecimalFormat calcPattern = new DecimalFormat("$###,###.00");
    private String[] rateTerm = {"", "7years @ 5.35%", "15years @ 5.5%", "30years @ 5.75%"};
    private JComboBox rateTermList;
    double interest[] = {5.35, 5.5, 5.75};
    int term[] = {7, 15, 30};
    double balance, interestAmt, monthlyInterest, monthlyPayment, monPmtInt, monPmtPrin;
    int termInMonths, month, termLoop, monthLoop;
    public MORT_RETRY()
    Container pane = getContentPane();
    lcdLoanAmt = new JTextField();
    lcdMonthlyPmt = new JTextField();
    displayArea = new JTextArea();//DEFINE COMBOBOX AND SCROLL
    rateTermList = new JComboBox(rateTerm);
    scroll = new JScrollPane(displayArea);
    scroll.setSize(600,170);
    scroll.setLocation(150,270);//DEFINE BUTTONS
    CalculateBtn = new JButton("Calculate");
    ClrBtn = new JButton("Clear Fields");
    CloseBtn = new JButton("Close");
    Amortize = new JButton("Amortize");//DEFINE PANEL(S)
    keypad = new JPanel();
    buttons = new JPanel();//DEFINE KEYPAD PANEL LAYOUT
    keypad.setLayout(new GridLayout( 4, 2, 5, 5));//SET CONTROLS ON KEYPAD PANEL
    keypad.add(new JLabel("Loan Amount$ : "));
    keypad.add(lcdLoanAmt);
    keypad.add(new JLabel("Term of loan and Interest Rate: "));
    keypad.add(rateTermList);
    keypad.add(new JLabel("Monthly Payment : "));
    keypad.add(lcdMonthlyPmt);
    lcdMonthlyPmt.setEditable(false);
    keypad.add(new JLabel("Amortize Table:"));
    keypad.add(displayArea);
    displayArea.setEditable(false);//DEFINE BUTTONS PANEL LAYOUT
    buttons.setLayout(new GridLayout( 1, 3, 5, 5));//SET CONTROLS ON BUTTONS PANEL
    buttons.add(CalculateBtn);
    buttons.add(Amortize);
    buttons.add(ClrBtn);
    buttons.add(CloseBtn);//ADD ACTION LISTENER
    CalculateBtn.addActionListener(this);
    ClrBtn.addActionListener(this);
    CloseBtn.addActionListener(this);
    Amortize.addActionListener(this);
    rateTermList.addActionListener(this);//ADD PANELS
    pane.add(keypad, BorderLayout.NORTH);
    pane.add(buttons, BorderLayout.SOUTH);
    pane.add(scroll, BorderLayout.CENTER);
    addWindowListener( new WindowAdapter()
    public void windowClosing(WindowEvent e)
    System.exit(0);
    public void actionPerformed(ActionEvent e)
    String arg = lcdLoanAmt.getText();
    int combined = Integer.parseInt(arg);
    if (e.getSource() == CalculateBtn)
    try
    JOptionPane.showMessageDialog(null, "Got try here", "Error", JOptionPane.ERROR_MESSAGE);
    catch(NumberFormatException ev)
    JOptionPane.showMessageDialog(null, "Got here", "Error", JOptionPane.ERROR_MESSAGE);
    if ((e.getSource() == CalculateBtn) && (arg != null))
    try{
    if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 1))
    monthlyInterest = interest[0] / (12 * 100);
    termInMonths = term[0] * 12;
    monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest,  -termInMonths))));
    lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
    if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 2))
    monthlyInterest = interest[1] / (12 * 100);
    termInMonths = term[1] * 12;
    monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest,  -termInMonths))));
    lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
    if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 3))
    monthlyInterest = interest[2] / (12 * 100);
    termInMonths = term[2] * 12;
    monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest,  -termInMonths))));
    lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
    catch(NumberFormatException ev)
    JOptionPane.showMessageDialog(null, "Invalid Entry!\nPlease Try Again", "Error", JOptionPane.ERROR_MESSAGE);
    }                    //IF STATEMENTS FOR AMORTIZATION
    if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 1))
    loopy(7, 5.35);
    if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 2))
    loopy(15, 5.5);
    if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 3))
    loopy(30, 5.75);
    if (e.getSource() == ClrBtn)
    rateTermList.setSelectedIndex(0);
    lcdLoanAmt.setText(null);
    lcdMonthlyPmt.setText(null);
    displayArea.setText(null);
    if (e.getSource() == CloseBtn)
    System.exit(0);
    private void loopy(int lTerm,double lInterest)
    double total, monthly, monthlyrate, monthint, monthprin, balance, lastint, paid;
    int amount, months, termloop, monthloop;
    String lcd2 = lcdLoanAmt.getText();
    amount = Integer.parseInt(lcd2);
    termloop = 1;
    paid = 0.00;
    monthlyrate = lInterest / (12 * 100);
    months = lTerm * 12;
    monthly = amount *(monthlyrate/(1-Math.pow(1+monthlyrate,-months)));
    total = months * monthly;
    balance = amount;
    while (termloop <= lTerm)
    displayArea.setCaretPosition(0);
    displayArea.append("\n");
    displayArea.append("Year " + termloop + " of " + lTerm + ": payments\n");
    displayArea.append("\n");
    displayArea.append("Month\tMonthly\tPrinciple\tInterest\tBalance\n");
    monthloop = 1;
    while (monthloop <= 12)
    monthint = balance * monthlyrate;
    monthprin = monthly - monthint;
    balance -= monthprin;
    paid += monthly;
    displayArea.setCaretPosition(0);
    displayArea.append(monthloop + "\t" + calcPattern.format(monthly) + "\t" + calcPattern.format(monthprin) + "\t");
    displayArea.append(calcPattern.format(monthint) + "\t" + calcPattern.format(balance) + "\n");
    monthloop ++;
    termloop ++;
    public static void main(String args[])
    MORT_RETRY f = new MORT_RETRY();
    f.setTitle("MORTGAGE PAYMENT CALCULATOR");
    f.setBounds(600, 600, 500, 500);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
    }need help with displaying the textarea correctly and the scroll bar please.
    Message was edited by:
    new2this2020

    What's the problem you're having ???
    PS.

  • Need help with trim and null function

    Hi all,
    I need help with a query. I use the trim function to get the first three characters of a string. How do I write my query so if a null value occurs in combination with my trim to say 'Null' in my results?
    Thanks

    Hi,
    Thanks for the reply. What am I doing wrong?
    SELECT trim(SUBSTR(AL1.user_data_text,1,3)),NVL
    (AL1.user_data_text,'XX')
    FROM Table
    I want the XX to appear in the same column as the
    trim.The main thing you're doing wrong is not formatting your code. The solution may become obvious if you do.
    What you're saying is:
    SELECT  trim ( SUBSTR (AL1.user_data_text, 1, 3))
    ,       NVL ( AL1.user_data_text, 'XX' )
    FROM    Tablewhich makes it clear that you're SELECTing two columns, when you only want to have one.
    If you want that column to be exactly like the first column you're currently SELECTing, except that when that column is NULL you want it to be 'XX', then you have to apply NVL to that column, like this:
    SELECT  NVL ( trim ( SUBSTR (AL1.user_data_text, 1, 3))
                , 'XX'
    FROM    Table

Maybe you are looking for

  • How can I change an NC Code for a scrapped SFC

    Is it possible to change the NC COde for a scrapped sfc without changing anything else?

  • What is the quickest way to access the Settings on an iPad?

    What is the quickest way to access the Settings on an iPad? (I mean, the usual cogwheel "app" called Settings) In particular, I'm looking for a quicker way (or a more convenient one) to access it from an open application, than hitting the "home" butt

  • Document splitting affecting posting

    Hi, While executing the postings through TBB1, getting error "Balancing field Profit Center in line item 001 not filled". Also tried maintaining a default Profit center for the Forex Position account through 3KEH. Pls help..

  • 8703 deleting email account name from menu

    I deleted an email account from BIS, but the account name is still showing up on my main menu screen.  Does anyone know how to delete the name?  Thanks.

  • Buying Microsoft Office 2004 on Ebay?

    I am looking into buying Microsoft Office 2004 for my MBP and I'm looking for the best deal. On my search, I have found a number of them on Ebay, selling for really cheap. Some of the MS Office software being sold is opened (and has apparently been u