Trigger DATA_CHANGED event from triggered DATA_CHANGED event in second ALV

Hello,
I do have 2 ALVs (class CL_GUI_ALV_GRID) in a Splitter-Control.
Both ALVs do have registered the event DATA_CHANGED in seperate handler methods.
If there is a change in first ALV(line insertion with values), there will be inserted a new line with values in the second ALV.  After handling the event at first ALV, I call CHECK_CHANGED_DATA of the second ALV and REFRESH_TABLE_DISPLAY of the second ALV. I would expect that the call of CHECK_CHANGED_DATA would trigger the event DATA_CHANGED, but it does not trigger the event DATA_CHANGED of the second ALV.
The problem is maybe that the input at the data is not made by the user(UI).
What could I do to trigger this event and check the new data at second ALV?
Yours Joerg

Hello ,
yeah thats correct , but in your case what you can do is
g_grid1(first alv) >CHECK_CHANGED_DATA( Importing E_VALID =  l_Valid )>in the implementation method of this ..update global variable g_second = 'X' in order to refresh ALV2.
g_grid1(first alv) -->Refresh_table_display( ).
if g_second = 'X'.
g_grid2-->SET_TABLE_FOR_FIRST_DISPLAY. so it will refresh the second alv contents.
endif.
regards
Prabhu

