To know when data in a table is inserted,deleted.

I have to execute a report as soon as data in a specifix table is inserted or deleted.
Please guide me how to do this.

Hi,
Value in table dbtablog is insterted as soon as someone logs in.
I have execute a report as soon as changes are recorded in dbtablog.
Please guide me how to do this.

Similar Messages

  • I want to know when we issue truncate table statement in oracle .

    i want to know when we issue truncate table statement in oracle .No log will be write in redo log .But we can recover data using flashback or scn.I want to know where is the actually truncate table statement log is stored in oracle database.Please explain me in detail step by step .

    Hi,
    I have truncated table after that i have restored that data.See below the example.I want to know from where it's restored.
    From which log file it's restored.
    create table mytab (n number, x varchar2(90), d date);
    alter table mytab enable row movement;
    Table altered.
    SQL> insert into mytab values (1,'Monsters of Folk',sysdate);
    1 row created.
    SQL> insert into mytab values (2,'The Frames',sysdate-1/24);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select CURRENT_SCN from v$database;
    CURRENT_SCN
    972383
    SQL> select * from mytab;
    N
    X
    D
    1
    Monsters of Folk
    30-DEC-12
    2
    The Frames
    30-DEC-12
    N
    X
    D
    SQL> set lines 10000
    SQL> /
    N X D
    1 Monsters of Folk 30-DEC-12
    2 The Frames 30-DEC-12
    SQL> select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual;
    TO_CHAR(SYSDATE,'
    20121230 09:29:24
    SQL> set timing on
    SQL> truncate table mytab;
    Table truncated.
    Elapsed: 00:00:15.75
    SQL> select * from mytab as of timestamp TO_TIMESTAMP('20121230 09:29:24','yyyymmdd hh24:mi:ss');
    N X D
    1 Monsters of Folk 30-DEC-12
    2 The Frames 30-DEC-12
    Elapsed: 00:00:00.28
    SQL> insert into mytab select * from mytab as of timestamp TO_TIMESTAMP('20121230 09:29:24','yyyymmdd hh24:mi:ss');
    2 rows created.
    Elapsed: 00:00:00.01
    SQL>

  • How to trigger a workflow when data inside a table changes

    Hi
    How to trigger a workflow when data inside a table changes ??
    We need to trigger a workflow when STAT2 field value in PA0000 table changes.
    rgds
    Chemmanz

    Make use of Business Object BUS1065. In this business Object you have an attribute Status which you can use. There are a number of events that will get triggered when the status is changed.
    Thanks
    Arghadip

  • Fetch data from one table and insert into two tables in desired format

    I have similar to the following data in a table and it is not normalized. The groupID is being used to group two records of similar nature.
    DECLARE @OldDoc TABLE (oldDocID INT, groupID INT, deptID INT)
    INSERT INTO @OldDoc (oldDocID, groupID) VALUES (1, NULL, 111),(2,NULL,111),(3,1,111),(4,NULL,333),(5,1,222),(6,NULL,333),(7,2,222),(8,2,333),(9,NULL,111),(10,3,222),(11,NULL,333),(12,3,444)
    I need to process the data from the above table (@OldDoc) and write into two new tables (@NewDoc and @NewDocGroup) as follows.
    oldDocID should be stored as newDocID when inserting to @NewDoc table. Only records with groupID NULL and one record (first one) per group should be considered (For example, oldDocID 5 is not considered as 3 and 5 belong to the same groupID 1) for insertion. 
    DECLARE @NewDoc TABLE (newDocID INT)
    INSERT INTO @NewDoc (newDocID) VALUES (1),(2),(3),(4),(6),(7),(9),(10),(11)
    All records from @OldDoc should be considered for insertion into @NewDocGroup table. OldDocID is inserted as NewDocID and deptID is as-is. Instead of groupID, the ID of the first record in the 
    group should be considered as parentNewDocID (For example, 3 is considered as parentNewDocID for newDocID 5 as 3 and 5 belong to the same groupID in @OldDoc table) for the newDocID.
    DECLARE @NewDocGroup (newDocID INT, parentNewDocID INT, deptID INT)
    INSERT INTO @NewDocGroup (newDocID, parentNewDocID, deptID) VALUES (1,1,111),(2,2,111),(3,3,111),(4,4,333),(5,3,222),(6,6,333),(7,7,222),(8,7,333),(9,9,111),(10,10,222),(11,11,333),(12,10,444)
    How do I accomplish the above using SQL ? Thanks for the help.

    >> I have similar to the following data in a table and it is not normalized. The group_id is being used to group two records [sic] of similar nature. <<
    Rows are not records. Tables have to have a key by definition. You do not do math with identifiers, so they should not be numeric. Let's ignore that error for now. In short, you are posting garbage. If you had followed Forum Netiquette, would you have posted
    this? 
    CREATE TABLE Old_Documents
    (old_doc_id INTEGER NOT NULL PRIMARY KEY, 
     group_id INTEGER, 
     dept_nbr INTEGER NOT NULL
       REFERENCES Departments (dept_nbr));
    INSERT INTO Old_Documents(old_doc_id, group_id, dept_nbr) 
    VALUES  (1, NULL, 111), 
    (2, NULL, 111), 
    (3, 1, 111), 
    (4, NULL, 333), 
    (5, 1, 222), 
    (6, NULL, 333), 
    (7, 2, 222), 
    (8, 2, 333), 
    (9, NULL, 111), 
    (10, 3, 222), 
    (11, NULL, 333), 
    (12, 3, 444);
    >> I need to process the data from the above table (Old_Documents) and write into two new tables (New_Documents and New_Documents_Groups) as follows. <<
    Just like punch cards and mag tape data processing! Being old and being new are a status, not another kind of entity. But that is how mag tapes work. And you even use the verb "fetch" from tape files. This design flaw is called  attribute splitting.
    Do you have a Male_Personnel and Female_Personnel table? NO! It is just Personnel! 
    >> old_doc_id should be stored as new_doc_id when inserting to New_Documents table. Only records [sic] with group_id NULL and one record [sic] (first [sic; no ordering in a table] one) per group should be considered (For example, old_doc_id 5 is not considered
    as 3 and 5 belong to the same group_id =1) for insertion. <<
    Think about your punch card mindset. Why did you physically materialize that redundant New_Documents table? Let me answer that: this is how you work with punch cards! In SQL we use a VIEW:
    CREATE VIEW New_Documents (new_doc_id)
    AS 
    SELECT old_doc_id 
      FROM Old_Documents;
    >> All records [sic] from Old_Documents should be considered for insertion into New_Documents_Groups table. The old_doc_id is inserted as new_doc_id and dept_nbr is as-is. Instead of group_id, the ID [sic: which identifier??] of the first [sic: tables
    have no ordering like a deck of punch cards] record [sic] in the group should be considered as parent_new_doc_id (For example, 3 is considered as parent_new_doc_id for new_doc_id 5 as 3 and 5 belong to the same group_id in Old_Documents table) for the new_doc_id.
    <<
    Why not use 5 as the parent? My guess is that you are trying to form equivalence classes. See:
    https://www.simple-talk.com/content/print.aspx?article=2020
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Fetch data from two tables and insert into one table

    I have similar to the following data in two tables (@Plant, @PlantDirector) and need to consolidate into one table (@PlantNew) as follows.
    DECLARE @Plant TABLE (PlantID INT, PlantName VARCHAR(100))
    INSERT INTO @Plant (PlantID, PlantName) VALUES (1, 'Name One'),(2, 'Name Two'),(3, 'Name Three'),(4, 'Name Four'),(5, 'Name Five'),(6, 'Name Six')
    Director data for the Plants exist in the following table. Assistant value 1 means Assistant Director and 0 means Director. 
    Data exists only for subset of plants and a Plant may have one or both roles.
    DECLARE @PlantDirector TABLE (PlantID INT, PlantDirectorID INT, Assistant bit)
    INSERT INTO @PlantDirector (PlantID, PlantDirectorID, Assistant) VALUES (2, 111, 1),(2, 222, 0),(4, 333, 0),(6,444,1)
    The above data needs to be inserted into one table (@PlantNew) as follows: 
    PlantID in @Plant table is IDENTITY value and needs to be inserted as-is into this table.
    PlantDirExists will get a value of 1 if at least one record exists in @PlantDirector table for a PlantID. PlantAssistantDirID and PlantDirID should be set to the corresponding PlantDirID or NULL appropriately depending on the data.
    DECLARE @PlantNew TABLE (PlantID INT, PlantName VARCHAR(100), PlantDirExists bit, PlantAssistantDirID INT, PlantDirID INT)
    INSERT INTO @PlantNew (PlantID, PlantName, PlantDirExists, PlantAssistantDirID, PlantDirID)
    VALUES (1, 'Name One', 0, NULL, NULL),(2, 'Name Two', 1, 111, 222),(3, 'Name Three', 0, NULL, NULL),(4, 'Name Four', 1, NULL, 333),(5, 'Name Five', 0, NULL, NULL),(6, 'Name Six',1, 444, NULL)
    How do I achieve the above using SQL ? Thanks.

    like this
    INSERT @PlantNew  (PlantID, PlantName, PlantDirExists, PlantAssistantDirID, PlantDirID) 
    SELECT p.PlantID,
    p.PlantName,
    CASE WHEN pd.PlantID IS NULL THEN 0 ELSE 1 END,
    PlantAssistantDirID,
    PlantDirID
    FROM @Plant p
    LEFT JOIN (SELECT PlantID,
    MAX(CASE WHEN Assistant = 1 THEN PlantDirectorID END) AS PlantAssistantDirID,
    MAX(CASE WHEN Assistant = 0 THEN PlantDirectorID END) AS PlantDirID
    @PlantDirector
    GROUP BY PlantID)pd
    ON pd.PlantID = p.PlantID
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs
    You're missing a FROM
    insert into @PlantNew
    SELECT p.PlantID,
    p.PlantName,
    CASE WHEN pd.PlantID IS NULL THEN 0 ELSE 1 END,
    PlantAssistantDirID,
    PlantDirID
    FROM @Plant p
    LEFT JOIN (SELECT PlantID,
    MAX(CASE WHEN Assistant = 1 THEN PlantDirectorID END) AS PlantAssistantDirID,
    MAX(CASE WHEN Assistant = 0 THEN PlantDirectorID END) AS PlantDirID
    from @PlantDirector
    GROUP BY PlantID)pd
    ON pd.PlantID = p.PlantID

  • Read data from E$ table and insert into staging table

    Hi all,
    I am a new to ODI. I want your help in understanding how to read data from an "E$" table and insert into a staging table.
    Scenario:
    Two columns in a flat file, employee id and employee name, needs to be loaded into a datastore EMP+. A check constraint is added to allow data with employee names in upper case only to be loaded into the datastore. Check control is set to flow and static. Right click on the datastore, select control and then check. The rows that have violated the check constraint are kept in E$_EMP+ table.
    Problem:
    Issue is that I want to read the data from the E$_EMP+ table and transform the employee name into uppercase and move the corrected data from E$_EMP+ into EMP+. Please advise me on how to automatically handle "soft" exceptions in ODI.
    Thank you

    Hi Himanshu,
    I have tried the approach you suggested already. That works. However, the scenario I described was very basic. Based on the error logged into the E$_EMP table, I will have to design the interface to apply more business logic before the data is actually merged into the target table.
    Before the business logic is applied, I need to read each row from the E$EMP table first and I do not know how to read from E$EMP table.

  • How to get the data from one table and insert into another table

    Hi,
    We have requirement to build OA page with the data needs to be populated from one table and on save data into another table.
    For the above requirement what the best way to implement in OAF.
    I understand that if we attach VO object instance to region/page, we only can pull and put data in to only one table.
    Thanks

    You can achieve this in many different ways, one is
    1. Create another VO based on the EO which is based on the dest table.
    2. At save, copy the contents of the source VO into the dest VO (see copy routine in dev guide).
    3. commiting the transaction will push the data into the dest table on which the dest VO is based.
    I understand that if we attach VO object instance to region/page, we only can pull and put data in to only one table.
    if by table you mean a DB table, then no, you can have a VO based on multiple EOs which will do DMLs accordingly.Thanks
    Tapash

  • Table Scan  Insert Delete

    I have 1 View(A_VW) and 1 Table (B_TBL)
    I want to be eifficent in table scan . prefer only one scan
    Samplw Table below.
    if Amount > 500 and New reord added in A_VW. The table also adds this row.
    If a record is Deleted in A_VW then we delete the record if its STATUS in B_TBL is N
    If Experiy Date is the same as sysdate then change the status from Y to N. There are around say a million records.
    I am trying out the pseudo code for this and if anyone can help that will be great.
    default status and code is Y and can assume default epr date as 30 days from inserted date.
    A_VW
    USERNAME AMOUNT
    ABC1......... 200
    abc2.......... 700
    B_TBL
    USERNAME STATUS Expiry DATE
    abc2........... N.........1/12/2004
    sscs.......... N.........1/31/2006
    .................. Y.........9/21/2007
    Advance thanks
    Tiger

    Hi I pretty much solved it but i want to know if u can help me with the syntax of MERGE for multiple source and destination tables in Oracle 9i.
    URGENT : ORACLE 9i MERGE MULITPLE SOURCE AND DESTINATION TABLES SYNTAX?
    I c people suggesting it for multiple tables but can't fina an example get errors.
    link to the new thread.
    Advance Thanks
    Tiger

  • Trigger a process(IDOC) when Data in Z-table updated

    Hi All,
    I am working on an interface and the outbound IDOC from R/3 to XI needs to be triggered when a particular field value in a Z*table changes.
    So far I am able to trigger the IDOC from the calling Z*prog which updates this table, but I need some exit, PAI etc which will get triggered only when the data in table is updated.
    Current Flow chart:
    Z-prog starts--->Updates a Z-table--->if sy-subrc=0--->I create an IDOC from the Z-prog itself
    What I need:
    Z-table is updated--->check if particular filed value changed--->Trigger IDOC
    Is it possible to do this.
    Many thanks
    Shirin

    Hi Balu,
    I am triggering my IDOCS from the Z*program itself.
    The trigger point is when I have successfully updated the table (sy-subrc = 0).
    Then I have used the code below to populate my IDOC. I have also maintained a distribution model, so that is the reason I pass only the idoc type in edidc segment and do not pass any port , receiver etc.
    Hope you find the code useful.
    Regards
    Shirin
    Reward points if this was helpful.
    *Local Data Declaration
      DATA:  wa_msg_header TYPE zca_msg_header,
             wa_edidc      TYPE edidc,
             wa_edidd      TYPE edidd,
             i_edidc       TYPE edidc OCCURS 0,
             i_edidd       TYPE edidd OCCURS 0,
             wa_trailer    TYPE zca_gs_trailer,
             wa_count(10)  TYPE n,
             wa_allocation_response TYPE zca_allocation_response.
    *Populate IDOC segments
    * 1. Save the message type and the basic IDoc type* in the control segment
      MOVE 'ZMT_ALLOCATION_RESPONSE' TO wa_edidc-mestyp.
      MOVE 'ZGS_ALLOCATION_RESPONSE' TO wa_edidc-idoctp.
    * 2. Populate the Genius specific Message Header 'ZCA_MSG_HEADER'
      wa_msg_header-source        = 'SOURCE_SYST'.
      wa_msg_header-destination   = 'DESTINATION-LS.
      wa_msg_header-message_id    = ''.  "Populate this in XI
      wa_msg_header-date_time     = ''.  "populate this in xi.
      wa_msg_header-message_typ   = 'I'.
      wa_msg_header-status        = 'S'.
      MOVE 'ZCA_MSG_HEADER' TO wa_edidd-segnam.
      MOVE wa_msg_header    TO wa_edidd-sdata.
      APPEND wa_edidd       TO i_edidd.
      CLEAR wa_edidd.
    * 3 Populate the ALOCATION_RESPONSE segment
      CONCATENATE 'EXAM'
                   sy-datum
                   sy-uzeit
                   INTO
                   wa_allocation_response-uid.
    * wa_allocation_response-uid                 =  i_set_number  .
      wa_allocation_response-set_number          =  i_set_number .
      wa_allocation_response-trigger             =  '1' .              "Always default to Allocation Change   .
      wa_allocation_response-next_a_exam         =  i_next_a_exam .
      wa_allocation_response-miles_to_a          =  i_miles_to_a .
      wa_allocation_response-next_b_exam         =  i_next_b_exam .
      wa_allocation_response-miles_to_b          =  i_miles_to_b.
      wa_allocation_response-next_major_exam     =  i_next_maj_exam  .
      wa_allocation_response-miles_to_major_exam =  i_miles_to_maj_exam .
      MOVE  'ZCA_ALLOCATION_RESPONSE' TO wa_edidd-segnam.
      MOVE   wa_allocation_response   TO wa_edidd-sdata.
      APPEND wa_edidd                 TO i_edidd.
      CLEAR  wa_edidd.
    *4 Populate the Trailer record 'ZCA_TRAILER'
      wa_trailer-data_marker  = 'T'.
      wa_trailer-checksum     = wa_count.
      MOVE 'ZCA_TRAILER' TO wa_edidd-segnam.
      MOVE wa_trailer       TO wa_edidd-sdata.
      APPEND wa_edidd       TO i_edidd.
      CLEAR  wa_edidd.
    * Check for distribution model and create the IDOC
      CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          master_idoc_control            = wa_edidc
        TABLES
          communication_idoc_control     = i_edidc
          master_idoc_data               = i_edidd
        EXCEPTIONS
          error_in_idoc_control          = 1
          error_writing_idoc_status      = 2
          error_in_idoc_data             = 3
          sending_logical_system_unknown = 4
          OTHERS                         = 5.
    * No need for error handling here as the IDOC will be created and ststus record will
    * mention the latest ststus including any error message.

  • Refresh af:table when data in another table changes

    Hi
    I am using jdev 11.1.1.7.0 and using bean datacontols..
    I have 2 tables in the same page..
    1. Language table
    2. Items table
    Language table has CRUD operations like user can created new language. The items table is a dynamic table with one fixed column that is "item" and remaining are the language columns.
    So, if user give 3 languages in first table then the second table will have "item" + 3 columns i.e 1 column for each language. .
    Because these 2 tables are on the same page.. I need to refresh the items table to show new column when user creates new language in the language table.. what is the best way of doing this?
    Thanks

    Jdev 11.1.1.7 is not oficialy released yet, so I suppose you are Oracle employee, right ?
    As I understand, you have you own internal forum, right ?
    BTW, you probably have something like "Commit" button, or similar. So set partlalTrigger for the Items table to that Commit button...

  • How to read LONG RAW data from one  table and insert into another table

    Hello EVERYBODY
    I have a table called sound with the following attributes. in the music attribute i have stored some messages in the different language like hindi, english etc. i want to concatinate all hindi messages and store in the another table with only one attribute of type LONG RAW.and this attribute is attached with the sound item.
    when i click the play button of sound item the all the messages recorded in hindi will play one by one automatically. for that i'm doing the following.
    i have written the following when button pressed trigger which will concatinate all the messages of any selected language from the sound table, and store in another table called temp.
    and then sound will be played from the temp table.
    declare
         tmp sound.music%type;
         temp1 sound.music%type;
         item_id ITEM;
    cursor c1
    is select music
    from sound
    where lang=:LIST10;
    begin
         open c1;
         loop
              fetch c1 into tmp; //THIS LINE GENERATES THE ERROR
              temp1:=temp1||tmp;
              exit when c1%notfound;
         end loop;
    CLOSE C1;
    insert into temp values(temp1);
    item_id:=Find_Item('Music');
    go_item('music');
    play_sound(item_id);
    end;
    but when i'm clicking the button it generates the following error.
    WHEN-BUTTON-PRESSED TRIGGER RAISED UNHANDLED EXCEPTION ORA-06502.
    ORA-06502: PL/SQL: numeric or value error
    SQL> desc sound;
    Name Null? Type
    SL_NO NUMBER(2)
    MUSIC LONG RAW
    LANG CHAR(10)
    IF MY PROCESS TO SOLVE THE ABOVE PROBLEM IS OK THEN PLESE TELL ME THE SOLUTION FOR THE ERROR. OTHER WISE PLEASE SUGGEST ME,IF ANY OTHER WAY IS THERE TO SOLVE THE ABOVE PROBLEM.
    THANKS IN ADVANCE.
    D. Prasad

    You can achieve this in many different ways, one is
    1. Create another VO based on the EO which is based on the dest table.
    2. At save, copy the contents of the source VO into the dest VO (see copy routine in dev guide).
    3. commiting the transaction will push the data into the dest table on which the dest VO is based.
    I understand that if we attach VO object instance to region/page, we only can pull and put data in to only one table.
    if by table you mean a DB table, then no, you can have a VO based on multiple EOs which will do DMLs accordingly.Thanks
    Tapash

  • Combine data from a table and insert to another in comma separated format

    In my SQL database table i have some data as shown below.
    KNO       Course      Grade     Institution
    124        BTECH       First       IIT Calicut
    128        BE             First       KKS Institute
    124        CCNA         Q          NIIT Delhi
    124        DDCN         Q          Appl Calicut
    128        DIT            A         NIIT Delhi
    128        VB              Q        IICM Delhi
    i want this courses to be arranged as sample given under to a table named mainpers
    KNO    Course    
    124     BTECH[First], CCNA[Q],DDCN[Q]
    128     BE[First], DIT[A], VB[Q] 
    I am a System Administrator at Vadodara

    You can do this in SQL.
    with cte as (
    select distinct KNO
    from Table1
    select KNO
    , Stuff(
    (select ',' + Course + '[' + Grade + ']'
    from Table1
    where Table1.KNO = cte.KNO
    for xml path ('')
    ), 1, 1, '') as Course
    from cte
    http://davidduffett.net/post/5334646215/get-a-comma-separated-list-of-values-in-sql-with-for
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • Deleting rows in a table T1, when last row in table T2 is deleted

    I have two tables, T1 and T2. The relation of T1 to T2 is one to many.
    If the last row of T2 is deleted, the correspondig record in T1 should also be deleted.
    How can I implement this in the delete-trigger of T2.
    Thanks
    null

    I have two tables, T1 and T2. The relation of T1 to T2 is one to many.
    If the last row of T2 is deleted, the correspondig record in T1 should also be deleted.
    How can I implement this in the delete-trigger of T2.
    Thanks
    null

  • How to know when an object is deleted?

    Hi,
    In Java, instances of classes are eliminate by garbage collector and programmers have no chance to do it.
    I need to do something, when the instance of a class ends its cycle-life .
    How do I know when an object is going to be deleted, in order to make some thing bounded to this event?
    thank you
    Regards
    Angelo

    Thank you for your help ...
    Here some code (I hope that I didn't forget something important):
    1. A class inside the JaveaBeans to manage events:
         * NavBean_EventsBroadcaster is a singleton class used in the JavaBean to manage (fire)
         * the events; and also to manage (add/remove) the listeners.
         * Events are raised when users push buttons with the purpose to change the display of
         * records (of the table) on the screen.
        public class NavBean_EventsBroadcaster implements Serializable {
            private transient Vector listeners;
            private static NavBean_EventsBroadcaster eventsBroadcaster_ForNavBeans = null;
             Method to get the instance of the singleton class
               static public NavBean_EventsBroadcaster getSingletonInstance() {
                    if (eventsBroadcaster_ForNavBeans == null) {
                        eventsBroadcaster_ForNavBeans = new NavBean_EventsBroadcaster();
                    return eventsBroadcaster_ForNavBeans;
                } // getSingletonInstance
            * fireTheEvent_X_navBean(): method that raise events
            public void fireTheEvent_X_navBean(
                    Object source,
                    NavigatorBean_eventsList_ENUM nbEvtENUM,
                    ResultSet rst,
                    int keyReg) {
                if (listeners != null && !listeners.isEmpty()) {
                    // object is going to be created (it contains the infos about the event)
                    NavBeanDB_EventDescriptor event_descr =
                            new NavBeanDB_EventDescriptor(
                            source, // dBbeanNavigator
                            nbEvtENUM,
                            rst,
                            keyReg);
                    // copy of the lisener to use it for add or remove
                    Vector targets;
                    synchronized (this) {
                        targets = (Vector) listeners.clone();
                    // proper event (select first, next, prev, last reg) is raised
                    Enumeration enumerat = targets.elements();
                    while (enumerat.hasMoreElements()) {
                        NavBeanDBListener_INTERFACE l =
                               (NavBeanDBListener_INTERFACE) enumerat.nextElement();
                        l.firedNavigationBeanEvents(event_descr);
                        System.out.println("Method fireTheEvent ----- key = " + priKeyOnTheScreen);
                }  // if
        } // fireTheEvent()
             * Adds a listener to the listener list.
             * @param l The listener to add.
            synchronized public void addNavBeanAddListener(NavBeanDBListener_INTERFACE l) {
                if (listeners == null) {
                    listeners = new Vector();
                listeners.addElement(l);
                System.out.println("E' stato registrato un nuovo ascoltatatore per navigationBar");
            } // addNavBeanAddListener()
         * Removes a listener from the listener list.
         * @param l The listener to remove.
        synchronized public void removeNavBeanRemoveListener(NavBeanDBListener_INTERFACE l) {
            if (listeners.contains(l)) {
                listeners.remove(l);
        }  // removeNavBeanRemoveListener()
        } // class NavBean_EventsBroadcaster2. The used interface
          * This is the interface that specifies the contract between a NavBeans
          * source and listener classes.
          * @author Owner
         public interface NavBeanDBListener_INTERFACE extends EventListener {
             public void firedNavigationBeanEvents(NavBeanDB_EventDescriptor evt);
         } // interface NavDB_BeansListener_INTERFACE3. the class adapter
        public abstract class DbNavigatorBean_Adapter implements NavBeanDBListener_INTERFACE {
             NavigatorBean_eventsList_ENUM navigatorBean_eventsList_ENUM;
             public DbNavigatorBean_Adapter() { // costruttore
             } // costruttore
              * This class have to be implemented from listeners to get events.
              * @param evt
             // NavigatorBean_eventsList_ENUM {user_chang, sequential_first, sequential_prev, sequential_next, sequential_last}
             public void firedNavigationBeanEvents(NavBeanDB_EventDescriptor evt) {
                 navigatorBean_eventsList_ENUM = evt.getEventType();
                 switch (navigatorBean_eventsList_ENUM) {
                     case user_chang:
                         toDoWhen_user_changeRegistration(evt);
                         break;
                     case sequential_first:
                         toDoWhen_setted_firstRegistration(evt);
                         break;
                     case sequential_prev:
                         toDoWhen_setted_prevRegistration(evt);
                         break;
                     case sequential_next:
                         toDoWhen_setted_nextRegistration(evt);
                         break;
                     case sequential_last:
                         toDoWhen_setted_lastRegistration(evt);
                         break;
                 } // witch case
             } // firedNavigationBeanEvents()
             abstract public void toDoWhen_user_changeRegistration(NavBeanDB_EventDescriptor evt); // { }
             abstract public void toDoWhen_setted_firstRegistration(NavBeanDB_EventDescriptor evt); // { }
             abstract public void toDoWhen_setted_nextRegistration(NavBeanDB_EventDescriptor evt); // { }
             abstract public void toDoWhen_setted_prevRegistration(NavBeanDB_EventDescriptor evt); // { }
             abstract public void toDoWhen_setted_lastRegistration(NavBeanDB_EventDescriptor evt); // { }
         } // class class DbNavigatorBean_Adapter_base4. the class used to describe the event
       Class used to dercribe the event that happened.
       public class NavBeanDB_EventDescriptor extends EventObject {
           private NavigatorBean_eventsList_ENUM navigationBean_events_ENUM;
           private int primaryKeyOfRegOnTheScreen;
           private ResultSet resultSet;
           private int totOfRegsRegistredOnTheTable;
            * Costructor: is used to describe the events
            * @param source
            * @param nbEvtENUM
            * @param rst
            * @param keyReg
           public NavBeanDB_EventDescriptor( // costruttore
                   Object source,
                   NavigatorBean_eventsList_ENUM nbEvtENUM,
                   ResultSet rst,
                   int keyReg) {
               super(source);
               this.navigationBean_events_ENUM = nbEvtENUM;
               this.resultSet = rst;
               this.primaryKeyOfRegOnTheScreen = keyReg;
               extractTotRegsInTheTable(rst);
       //        this.totOfRegsRegistredOnTheTable = rgsRegNmbr;
               System.out.println("Viene creata una istanza di event descriptor");
           }// costruttore
            * which possibe action caused the event,
            * was pushed the button (first, prev, next, last, user select...)
            * @return
           public NavigatorBean_eventsList_ENUM getEventType() {
               return navigationBean_events_ENUM;
           } // getEventType
            * primmary key of registration on the screen
            * @return
           public int getPrimaryKeyOfTheRegOnTheScreen() {
               return primaryKeyOfRegOnTheScreen;
           } // getKeyRegOnTheScreen
           * resultSet showed on the screen
           public ResultSet getTheFullRegistrationOnTheScreen() {
               return resultSet;
           } // getTheFullRegistrationOnTheScreen
           Number of registrations actually on the table.
           public int getTotRegsRegistredOnTheTable() {
               return this.totOfRegsRegistredOnTheTable;
           } // getRegsRegistredNmbr
            private classe that get data
           private void extractTotRegsInTheTable(ResultSet rst) {
               ResultSet localRst =rst;
               try {
                   int curRow = localRst.getRow();
                   localRst.last();
                   this.totOfRegsRegistredOnTheTable = localRst.getRow();
                   localRst.absolute(curRow);
               } catch (SQLException ex) {
                   Logger.getLogger(NavBeanDB_EventDescriptor.class.getName()).log(Level.SEVERE, null, ex);
       } // class NavBeansEvent5. a possible use of the JavaBeans
       public class TableClients extends JFrame
           implements LinkTablesToDlgThatRandomizeSelections_INTERFACE {
       private NavigationBean navigationBean;
       public TableClients() {   // constructor
            navigationBean = new NavigationBean();
            navigationBean.initializeDBbeanNavigator(...);
            this.add(navigationBean);
            navigationBean.addActionNavigatorListener(new DbNavigatorBean_Adapter() {
                        @Override
                        public void toDoWhen_user_changeRegistration(NavBeanDB_EventDescriptor nbdbed) {
                            // do something
                        @Override
                        public void toDoWhen_setted_firstRegistration(NavBeanDB_EventDescriptor nbdbed) {
                                // do something
                        @Override
                        public void toDoWhen_setted_nextRegistration(NavBeanDB_EventDescriptor nbdbed) {
                                // do something
                        @Override
                        public void toDoWhen_setted_prevRegistration(NavBeanDB_EventDescriptor nbdbed) {
                                // do something
                        @Override
                        public void toDoWhen_setted_lastRegistration(NavBeanDB_EventDescriptor nbdbed) {
                                // do something
    } // constructor
    } // class TableClientsthis code works well...
    But if I implement the javaBeans on more than one Dialogs (windows) and the user uses
    this dialogs sequentially, then the JavaBean responds to the events always as the caller is the
    first dialog that run...
    If I delete all listener (on the dialog) when the dialog is close then I have not problems
    still thank you
    Regards
    Angelo

  • Procedure to insert data into table by selecting data from another table

    Hi all,
    I have to create a procedure where i have to select the data from one table and insert it into another table. Any help on this. And i have to update the 2nd table also when ever new records got inserted in the 1st table then.
    Regards

    Hi, you can try something like:
    CREATE [OR REPLACE] PROCEDURE procedure_name
    IS
    BEGIN
    INSERT INTO TABLE1
    VALUES (SELECT * FROM TABLE2);
    END;
    For the other part you may create a trigger on the first table AFTER INSERT to insert the values in the second table too.

Maybe you are looking for

  • Report Generation and ActiveX control of MSWord 97

    I had posted this problem sometime ago with no response, but I had a chance to look at it again. I wanted to try some examples using MS Word instead of MS Excel. Well I would always get the attached error. It looks like LabVIEW cannot find MS Word. I

  • Macbook pro will not print on wifi

    ipad + iphone all print on wifi but not macbook pro tryed everyting bar pulling my hair out any help would me much appreciated

  • Data Entry Tab for Numeric Indicator does not Exist

    Hi I'm trying to set the data range for numeric indicators on LabVIEW 10.0.1. For some reason when I go to properties of my numeric indicator, there is no Data Entry Tab as explained on the NI website: http://zone.ni.com/reference/en-XX/help/371361H-

  • Proxy scenario

    Hi Gurus, Im getting the batch GRN XML message from 3rd party application for every half an hour and the batch XML message should be converted to batch Idoc. This is synchronous interface. SAPECC->PI->3rd party application I'm currently using the aba

  • Connecting through a switch?

    I have a WRT54G V8 router which I want to move downstairs for better reception.  I want to connect it through my EZXS55W V4.2 switch but I can't seem to get it working.  Do I have to change the router settings or is this not even possible? Broadband