Pointers needed for JTree Table based GUI

Hi i am designing a swings JTreeTable based UI in which i have to make 3 columns the first column will have JTree and the rest two cols will have JCheckbox.The first column will be populated with vector..can any one please provide pointers to such GUI i mean some sample code examples...

Take a look to this:
[http://java.dzone.com/news/taking-new-swing-tree-table-a-|http://java.dzone.com/news/taking-new-swing-tree-table-a-]
I did something like that (a JTreeTable with a tree at the first column and colored cells in the rest). It uses a netbeans library, but it might work for you as well.
Good luck!

Similar Messages

  • Pagination query help needed for large table - force a different index

    I'm using a slight modification of the pagination query from over at Ask Tom's: [http://www.oracle.com/technology/oramag/oracle/07-jan/o17asktom.html]
    Mine looks like this when fetching the first 100 rows of all members with last name Smith, ordered by join date:
    SELECT members.*
    FROM members,
        SELECT RID, rownum rnum
        FROM
            SELECT rowid as RID
            FROM members
            WHERE last_name = 'Smith'
            ORDER BY joindate
        WHERE rownum <= 100
    WHERE rnum >= 1
             and RID = members.rowidThe difference between this and the one at Ask Tom's is that my innermost query just returns the ROWID. Then in the outermost query we join the ROWIDs returned to the members table, after we have pruned the ROWIDs down to only the chunk of 100 we want. This makes it MUCH faster (verifiably) on our large tables, as it is able to use the index on the innermost query (well... read on).
    The problem I have is this:
    SELECT rowid as RID
    FROM members
    WHERE last_name = 'Smith'
    ORDER BY joindateThis will use the index for the predicate column (last_name) instead of the unique index I have defined for the joindate column (joindate, sequence). (Verifiable with explain plan). It is much slower this way on a large table. So I can hint it using either of the following methods:
    SELECT /*+ index(members, joindate_idx) */ rowid as RID
    FROM members
    WHERE last_name = 'Smith'
    ORDER BY joindate
    SELECT /*+ first_rows(100) */ rowid as RID
    FROM members
    WHERE last_name = 'Smith'
    ORDER BY joindateEither way, it now uses the index of the ORDER BY column (joindate_idx), so now it is much faster as it does not have to do a sort (remember, VERY large table, millions of records). So that seems good. But now, on my outermost query, I join the rowid with the meaningful columns of data from the members table, as commented below:
    SELECT members.*      -- Select all data from members table
    FROM members,           -- members table added to FROM clause
        SELECT RID, rownum rnum
        FROM
            SELECT /*+ index(members, joindate_idx) */ rowid as RID   -- Hint is ignored now that I am joining in the outer query
            FROM members
            WHERE last_name = 'Smith'
            ORDER BY joindate
        WHERE rownum <= 100
    WHERE rnum >= 1
            and RID = members.rowid           -- Merge the members table on the rowid we pulled from the inner queriesOnce I do this join, it goes back to using the predicate index (last_name) and has to perform the sort once it finds all matching values (which can be a lot in this table, there is high cardinality on some columns).
    So my question is, in the full query above, is there any way I can get it to use the ORDER BY column for indexing to prevent it from having to do a sort? The join is what causes it to revert back to using the predicate index, even with hints. Remove the join and just return the ROWIDs for those 100 records and it flies, even on 10 million records.
    It'd be great if there was some generic hint that could accomplish this, such that if we change the table/columns/indexes, we don't need to change the hint (the FIRST_ROWS hint is a good example of this, while the INDEX hint is the opposite), but any help would be appreciated. I can provide explain plans for any of the above if needed.
    Thanks!

    Lakmal Rajapakse wrote:
    OK here is an example to illustrate the advantage:
    SQL> set autot traceonly
    SQL> select * from (
    2  select a.*, rownum x  from
    3  (
    4  select a.* from aoswf.events a
    5  order by EVENT_DATETIME
    6  ) a
    7  where rownum <= 1200
    8  )
    9  where x >= 1100
    10  /
    101 rows selected.
    Execution Plan
    Plan hash value: 3711662397
    | Id  | Operation                      | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |            |  1200 |   521K|   192   (0)| 00:00:03 |
    |*  1 |  VIEW                          |            |  1200 |   521K|   192   (0)| 00:00:03 |
    |*  2 |   COUNT STOPKEY                |            |       |       |            |          |
    |   3 |    VIEW                        |            |  1200 |   506K|   192   (0)| 00:00:03 |
    |   4 |     TABLE ACCESS BY INDEX ROWID| EVENTS     |   253M|    34G|   192   (0)| 00:00:03 |
    |   5 |      INDEX FULL SCAN           | EVEN_IDX02 |  1200 |       |     2   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    1 - filter("X">=1100)
    2 - filter(ROWNUM<=1200)
    Statistics
    0  recursive calls
    0  db block gets
    443  consistent gets
    0  physical reads
    0  redo size
    25203  bytes sent via SQL*Net to client
    281  bytes received via SQL*Net from client
    8  SQL*Net roundtrips to/from client
    0  sorts (memory)
    0  sorts (disk)
    101  rows processed
    SQL>
    SQL>
    SQL> select * from aoswf.events a, (
    2  select rid, rownum x  from
    3  (
    4  select rowid rid from aoswf.events a
    5  order by EVENT_DATETIME
    6  ) a
    7  where rownum <= 1200
    8  ) b
    9  where x >= 1100
    10  and a.rowid = rid
    11  /
    101 rows selected.
    Execution Plan
    Plan hash value: 2308864810
    | Id  | Operation                   | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |            |  1200 |   201K|   261K  (1)| 00:52:21 |
    |   1 |  NESTED LOOPS               |            |  1200 |   201K|   261K  (1)| 00:52:21 |
    |*  2 |   VIEW                      |            |  1200 | 30000 |   260K  (1)| 00:52:06 |
    |*  3 |    COUNT STOPKEY            |            |       |       |            |          |
    |   4 |     VIEW                    |            |   253M|  2895M|   260K  (1)| 00:52:06 |
    |   5 |      INDEX FULL SCAN        | EVEN_IDX02 |   253M|  4826M|   260K  (1)| 00:52:06 |
    |   6 |   TABLE ACCESS BY USER ROWID| EVENTS     |     1 |   147 |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("X">=1100)
    3 - filter(ROWNUM<=1200)
    Statistics
    8  recursive calls
    0  db block gets
    117  consistent gets
    0  physical reads
    0  redo size
    27539  bytes sent via SQL*Net to client
    281  bytes received via SQL*Net from client
    8  SQL*Net roundtrips to/from client
    0  sorts (memory)
    0  sorts (disk)
    101  rows processed
    Lakmal (and OP),
    Not sure what advantage you are trying to show here. But considering that we are talking about pagination query here and order of records is important, your 2 queries will not always generate output in same order. Here is the test case:
    SQL> select * from v$version ;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      10.2.0.1
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    SQL> show parameter pga
    NAME                                 TYPE        VALUE
    pga_aggregate_target                 big integer 103M
    SQL> create table t nologging as select * from all_objects where 1 = 2 ;
    Table created.
    SQL> create index t_idx on t(last_ddl_time) nologging ;
    Index created.
    SQL> insert /*+ APPEND */ into t (owner, object_name, object_id, created, last_ddl_time) select owner, object_name, object_id, created, sysdate - dbms_random.value(1, 100) from all_objects order by dbms_random.random;
    40617 rows created.
    SQL> commit ;
    Commit complete.
    SQL> exec dbms_stats.gather_table_stats(user, 'T', cascade=>true);
    PL/SQL procedure successfully completed.
    SQL> select object_id, object_name, created from t, (select rid, rownum rn from (select rowid rid from t order by created desc) where rownum <= 1200) t1 where rn >= 1190 and t.rowid = t1.rid ;
    OBJECT_ID OBJECT_NAME                    CREATED
         47686 ALL$OLAP2_JOIN_KEY_COLUMN_USES 28-JUL-2009 08:08:39
         47672 ALL$OLAP2_CUBE_DIM_USES        28-JUL-2009 08:08:39
         47681 ALL$OLAP2_CUBE_MEASURE_MAPS    28-JUL-2009 08:08:39
         47682 ALL$OLAP2_FACT_LEVEL_USES      28-JUL-2009 08:08:39
         47685 ALL$OLAP2_AGGREGATION_USES     28-JUL-2009 08:08:39
         47692 ALL$OLAP2_CATALOGS             28-JUL-2009 08:08:39
         47665 ALL$OLAPMR_FACTTBLKEYMAPS      28-JUL-2009 08:08:39
         47688 ALL$OLAP2_DIM_LEVEL_ATTR_MAPS  28-JUL-2009 08:08:39
         47689 ALL$OLAP2_DIM_LEVELS_KEYMAPS   28-JUL-2009 08:08:39
         47669 ALL$OLAP9I2_HIER_DIMENSIONS    28-JUL-2009 08:08:39
         47666 ALL$OLAP9I1_HIER_DIMENSIONS    28-JUL-2009 08:08:39
    11 rows selected.
    SQL> select object_id, object_name, last_ddl_time from t, (select rid, rownum rn from (select rowid rid from t order by last_ddl_time desc) where rownum <= 1200) t1 where rn >= 1190 and t.rowid = t1.rid ;
    OBJECT_ID OBJECT_NAME                    LAST_DDL_TIME
         11749 /b9fe5b99_OraRTStatementComman 06-FEB-2010 03:43:49
         13133 oracle/jdbc/driver/OracleLog$3 06-FEB-2010 03:45:44
         37534 com/sun/mail/smtp/SMTPMessage  06-FEB-2010 03:46:14
         36145 /4e492b6f_SerProfileToClassErr 06-FEB-2010 03:11:09
         26815 /7a628fb8_DefaultHSBChooserPan 06-FEB-2010 03:26:55
         16695 /2940a364_RepIdDelegator_1_3   06-FEB-2010 03:38:17
         36539 sun/io/ByteToCharMacHebrew     06-FEB-2010 03:28:57
         14044 /d29b81e1_OldHeaders           06-FEB-2010 03:12:12
         12920 /25f8f3a5_BasicSplitPaneUI     06-FEB-2010 03:11:06
         42266 SI_GETCLRHSTGRFTR              06-FEB-2010 03:40:20
         15752 /2f494dce_JDWPThreadReference  06-FEB-2010 03:09:31
    11 rows selected.
    SQL> select object_id, object_name, last_ddl_time from (select t1.*, rownum rn from (select * from t order by last_ddl_time desc) t1 where rownum <= 1200) where rn >= 1190 ;
    OBJECT_ID OBJECT_NAME                    LAST_DDL_TIME
         37534 com/sun/mail/smtp/SMTPMessage  06-FEB-2010 03:46:14
         13133 oracle/jdbc/driver/OracleLog$3 06-FEB-2010 03:45:44
         11749 /b9fe5b99_OraRTStatementComman 06-FEB-2010 03:43:49
         42266 SI_GETCLRHSTGRFTR              06-FEB-2010 03:40:20
         16695 /2940a364_RepIdDelegator_1_3   06-FEB-2010 03:38:17
         36539 sun/io/ByteToCharMacHebrew     06-FEB-2010 03:28:57
         26815 /7a628fb8_DefaultHSBChooserPan 06-FEB-2010 03:26:55
         14044 /d29b81e1_OldHeaders           06-FEB-2010 03:12:12
         36145 /4e492b6f_SerProfileToClassErr 06-FEB-2010 03:11:09
         12920 /25f8f3a5_BasicSplitPaneUI     06-FEB-2010 03:11:06
         15752 /2f494dce_JDWPThreadReference  06-FEB-2010 03:09:31
    11 rows selected.
    SQL> select object_id, object_name, last_ddl_time from t, (select rid, rownum rn from (select rowid rid from t order by last_ddl_time desc) where rownum <= 1200) t1 where rn >= 1190 and t.rowid = t1.rid order by last_ddl_time desc ;
    OBJECT_ID OBJECT_NAME                    LAST_DDL_TIME
         37534 com/sun/mail/smtp/SMTPMessage  06-FEB-2010 03:46:14
         13133 oracle/jdbc/driver/OracleLog$3 06-FEB-2010 03:45:44
         11749 /b9fe5b99_OraRTStatementComman 06-FEB-2010 03:43:49
         42266 SI_GETCLRHSTGRFTR              06-FEB-2010 03:40:20
         16695 /2940a364_RepIdDelegator_1_3   06-FEB-2010 03:38:17
         36539 sun/io/ByteToCharMacHebrew     06-FEB-2010 03:28:57
         26815 /7a628fb8_DefaultHSBChooserPan 06-FEB-2010 03:26:55
         14044 /d29b81e1_OldHeaders           06-FEB-2010 03:12:12
         36145 /4e492b6f_SerProfileToClassErr 06-FEB-2010 03:11:09
         12920 /25f8f3a5_BasicSplitPaneUI     06-FEB-2010 03:11:06
         15752 /2f494dce_JDWPThreadReference  06-FEB-2010 03:09:31
    11 rows selected.
    SQL> set autotrace traceonly
    SQL> select object_id, object_name, last_ddl_time from t, (select rid, rownum rn from (select rowid rid from t order by last_ddl_time desc) where rownum <= 1200) t1 where rn >= 1190 and t.rowid = t1.rid order by last_ddl_time desc
      2  ;
    11 rows selected.
    Execution Plan
    Plan hash value: 44968669
    | Id  | Operation                       | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT                |       |  1200 | 91200 |   180   (2)| 00:00:03 |
    |   1 |  SORT ORDER BY                  |       |  1200 | 91200 |   180   (2)| 00:00:03 |
    |*  2 |   HASH JOIN                     |       |  1200 | 91200 |   179   (2)| 00:00:03 |
    |*  3 |    VIEW                         |       |  1200 | 30000 |    98   (0)| 00:00:02 |
    |*  4 |     COUNT STOPKEY               |       |       |       |            |          |
    |   5 |      VIEW                       |       | 40617 |   475K|    98   (0)| 00:00:02 |
    |   6 |       INDEX FULL SCAN DESCENDING| T_IDX | 40617 |   793K|    98   (0)| 00:00:02 |
    |   7 |    TABLE ACCESS FULL            | T     | 40617 |  2022K|    80   (2)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("T".ROWID="T1"."RID")
       3 - filter("RN">=1190)
       4 - filter(ROWNUM<=1200)
    Statistics
              1  recursive calls
              0  db block gets
            348  consistent gets
              0  physical reads
              0  redo size
           1063  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              1  sorts (memory)
              0  sorts (disk)
             11  rows processed
    SQL> select object_id, object_name, last_ddl_time from (select t1.*, rownum rn from (select * from t order by last_ddl_time desc) t1 where rownum <= 1200) where rn >= 1190 ;
    11 rows selected.
    Execution Plan
    Plan hash value: 882605040
    | Id  | Operation                | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT         |      |  1200 | 62400 |    80   (2)| 00:00:01 |
    |*  1 |  VIEW                    |      |  1200 | 62400 |    80   (2)| 00:00:01 |
    |*  2 |   COUNT STOPKEY          |      |       |       |            |          |
    |   3 |    VIEW                  |      | 40617 |  1546K|    80   (2)| 00:00:01 |
    |*  4 |     SORT ORDER BY STOPKEY|      | 40617 |  2062K|    80   (2)| 00:00:01 |
    |   5 |      TABLE ACCESS FULL   | T    | 40617 |  2062K|    80   (2)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("RN">=1190)
       2 - filter(ROWNUM<=1200)
       4 - filter(ROWNUM<=1200)
    Statistics
              0  recursive calls
              0  db block gets
            343  consistent gets
              0  physical reads
              0  redo size
           1063  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              1  sorts (memory)
              0  sorts (disk)
             11  rows processed
    SQL> select object_id, object_name, last_ddl_time from t, (select rid, rownum rn from (select rowid rid from t order by last_ddl_time desc) where rownum <= 1200) t1 where rn >= 1190 and t.rowid = t1.rid ;
    11 rows selected.
    Execution Plan
    Plan hash value: 168880862
    | Id  | Operation                      | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT               |       |  1200 | 91200 |   179   (2)| 00:00:03 |
    |*  1 |  HASH JOIN                     |       |  1200 | 91200 |   179   (2)| 00:00:03 |
    |*  2 |   VIEW                         |       |  1200 | 30000 |    98   (0)| 00:00:02 |
    |*  3 |    COUNT STOPKEY               |       |       |       |            |          |
    |   4 |     VIEW                       |       | 40617 |   475K|    98   (0)| 00:00:02 |
    |   5 |      INDEX FULL SCAN DESCENDING| T_IDX | 40617 |   793K|    98   (0)| 00:00:02 |
    |   6 |   TABLE ACCESS FULL            | T     | 40617 |  2022K|    80   (2)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("T".ROWID="T1"."RID")
       2 - filter("RN">=1190)
       3 - filter(ROWNUM<=1200)
    Statistics
              0  recursive calls
              0  db block gets
            349  consistent gets
              0  physical reads
              0  redo size
           1063  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
             11  rows processed
    SQL> select object_id, object_name, last_ddl_time from (select t1.*, rownum rn from (select * from t order by last_ddl_time desc) t1 where rownum <= 1200) where rn >= 1190 order by last_ddl_time desc ;
    11 rows selected.
    Execution Plan
    Plan hash value: 882605040
    | Id  | Operation           | Name | Rows     | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |     |  1200 | 62400 |    80   (2)| 00:00:01 |
    |*  1 |  VIEW                |     |  1200 | 62400 |    80   (2)| 00:00:01 |
    |*  2 |   COUNT STOPKEY       |     |     |     |          |          |
    |   3 |    VIEW            |     | 40617 |  1546K|    80   (2)| 00:00:01 |
    |*  4 |     SORT ORDER BY STOPKEY|     | 40617 |  2062K|    80   (2)| 00:00:01 |
    |   5 |      TABLE ACCESS FULL      | T     | 40617 |  2062K|    80   (2)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("RN">=1190)
       2 - filter(ROWNUM<=1200)
       4 - filter(ROWNUM<=1200)
    Statistics
         175  recursive calls
           0  db block gets
         388  consistent gets
           0  physical reads
           0  redo size
           1063  bytes sent via SQL*Net to client
         385  bytes received via SQL*Net from client
           2  SQL*Net roundtrips to/from client
           4  sorts (memory)
           0  sorts (disk)
          11  rows processed
    SQL> set autotrace off
    SQL> spool offAs you will see, the join query here has to have an ORDER BY clause at the end to ensure that records are correctly sorted. You can not rely on optimizer choosing NESTED LOOP join method and, as above example shows, when optimizer chooses HASH JOIN, oracle is free to return rows in no particular order.
    The query that does not involve join always returns rows in the desired order. Adding an ORDER BY does add a step in the plan for the query using join but does not affect the other query.

  • Query Needed for Partitioning table

    Hi,
    I have created a table called Test. There is a column named business_name.
    There are several businesses like ABC,BCD,ADE....
    There will be lakhs of rows corresponding to each business, i mean there will be lakhs of entires corresponding to ABC,BCD....
    So i like to partition the table according to business_name so that the search will be more faster.As we had partitioned according to the business_name, i hope we need to search only on the partition corresponding to the particular business.
    can any one provide the Query to partition the table ' TEST ' according to the column ' business_name ' .
    Also can anyone provide Query to modify the already existing table ' TEST ' to incorporate partition for the column ' business_name '.

    We can partiton a table by the following
    create table Generalledger (
         record_id     number,
         business_name     varchar2(3)
         sales_dt     date,
         amount     number(10)
    partition by list (business_name)
    partition ct values ('ABC'),
    partition ca values ('BCD'),
    partition def values (default)
    But if we dont know the values like 'ABC' , 'BCD'
    ....how can we do the partitionuse SQL to generate part (or all) of your DDL statement. The following will output one partition statement for each business_name:
    SELECT DISTINCT 'partition p_' || BUSINESS_NAME || ' values (''' ||
                     BUSINESS_NAME || '''),'
    FROM GENERALLEDGER;

  • Need for Invoice Table

    What are the tables are included for return delivery(T-Code - MIGO)? In that, particularly Invioce of purchase order has Tax code, after click the taxes button it displays condition types, amount and condition value. I need the table name for these taxes.

    Hello Raja!
    You can use Performance Assistant (F1 Key) and then Technical Information to find tables for certain screen fields.
    If these fields correspond to structures instead of tables you can use tcode ST05 to find the tables accessed by the system while performing some actions in the system.
    Apart from the help you need, please, try to post your thread in the right place in the Forum. This forum discusses ABAP Objects and i guess your problem is related to "ABAP Dictionary" Forum.
    Regards,

  • What is the need for planning table.

    can anybody explain me about planning table, how and where to use that..

    Dear
    Use of planning table :
    1.Capacity Requirement Planning in Discrete and PP-PI indistutry
    2.For demanad management , you can create PIR and also generate MTS production order based on planned order for those PIR
    3.Decision making on CRP in planning table for operation dispatch , work centre , scheduling , detail scheduling , time , dates of capacity avalution is possible through Planning table under particular overall profile .
    refer : Use of Planning Table (MF50) in Capacity Levelling with Production Order
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PPCRPPPPI/PPCRP_PPPI.pdf
    Regards
    JH

  • Update sql help needed for hierarchy table

    I am trying update the gross qty field based on each unit qty. This is how the table looks.
    slevel | manager | seller |unit_qty | gross qty
    0 | mary | mary | 1 | 1
    .1 | mary | lynn| 3 | null
    .1 | mary | betty | 2 | null
    .1 | mary | alice | 2 | null
    ..2 | alice | susan | 1 | null
    .1 | mary | amy | 4 | null
    I would the table to look like this after the update, with the values
    slevel | manager| seller | unit_qty | gross qty
    0 | mary | mary | 1 | 1
    .1 | mary | lynn| 3 | 3*1 ={color:#ff0000}3{color}
    .1 | mary | betty | 2 | 2*1 ={color:#ff0000}2{color}
    .1 | mary | alice | 2 | {color:#008000}2*1{color} ={color:#ff0000}2{color}
    ..2 | alice | susan | {color:#0000ff}1{color} | {color:#008000}2*1{color}{color:#0000ff}*1{color} ={color:#ff0000}2{color}
    .1 | mary | amy | 4 | 4*1 = {color:#ff0000}4
    {color}
    This is the sql statement I tried to use without sucess.
    update table set gross_qty = unit_qty * ({color:#ff0000}select gross_qty from table{color}
    {color:#ff0000}where manager=seller{color})
    where slevel &gt;0

    Perhaps the old EXP (SUM (LN (n))) trick for calculating the product.
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> CREATE TABLE seller (
      2     manager VARCHAR2 (5),
      3     seller VARCHAR2 (5),
      4     unit_qty NUMBER,
      5     gross_qty NUMBER);
    Table created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES (NULL, 'mary', 1);
    1 row created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES ('mary', 'lynn', 3);
    1 row created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES ('mary', 'betty', 2);
    1 row created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES ('mary', 'alice', 2);
    1 row created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES ('alice', 'susan', 1);
    1 row created.
    SQL> INSERT INTO seller (manager, seller, unit_qty) VALUES ('mary', 'amy', 4);
    1 row created.
    SQL> COMMIT;
    Commit complete.
    SQL> SELECT manager, seller, unit_qty, gross_qty
      2  FROM   seller;
    MANAG SELLE   UNIT_QTY  GROSS_QTY
          mary           1
    mary  lynn           3
    mary  betty          2
    mary  alice          2
    alice susan          1
    mary  amy            4
    6 rows selected.
    SQL> UPDATE seller s1
      2  SET    s1.gross_qty = (SELECT EXP (SUM (LN (s2.unit_qty)))
      3                         FROM   seller s2
      4                         START WITH s2.seller = s1.seller
      5                         CONNECT BY s2.seller = PRIOR s2.manager);
    6 rows updated.
    SQL> SELECT manager, seller, unit_qty, gross_qty
      2  FROM   seller;
    MANAG SELLE   UNIT_QTY  GROSS_QTY
          mary           1          1
    mary  lynn           3          3
    mary  betty          2          2
    mary  alice          2          2
    alice susan          1          2
    mary  amy            4          4
    6 rows selected.
    SQL>

  • Is any stable solution for coding HTTPService based GUIs with JFX known ?

    hello dear people,
    i am using javafx since it came out for Linux and started to use it quite extensively but at one point i could not deal with this technology, it seems like the most basic client to server communication features are not stable yet and i am very curious if there is a link to an example where the jfx source code allows significantly more than 10 HTTPRequests to be send by a jfx-client to a HTTPServer..let me xplain what i tried yet but what always ended up not working stable.
    for me when developing RIAs often cooks down to simple communication with a REST Service and i tried this one year ago already with but i still refuse to write Java Interfaces to make use of Java in the suggested way in [the post by baechul|http://blogs.sun.com/baechul/entry/javafx_1_2_async] (updated link, though new questions regarding destroying of the threaded Task -- see comments) for writing a simple REST-Client working in jfx ... so i tried the following two ways
    a) using the SwingWorker Util-Lib with the JFXTras Worker Classes and some Java URLRequests i think but the app got stucked while making continously REST-Calls to my server... and now with 1.3 i wanted this to code from scratch and clean, but again this time i am using the straight forward jfx-api way
    b) with the io.HTTPRequest{} Class and the app still keeps hanging after a couple of request..
    the signs of this fault, despite that the flags, started, connecting, etc. of the HttpRquest Class seem not to change at all (even if the requests are send out correctly by the jfx application) when the client stops to send out HTTPRequests, for example the onConnecting Handler is never called..
    so under the hood i still have to face this problem and maybe this is related to the [unanswered post here |http://forums.sun.com/thread.jspa?forumID=934&threadID=5385815] .. and i wonder if it has something to do with the issue threaded [in this forum related to hanging HTTPReqs here|http://forums.sun.com/thread.jspa?forumID=934&threadID=5396227].
    if i remember my tests from last year right, this wasn`t only happening on linux and up to today any javafxclient build from me stops sending out URLRequests while it doesn`t matter if those are PUTs, GETs or POSTs after more than let me count --approximately 8-12 request.start(); calls in an application.. i used to create new var req : HTTPRequest in each method of my RestClient.fx and run my app always as "Application" from Netbeans 6.9 with the jdk 1.6.20 and sdk1.3 on ubuntu 10.04. i am sorry for not having the time to give you the code here yet cause it doesn`t make sense for me now to describe to you how to setup the RESTservice i am developing with .. but i think this is a real issue for jfx-applications and the people who deal with this kind of problems generally have their development environments setup to try this out very easily.
    thanks for any pointers to examplary code that serves stable asynchronous client-server communication for gui-developers. i really would like to make use of this very nice API because i acknowledge its scenegraph and additional graphics power very very much !!
    Thanks in advance for sharing your insights, thoughts and links on this !
    update: i just dived into the twitterFX project but the app does not run on my computer and i also wonder why it has defined dependency to make use of the [httpclient javalib|http://hc.apache.org/downloads.cgi] while the community [doc from april 2009 here|http://java.sun.com/developer/technicalArticles/javafx/AppORama/] seems to report intense usage of the HTTPRequest Class
    update2: what basically can be observed when debugging my application is that for each HTTRequest there is a thread created under the parent "request io pool" named either 'io.N' or simply 'Thread-3' and all of which are in the state 'running' even after the request is nominally done. additionally under the root of the system-thread, everytime a HTTPRequest is created a "Keep-Alive-Thread" is running which has a quite thrilling name, but when this vanishes every thread under the "request io pool" is still Alive
    so from far out this looks quite similiar to the scnd post i mentioned here before and which can be found now here again, but i don`t know if this is correct behaviour, means: when a thread-object is meant to be destroy - maybe it is related to eventHandlers attached to my HTTPRequest{} Object but thats just a vague assumption
    i am linking in more resources related to this problem: for example [this post|http://forums.sun.com/thread.jspa?forumID=932&threadID=5392824] is reporting about a problem might be specific for POST requests, though i doubt that, which is: the object never gets into the state of HTTPRequest.isDone. i tried this out with my code, too and my HTTPRequest objects never call the onDone: function () {} it would be nice to have some more knowledge about that..
    Edited by: mremote on Jul 20, 2010 8:32 AM
    Edited by: mremote on Jul 20, 2010 9:08 AM

    hello dear application developers,
    i just found out that the translateFX runs pretty smooth (even over more than 10 request) and i tried to find out the differences between this and my implementation.. for me, the differences seem not really significant but somehow they must be so.. considering the different behaviour:
    the HttpRequest Objects are encapsulated both times as different kind of variables in a simple instance of an object:
    - the translateFX code just uses one var request : HTTPRequest and one var parser:PullParser resp. as Class.Attributes over and over again to which in the function just new HttpRequest{} are assigned on every call, so i assume that there is at most one HttpRequest at a time possible which might be dereferenced while still running
    - opposed to that i have in my code the HttpRequest as Local Variables which should be created and destroyed within the execution time of my function body, though i do not f ully understand how my anonymous handler functions assigned to e.g. HttpRequest.onInput may be deleted after the code executor has already run through my function body..
    - another difference is that the author if translateFX closes his PullParser.inputStream at the end of his function body... although i quite not understand why this should make sense.. bcause when this part is called, the PullParser will not be instantiated yet, this is done in the handler when the Response from the Server gets Back and the InputStream is starting to float in. this line of code parser.input.close(); seems to be called to prevent unexpected behaviour cause he`s working with the parser as a Class.Attribute
    so even i changed my implementation at both points both to the translateFX approach, i feel disappointed to say that i still don`t know why after a couple of HttpRequest.start(); none is send out from my app anymore and there is no difference in between running the app from within the browser, launching it with Webstart or running it as an Application..
    if someone has some time to investigate here - [there is|http://github.com/jri/deepamehta3/downloads] the latest snapshot of our application server which i use. (after its extraction and startup this package serves instantly a RESTservice on your local computer including. jetty webserver and deepamehta as a prepackaged osgi system)
    i will soon upload the whole app to my [github repository|http://www.github.com/mukil] soon... it hoepfully will be a kind of DetailPanel for a TopicMap Navigator one day
    basically the problems are happening after a couple of call of this simple code...
        var coreServiceURI : String = "http://localhost:8080";
        var gRequest : HttpRequest;
        var gModel : ClientModel = ClientModel.getInstance();
        /* loads a topic from the application service */
        public function getBaseTopic ( topicId:Long, params:String, cache:Boolean, index:Integer ) : Void {
          // var topic : FXBaseTopic = null;
          var parser :  PullParser;
          gRequest = HttpRequest {
            location: "{coreServiceURI}/core/topic/{topicId.toString()}";
            method: HttpRequest.GET;
            headers: [
              HttpHeader { name: HttpHeader.CONTENT_TYPE; value: "application/json"; },
              HttpHeader { name: HttpHeader.CONTENT_LENGTH; value: "{params.getBytes().length}"; }
            onStarted: function() { gModel.connectionStatusMessage = "dmc.loadingStarted({gRequest.method
               }, {gRequest.location})";
            onResponseMessage: function(msg:String) { gModel.connectionStatusMessage = "dms.responseMessage: {msg}"; }
            onInput: function(os: java.io.InputStream) {
              var id: Long;
              var type: String;
              var label: String;
              //var properties : FXDataField[] = [];
              var properties : String[];
              // os;
              parser = PullParser {
                documentType: PullParser.JSON;
                input: os;
                onEvent: function(event: Event) {
                  if (event.type == PullParser.INTEGER and event.level == 0) {
                    if (event.name == "id") {
                        id = event.integerValue;
                        //println("setTopic: {event.integerValue}, ");
                  } else if (event.type == PullParser.TEXT and event.level == 0) {
                    if (event.name == "type_uri") {
                        type = event.text;
                        //println(" {event.text}, ");
                    } else if (event.name == "label") {
                        label = event.text;
                        // println(" {event.text} \n");
                  } else if (event.type == PullParser.INTEGER and event.level == 1) {
                    // wether properties are integers or strings
                    insert event.integerValue into properties;
                  } else if (event.type == PullParser.TEXT and event.level == 1) {
                    insert event.text into properties;
                  } else if (event.type == PullParser.END_DOCUMENT){
                    println("[SERVER] --- dmc.gotBaseTopic: {id}, {type}, {label} with a propAt1: \"{properties.get(2).toString()}\"");
                    // topic = FXBaseTopic {
                      id = id;
                      type_uri = type;
                      label = label;
                      properties = properties;
              parser.parse();
            onException: function(ex: java.lang.Exception) {
                println("*** dms.onException: {ex.getClass()} {ex.getMessage()}");
          gRequest.start();
          parser.input.close();
        }i really dont think that this is related to problems with running javafx apps on jvms build for amd64 linux, because i`ve had similare behaviour as i still was running the 32bit version of the jvm (though that was other code and is now nearly a year ago)
    maybe someone sees the problems right away... any help is very appreciated.. and links to other working solutions would still be great !

  • RFC Function module needed for getting table details in APO from R/3

    Hi,
    I need a RFC function module where I can write a query from R/3 to access APO server database table and get the necessary records.
    Regards
    Mac

    Possible ways
    1. Call fm RFC_READ_TABLE and give destination and table name ( But i am not sure how it will work SCIF enviornment of APO)
    or
    2. Create a custom function module in APO side and call from R/3 side using destnation option

  • RowCount for WDA Tables based on SCROLLBAR table rendering

    Hi.
    We are using a standard WDA table to display some data. Our application doesn't have explicitly the app parameter WDTABLENAVIGATION set, but it is rendering our tables as scrollable (like we were using parameter 'SCROLLBAR'). I think that, probably, it is following a server parameter.
    Even if we set 'footervisible' to true, our footer is not displayed. As we need to display rowcount, does anyone have any idea on how to display it?
    Regards,
    Douglas Frankenberger

    >
    Douglas Frankenberger wrote:
    > Hi.
    >
    > We are using a standard WDA table to display some data. Our application doesn't have explicitly the app parameter WDTABLENAVIGATION set, but it is rendering our tables as scrollable (like we were using parameter 'SCROLLBAR'). I think that, probably, it is following a server parameter.
    >
    > Even if we set 'footervisible' to true, our footer is not displayed. As we need to display rowcount, does anyone have any idea on how to display it?
    >
    >
    > Regards,
    > Douglas Frankenberger
    I assume you are are on NetWeaver 7.0 Enhancement Package 1.  As of 7.01 the paginator option no longer exists and is ignored in all the settings.  Only the Scrollbar is possible.

  • Help needed for SAP Tables Relationships

    Hi All,
    I am new to ERP and need help regarding standard SAP Tables.
    Please share the document that contains the details of SAP Tables and Standard SAP FM that are provided by SAP.
    All helpful answers will be rewarded.
    Regards,
    Udaya.

    Hi,
    Please go to the following link.
    http://www.erpgenie.com/abap/tables.htm
    http://www.erpgenie.com/abap/tables_sd.htm
    http://www.erpgenie.com/abap/tables_mm.htm
    http://www.erpgenie.com/abap/tables_fi.htm
    Regards
    Jean

  • Help needed  for nested  table

    Hi ,
    I have a function which returns nested table as result .The nested table can sometimes be null.So when i reference the first and last value for a loop, when table is null , then i am getting numeric value error .So i added a check on the nested table as below
    if n_table is empty then
    exit;
    end if;
    for i in n_table.first ..n_table.last
    loop
    select count(1) into_count
    from x where rate=n_table(i);
    end loop;
    Now iam getting a message as" DANGLING NOT NULL OF".Though it gets compiled .iam getting everytime when i first compile it .Please let me know what should i add to prevent this

    Null and empty are two different things. Also please post the complete error message.
    Notice the difference between
    DECLARE
        v_tab INTEGER_TT;
    BEGIN
        IF v_tab IS NOT NULL THEN
            FOR i IN v_tab.FIRST..v_tab.LAST LOOP
                DBMS_OUTPUT.PUT_LINE('Loop iteration ' || i);
            END LOOP;
        END IF;
    END;and
    DECLARE
        v_tab INTEGER_TT := INTEGER_TT();
    BEGIN
        IF v_tab IS NOT EMPTY THEN
            FOR i IN v_tab.FIRST..v_tab.LAST LOOP
                DBMS_OUTPUT.PUT_LINE('Loop iteration ' || i);
            END LOOP;
        END IF;
    END;

  • Help Need for External Table

    Gurus,
    While i reading the data from CSV using External Table in some columns the records having the special symbol like 'new line feed'.
    How can i trim that one.
    please help in this issue.

    Hi,
    Use Substr or Replace functions on them.

  • Scheduled Job to gather stats for multiple tables - Oracle 11.2.0.1.0

    Hi,
    My Oracle DB Version is:
    BANNER Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    In our application, we have users uploading files resulting in insert of records into a table. file could contain records ranging from 10000 to 1 million records.
    I have written a procedure to bulk insert these records into this table using limit clause. After the insert, i noticed my queries run slow against these tables if huge files are uploaded simultaneously. After gathering stats, the cost reduces and the queries executed faster.
    We have 2 such tables which grow based on user file uploads. I would like to schedule a job to gather stats during a non peak hour apart from the nightly automated oracle job for these two tables.
    Is there a better way to do this?
    I plan to execute the below procedure as a scheduled job using DBMS_SCHEDULER.
    --Procedure
    create or replace
    PROCEDURE p_manual_gather_table_stats AS
    TYPE ttab
    IS
        TABLE OF VARCHAR2(30) INDEX BY PLS_INTEGER;
        ltab ttab;
    BEGIN
        ltab(1) := 'TAB1';
        ltab(2) := 'TAB2';
        FOR i IN ltab.first .. ltab.last
        LOOP
            dbms_stats.gather_table_stats(ownname => USER, tabname => ltab(i) , estimate_percent => dbms_stats.auto_sample_size,
            method_opt => 'for all indexed columns size auto', degree =>
            dbms_stats.auto_degree ,CASCADE => TRUE );
        END LOOP;
    END p_manual_gather_table_stats;
    --Scheduled Job
    BEGIN
        -- Job defined entirely by the CREATE JOB procedure.
        DBMS_SCHEDULER.create_job ( job_name => 'MANUAL_GATHER_TABLE_STATS',
        job_type => 'PLSQL_BLOCK',
        job_action => 'BEGIN p_manual_gather_table_stats; END;',
        start_date => SYSTIMESTAMP,
        repeat_interval => 'FREQ=DAILY; BYHOUR=12;BYMINUTE=45;BYSECOND=0',
        end_date => NULL,
        enabled => TRUE,
        comments => 'Job to manually gather stats for tables: TAB1,TAB2. Runs at 12:45 Daily.');
    END;Thanks,
    Somiya

    The question was, is there a better way, and you partly answered it.
    Somiya, you have to be sure the queries have appropriate statistics when the queries are being run. In addition, if the queries are being run while data is being loaded, that is going to slow things down regardless, for several possible reasons, such as resource contention, inappropriate statistics, and having to maintain a read consistent view for each query.
    The default collection job decides for each table based on changes it perceives in the data. You probably don't want the default collection job to deal with those tables. You probably do want to do what Dan suggested with the statistics. But it's hard to tell from your description. Is the data volume and distribution volatile? You surely want representative statistics available when each query is started. You may want to use all the plan stability features available to tell the optimizer to do the right thing (see for example http://jonathanlewis.wordpress.com/2011/01/12/fake-baselines/ ). You may want to just give up and use dynamic sampling, I don't know, entire books, blogs and papers have been written on the subject. It's sufficiently advanced technology to appear as magic.

  • Transformation: Need for calling a custom function module on source system

    Hi Gurus,
    I need to use a custom FM residing on source system within the transformation to determine the type (e.g. posting type) of a document item. The logic is quite complex with many exceptions (many if statements) and 2 customizing & few transparent tables are in use as well in the FM.
    From my point of view, there are few options for achieving the outcome:
    1. Copy the FM logic 1:1 in transformation
    2. Transport the FM from ERP to BW system
    3. Source system delivers the info (e.g. with an extra field "posting_type")
    4. Access the FM directly via RFC/BAPI
    However, there are pros and cons for each of the alternatives:
    *Option 1*
    pros:
    cons: consistency problem, need for importing customizing tables & source tables, high maintenance effort
    *Option 2*
    pros: better consistency compared to Option 1
    cons: need for importing tables, administrative efforts
    *Option 3*
    pros: no logic is needed at BW side, no transformations means no impact on performance, high consistency, no administrative effort
    cons: structure in source system has to be changed, impact on historical records
    *Option 4*
    pros: best consistency (better than Option 3 as FM might change), no administrative effort
    cons: impact on performance during transformation
    Could you please verify my assumptions and give suggestions on solving the problem?
    Thanks a lot!
    Regards,
    Meng

    Hi Joon,
    According to me.
    If Historical data amount is so high, historical data is available in BW(at PSA level or acquisition layer or corporate memory layer) and headache to load history data(because of overload on ECC due to huge amount of data) from ECC then I will suggest combination of 3 and 4 steps.
    If fetching history data from ECC is not headache for you then go for step 3.
    Step 3 is most common approach in BW, which is easy for implementation and support.
    Regards,
    Ashish

  • Jars needed for AIA deployment

    What are the key jars needed for an ant based deployment of an AIA application?

    HI dere ,
    I am trying to install 11.1.1.7 AIA on my 64 bit win -7 machine but don't know why i am again and again getting the same error and i.e "build failed".......i have tried installing and uninstalling for so many times,  even after that i am getting errors...
    BUILD FAILED
    C:\Oracle\Middleware\SOASuite11g\oracle_common\AIA_HOME\Infrastructure\Install\AID\AIAExecuteDriver.xml:223: The following error occurred while executing this line:
    C:\Oracle\Middleware\SOASuite11g\oracle_common\AIA_HOME\Infrastructure\Install\AID\AIAExecuteDriver.xml:65: The following error occurred while executing this line:
    C:\Oracle\Middleware\SOASuite11g\oracle_common\AIA_HOME\aia_instances\AIA_INST\tmp\AIDExecuteDP_temp_1421998953.xml:209: The following error occurred while executing this line:
    C:\Oracle\Middleware\SOASuite11g\oracle_common\AIA_HOME\Infrastructure\Install\AID\lib\AIDDeploymentLibraryTasks.xml:109: Java returned: 1
    please help me out
    Regards
    kabir

Maybe you are looking for