Similar Messages

  • Error while deleting events from the integration event queue

    I am trying to delete all the events from the integration event queue after reading it, like this (this is in Java):
            IntegrationEventWS_DeleteEvents_Input input = new IntegrationEventWS_DeleteEvents_Input();
            input.setDateTime("");
            input.setLastEventId("");
            try {
                 ((Default_Binding_IntegrationEventWS)onDemandStub).deleteEvents(input);
            } catch (Exception e) {
                 log.error("Deleting events from integration queue failed: ", e);
            }Alas, I get the following error message:
    Invalid method parameter(s): 'File Id'(SBL-ODS-50007)What does this mean? What is this mysterious "File Id" it supposedly gets? I don't see it anywhere in the SOAP message I'm sending and it isn't mentioned anywhere in the docs.
    Thanks in advance for any input.

    Dont keep this attributes null
    input.setDateTime(""); //Put a Default Time way in
    the past. Ex:"1/1/2000"
    input.setLastEventId(""); //pass the eventIdThe documentation states that those two are optional (although they are not nillable, for some reason). I tried to set the date to today, but I got the same result. Since setting a date is supposed to delete all events older than that date, I don't think setting it in the past will delete anything.

  • With 10.7.2 update iCal does not allow you to set "Reminders" by draging events from "All Day Events" into "Reminders" is there another way to do this instead of having to type out the entire reminder with date, time, and type?

    With 10.7.2 update iCal does not allow you to set "Reminders" by draging events from "All Day Events" into "Reminders" is there another way to do this instead of having to type out the entire reminder with date, time, and type?
    With Lion 10.7.1. you where able to drag events from "All Day Events" into the "Reminders" bar to create upcoming reminders.

    Exactly the same question I was about to post!
    Great being able to sync reminders (well overdue) however if I have to re-type a calener envent into reminders it's a waste of time!! 
    Come on Apple!!
    Just need an option for the calender event to add to reminder or the old drag to add to reminder functionality back, Please???

  • How to trigger events from inside an event to another event-stru​cture

    Hello,
    i have two event-structures (struct1 and struct2) which are running at the same time parallel in a loop.
    Currently there is an keydown-event in struct1, so when i press an ok-button then the corresponding event executes in struct1.
    struct2 is used to execute menu-entries from a custom runtime-menue.
    What i want to do is to select a menue-entry (which executes an event in struct2) and the from inside this event i want to trigger an event in struct1 (means simulate keypress ? ).
    Is this possible?
    Thanks for the help
    Solved!
    Go to Solution.

    If I read this problem correctly, you are essentially trying to do the same thing from different events in different event structures.  This type of problem is very common in UI based programs, since you often want to have the same action triggered by multiple events (e.g. button press, menu selection, keyboard shortcut).  You may wish to consider a change in your basic architecture.  Instead of splitting your code into two event structure loops, try splitting it into an event structure loop and a task handling loop.  The event structure only processes events.  At each event, it generates one or more tasks, which are passed to the task loop via queue.  Traditionally, the task data would be an enum for the task name and a variant for the task data.  You can find a discussion of this type of design here.
    For new designs, I would recommend a task object (use LabVIEW classes).  The task data type is the parent task object.  The actual tasks will be child objects.  This simplifies your top-level code quite a bit and makes it easily extensible without changing the top-level code.
    If you need more information, let us know.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Preventing textchanged event from triggering on table adapter update?

    Hello fellow humans
    I have a listbox populated from an MS Access database file. The user can select different values and textboxes and richtextboxes will display corresponding  strings from the same database file.
    All of these textboxes and richtextboxes will trigger on text changed event. And here's the deal: I want it to trigger when the user inputs something in the textboxes, but I *dont* want it to trigger when I call the .update on the table adapter.
    Is this possible somehow?

    Make a global bool and set it before you update and then test it in the textbox event ie:
    Sub Textbox1_textchanged event
        If allowtextboxchange then
           ' do the text box code
        end if
    End sub

  • Fire event from within another event ?

    It seems that an event fired from within another event does not
    actually execute its code until the firing event completes. The fired
    event's Time value in its Event Data Node indicates the time that it
    was told to execute, but using GetTickCount calls shows that its code
    does not execute until the firing event is finished. This happens
    whether Value Signaling is used to generate a Value Change event or if
    CreateUserEvent and GenerateUserEvent is used. Is this because events
    are placed in a queue ? This behavior is different from Delphi for
    example where the fired event executes right away when called from the
    firing event (before the firing event completes).
    I have an event that executes upon a button value change. I would
    like that same event's code to execute when another button is pressed,
    but also have other code in the second button's event execute after
    that first button's event's code completes. Is there another way to
    accomplish this ?
    Steve

    > It seems that an event fired from within another event does not
    > actually execute its code until the firing event completes. The fired
    > event's Time value in its Event Data Node indicates the time that it
    > was told to execute, but using GetTickCount calls shows that its code
    > does not execute until the firing event is finished. This happens
    > whether Value Signaling is used to generate a Value Change event or if
    > CreateUserEvent and GenerateUserEvent is used. Is this because events
    > are placed in a queue ? This behavior is different from Delphi for
    > example where the fired event executes right away when called from the
    > firing event (before the firing event completes).
    I'm not that familiar with Delphi, but LV events are asynchronous.
    Window
    s OS has two ways of firing events, Send and Post. The LV events
    are always posted. The primary reason is that the LV events are handled
    by a node, not by a callback. The node you are calling is in the middle
    of a diagram, and reentering it not valid.
    > I have an event that executes upon a button value change. I would
    > like that same event's code to execute when another button is pressed,
    > but also have other code in the second button's event execute after
    > that first button's event's code completes. Is there another way to
    > accomplish this ?
    The best way to reuse code is to use subVIs. Firing events, or rather
    sending events is pretty close in other events to making a function call
    dispatched to anyone interested in the event. The event just hides who
    you are calling and makes you put your parameters in a funny format
    stuffed inside the event. IMO it also makes the code very hard to read
    since you don't know what calls what.
    Instead, just put the code into a sub
    VI and call it whenever you need
    to, from the event structure in one or more locations, and from other
    loops and diagrams.
    Greg McKaskle

  • JTree - How do I fire a valueChange Event from a keyPressed Event?

    Hi,
    I have been stumped trying to figure out how to fire a valueChange event in my JTree from a keyPressed event.
    When a user changes tree node using the mouse a valueChange event fires. In my program the valueChange executes some code that must be done. I want to get my JTree to work, so that if a user is nagivating the tree using the keyboard, the code is only executed if they press the enter key.
    Below is a little demo program of what I am attempting to accomplish. Any suggestions would be greating appriciated.
    Thanks,
    Corey
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public class SimpleTreeDemo extends JFrame  {
      public SimpleTreeDemo() {
      public static void main(String args[]) {
        JFrame j = new SimpleTreeDemo();
        DefaultMutableTreeNode category = new DefaultMutableTreeNode("Top of JTree");
        DefaultMutableTreeNode leaf1 = new DefaultMutableTreeNode("leaf1");
        DefaultMutableTreeNode leaf2 = new DefaultMutableTreeNode("leaf2");
        category.add(leaf1); category.add(leaf2);
        final JTree jtree = new JTree(category);
        boolean bflag = false;
        jtree.addTreeSelectionListener(new TreeSelectionListener() {
             public void valueChanged(TreeSelectionEvent e) {
                  System.out.println("valueChanged");
                  if (bflag)
                       // Execute Code
        jtree.addKeyListener(new KeyListener() {
            public void keyTyped(KeyEvent ke) {
              System.out.println("keyTyped");
            public void keyPressed(KeyEvent ke) {
                 System.out.println("keyPressed");
                 if (ke.getKeyCode() == KeyEvent.VK_ENTER)
                      bflag = true;
                    // Fire valueChanged here!
            public void keyReleased(KeyEvent ke) {
                 System.out.println("keyReleased");}
        Container c = j.getContentPane();
        c.add(jtree);
        j.setSize(200,200);
        j.show();

    Try this, it works for me.
    // Tree Key Listener
          tree.addKeyListener(new java.awt.event.KeyAdapter() {
             public void keyPressed(KeyEvent e) {
                tree_KeyReleased(e);
    private void tree_KeyReleased(KeyEvent e) {
          try {
          int keyCode = e.getKeyCode();
          // Get the Tree Path
          TreePath selPath = tree.getSelectionPath();
          if (keyCode == e.VK_DELETE) { //KeyCode - 127
             removeSelectedNode(); // Remove the node
          else if (keyCode == e.VK_ADD) { // Key Code - 107
             tree.expandPath(selPath); // Expand the Node
          else if (keyCode == e.VK_SUBTRACT) { // Key Code 109
             tree.collapsePath(selPath); // Collapse the Node
          else if (keyCode == e.VK_ENTER) {
              // What Ever you want to do here
          else {
          } catch (NullPointerException ex) {
          //System.out.println("Null");
    [/code                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Is it possible to trigger the next event from within the event case?

    I have a rather complicated event that is triggered by a change in value of a particular button in the interface. In some cases, I want to alter that button's value when handling other events. But when I do this, the event handling a change in value for that button does not get triggered. Is there a way to make sure the value change event gets handled at the next iteration of the while loop in which the event structure sits?
    Solved!
    Go to Solution.

    Hi Mike,
    Thanks! I was using properties and did not previously know what the value(signaling) was. Knowing this will really help me clean up a lot of redundant code.

  • Fire another event from with an event

    How best to fire an event (say a boolean value change) from within another different event (say a second boolean value change) ? I've tried having the second event assign a value to the first boolean's Value Signaling property. This does fire the first event, but its code does not seem to be executed until the end of the second event. Both events have the event's Time property wired to front panel indicators to show when they fire. The first event also has a GetTickCount wired to a front panel indicator. The second event has a sequence structure which first changes the first boolean's Value Signaling property, then Waits 1000 msec, then performs GetTickCount. I would expect the two event's GetTickCount values to be differen
    t by 1000 msec but instead they are the same. The Time value of the first event is 1000 msec less however. Why does the first event's GetTickCount not get executed until after the delay in the event which fired it ? The same behavior occurs if CreateUserEvent and GenerateUserEvent are used in a similar manner.
    Attachments:
    Fire_Event_from_Another_Event.vi ‏76 KB

    The time given by the event structure is the time the event actually was generated.
    So when you generate a user event and then wait a second until you allow that user event to actually be handled the time of the user event is not one second after. You do not change the time the event fired, you just delay when it is handled.
    The same goes for the event fired using the value property.
    MTO

  • How do I create mutliple events from a single event?

    I have a large event clip which I want to divide into multiple smaller clips.
    The edit commands only seem to effect the clips in a project. In view of this I inserted the clip into a new project and then split the clip. However I cannot now transfer the new clips back into events.

    First set your importing option to encode as MP3 (I believe the default state is AAC). Then put in your CD. Now hit import and all the songs will be imported as MP3s into your iTunes library.
    If you want to see the actual files, then in the Finder, go to the Music folder then into the iTunes folder then into the iTunes Music folder where you will find folders by artist and inside those it goes by album.
    Patrick

  • Is there a way to disconnect an event from a repeating event?

    I have quite a few repeating events in iCal. I would like to be able to disconnec the ones in the upcoming week, so it won't take so long to process them when I chane them on my iPhone. I would like to do this every week. But there is no way that i can find to do this. When I move a repeating event, I am iven the option to disconnect it. But then when I put it back at the original time,it reconnects tothe repeating event. Very frustrating!

    open ical, on any day, double click to create a new event or choose file>new event, then in edit mode, select "all day" and for the field repeat, select "every day". then save. you should be done.
    hope this helps

  • Calling 'show hide' event from 'select' event

    Hi all,
    is it possible to call an event from another event?
    Can i call the 'show hide' event from the 'select' event to disclose the selected row?
    As a sidenote: is it possible to remove the show/hide button/link but to retain the show/hide functionality?
    Thanks in advance....
    Regards,
    Robert

    Hi Gabrielle,
    Yes indeed... the row information is sent... the 'select' event i'm refferring to is the one generated when you drag a viewobject as a readonly table to a UIX datapage...
    It is generated initially as
    <event name="select" source="EmpView10">
        <set target="${bindings.EmpView1Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'EmpView10')}"/>
    </event>However i must have made a typo last time as it works now... ohwell.. made some changes and submitted the selected row as parameter using
        <invoke method="handleEvent" javaType="view.DisclosureEventHandler">
            <parameters>
                <!-- Selected row -->
                <parameter javaType="java.lang.String" value="${ui:tableSelectedIndex(uix, 'EmpView10')}" />
                <!-- SessionScope attribute to put detailDisclosure in -->
                <parameter javaType="java.lang.String" value="detailDisclosure" />
                <!-- All the other stuff -->
                <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
            </parameters>
    </invoke>This works more cleanly and can be reused...
    Thanks for your replies... it always helps when someone is thinking along... it makes you takes some crossroads you wouldn't think of...
    Regards,
    Robert

  • DATA_CHANGED event handler is not triggered after input.(OO ALV)

    Dear Experts,
    What I did:
    I register Enter as the trigger event for data_changed event, and I put my checking logic in data_changed_handler which is a method of a local class. When the checking fails, I put messages using er_data_changed->add_protocal_entry to show messages.
    My checking is simple, if the cell is empty, error messages pops up tells that this cell can not be blank for this row.
    My problem:
    When there is no entry in the alv list(Only this situation), I insert a new entry, the cell which is required is empty, I press Enter, data_changed event is triggered, the message pops up saying that the cell is required. Then close the pop up message window, I input something in the cell, and press enter. The data_changed event is not triggered.
    Is there any1 has any ideas on this problem?
    Vicnent
    Edited by: Changjiu Tan on Sep 7, 2009 1:33 PM

      METHOD HANDLE_DATA_CHANGED.                               "#EC NEEDED
    *<<<  BEGIN MODIFY EXAMPLE CODE
    *   u4FDDu5B58u30C7u30FCu30BFu3092u7DE8u96C6u3059u308Bu3000START
        DATA: LW_INS      TYPE LVC_S_MOCE,
              LV_FNAME    TYPE LVC_FNAME,
              LW_MOD      TYPE LVC_S_MODI,
              LV_MAX      TYPE I,
              LV_RES(12)  TYPE C,
              LW_LIST     TYPE ZTSRE012,
              LV_ROWID    TYPE LVC_S_ROID,
              LT_MOD      TYPE LVC_T_MODI,
              LV_COLID    TYPE LVC_S_COL,
              LV_ROW_ID    TYPE LVC_S_ROW,
              LV_COL_ID    TYPE LVC_S_COL.
    *   u73FEu5728u306Eu30D5u30A9u30FCu30ABu30B9u4F4Du7F6Eu3092u53D6u5F97
        CALL METHOD GO_ALV_GRID7->GET_CURRENT_CELL
          IMPORTING
            ES_ROW_ID = LV_ROW_ID
            ES_COL_ID = LV_COL_ID.
        LOOP AT GT_LIST INTO LW_LIST.
          IF LW_LIST-ID > LV_MAX.
            LV_MAX = LW_LIST-ID.
          ENDIF.
        ENDLOOP.
    *   u30B0u30EBu30FCu30D7ID
        LV_FNAME = CNS_ID.
        LOOP AT ER_DATA_CHANGED->MT_INSERTED_ROWS INTO LW_INS.
          LV_MAX = LV_MAX + 1.
          CALL METHOD ER_DATA_CHANGED->MODIFY_CELL
            EXPORTING
              I_ROW_ID    = LW_INS-ROW_ID
              I_FIELDNAME = LV_FNAME
              I_VALUE     = LV_MAX.
        ENDLOOP.
        CLEAR: LV_FNAME.
        LT_MOD[] = ER_DATA_CHANGED->MT_GOOD_CELLS[].
    *   u30C7u30FCu30BFu30C1u30A7u30C3u30AF
        LOOP AT LT_MOD INTO LW_MOD.
          IF LW_MOD-FIELDNAME = CNS_ZZTTSN.
            LV_COLID-FIELDNAME = LW_MOD-FIELDNAME.
            LV_ROWID-ROW_ID    = LW_MOD-ROW_ID.
            CALL METHOD GO_ALV_GRID7->SET_CURRENT_CELL_VIA_ID
              EXPORTING
                IS_COLUMN_ID = LV_COLID
                IS_ROW_NO    = LV_ROWID.
            CALL METHOD GO_ALV_GRID7->GET_CURRENT_CELL
              IMPORTING
                E_VALUE = LV_RES.
            IF LV_RES IS INITIAL.
              CALL METHOD ER_DATA_CHANGED->ADD_PROTOCOL_ENTRY
                EXPORTING
                  I_MSGID     = CNS_MSGID
                  I_MSGTY     = CNS_MSGTY
                  I_MSGNO     = CNS_MSGNO
                  I_FIELDNAME = LW_MOD-FIELDNAME
                  I_ROW_ID    = LW_MOD-ROW_ID.
            ENDIF.
            CALL METHOD ER_DATA_CHANGED->MODIFY_CELL
              EXPORTING
                I_ROW_ID    = LW_MOD-ROW_ID
                I_FIELDNAME = LW_MOD-FIELDNAME
                I_VALUE     = LV_RES.
           ENDIF.
          CLEAR:  LV_RES,
                  LV_COLID,
                  LV_ROWID.
        ENDLOOP.
        CALL METHOD GO_ALV_GRID7->SET_CURRENT_CELL_VIA_ID
          EXPORTING
            IS_ROW_ID    = LV_ROW_ID
            IS_COLUMN_ID = LV_COL_ID.
      ENDMETHOD.                    "handle_data_changed
    Edited by: Changjiu Tan on Sep 7, 2009 1:31 PM
    Edited by: Changjiu Tan on Sep 7, 2009 1:32 PM

  • ALV Grid editable - How to raise the data_changed event from outside object

    Hi,
    i'd like to like to raise the data_changed event from outside the ALV-Grid object in order to display errors to the user.
    For example a new row was inserted within the program. The user has only to complete the missing informations. Before saving the transactions the program has to execute some semantic checks. The errors of this check process should be shown to the user by creating an instance of the cl_alv_changed_data_portocol object.
    Thanks.
    Regards

    You don't need to raise the data_changed event to perform the edits or to issue messages using cl_alv_changed_data_protocol.
    The following assumes you have an ALV grid object g_alv based on the CL_GUI_ALV_GRID class.
    You can mark the inserted records upon insertion as selected using the set_selected_rows method, and then retrieve these rows later using get_selected_rows and perform necessary edits.
    Save the row number of each inserted row into a table of the appropriate type (see the method definition for this):
    DATA: t_index_rows    TYPE  lvc_t_row.
    DATA: s_row_no        TYPE  lvc_s_roid.
    DATA: t_row_no        TYPE  lvc_t_roid.
    Load entries into t_row_no after each insert.  Capture the row number and save in the table t_row_no.
    e.g.
    PERFORM insert_row USING s_row_no-row_id.
    APPEND s_row_no TO t_row_no.
    FORM insert_row would have whatever code you are using to insert the row.  Save the row id into s_row_no-row_id (which is an INT4).
    When done with all inserts do the following
      IF t_row_no[] IS NOT INITIAL.
        CALL METHOD g_alv->set_selected_rows
          EXPORTING
            it_index_rows            = t_index_rows
            it_row_no                = t_row_no
            is_keep_other_selections = 'X'.
      ENDIF.
    Then, if SAVE is pressed without the data_changed event having been raised (such as if the user just pressed SAVE without changing anything), use method get_selected_rows to retrieve the rows that were inserted and perform the necessary edits.
      DATA: l_t_rows    TYPE lvc_t_row.              " ALV control: Table rows
      CALL METHOD g_alv->get_selected_rows
        IMPORTING
          et_index_rows = l_t_rows.
    Loop through l_t_rows and use the row as an index into the grid, perform the necessary edits, just as you would if the data_changed event had been raised.
    If any edits fail, then send messages to the user, abort the save, and re-display the grid.
    Remember to refresh the t_row_no and t_index_rows tables if you load a new data set.
    You can also use a similar technique with the data_changed event to mark each changed row as selected by saving the row ids, and then you only have to update the changed rows on SAVE, which can minimize database I/O.
    Good luck.
    Brian

  • 'CHANGE' event not triggering for BTE 2214 on park/change from FBV1/FBV2

    I have designed a workflow template for FI parking. If the parked document is rejected, i need to trigger FIPP 'CHANGE' event for sending workitem to approver when someone changes the parked document. In SWEL event trace, the 'CHANGE' event is not getting raised.
    So i implemented a BTE 000002214 and now i am able to raise 'CHANGE' event and capture it in workflow. But this is only working when i park a document using FV50 transaction and later change it.
    But when i park a document using FBV1 and then make changes from FBV2, the 'CHANGE' event is not being triggered in SWEL. Should i implement some other BTE like 2218 etc? Can you please help?

    Hi Gokul,
    You can try handling the SAVE event instead of the CHANGED event.
    T-code FBV2 will not allow you to save the document unless you make some changes.
    Try implementing BTE 2218 and revert.
    Thanks,
    Sreekanth

Maybe you are looking for

  • Psd files are being saved as .14 file format and I cannot open them

    I have been creating a few large (100MB+) files in Adobe Photoshop CS4. I saved the files both as .psd and .jpg. When I restarted my computer the next day, I went to open the file and instead of seeing the normal Photoshop icon on the file it was jus

  • Credit available but apps debited from my bank account

    I have a balance on my account in the application store. If I buy from I tunes it takes it off the credit balance, but when I buy from the app store it goes off my bank account even though there are funds available?  How can I stop this?

  • Error 16822 when downloading Adobe Help.

    I use Adobe Premiere Elements 9.0.1 in Windows 7 and get error 16822 when trying to update Adobe Help. Any clue?

  • Unable to play any games in iOS 6

    Unable to Play any games after updating my iOS to 6 in iPhone 4. the application always continues to ask for the apple id password repeatedly.

  • Upload photos, how?

    Greetings, I wanted with my iPad using Safari to upload some pictures on face-book. But I got the message I need Flash Player during the process. Trying to get that installed i got the message, Flash Player is not supported... How can i upload pictur