How to handle tab change event in UI shell main area

Hi,
I have two tabs(two taskflows) in UI shell main area. one is department tab and another is employee tab. My department tab shows employees department wise. On employee tab I have emplyee table which shows employees jobwise. This employee table has the functionality of adding new record to employee vo as well.
Now i follow these steps.
1. by defualt department tab is open.
2. by clickinng on Tasks menu link i open Employee tab in to main area. Now i have both tabs in main area.
3. at Employee tab I search all employees job = accountant. It shows the search result well.
4. Now i add a new record to it and without saving/deleting this record i move to department tab.
5. at Department tab i search employees where department =20, here no relation b/w job and department.
6. Now i return to employee tab. my newly added record got disappeared. It is there but does not show in table.
How to resolve it??
I have one solution in my mind while changing the tab i can prompt to user "you can not leave the newly added record..either save it or delete it". But how to catch tab change event here? where i can write code to prompt msg to user?
Pls help.
Edited by: 900997 on May 6, 2012 4:10 AM

With apologies for the slow reply, I'm currently travelling.
Two things to note:
1) The af:document uncommittedDataWarning flag was designed to stop users navigating away from half entered records. More about this flag can be found here:
http://docs.oracle.com/cd/E23943_01/web.1111/b31973/af_orgpage.htm#CACDDDFH (see point 4)
http://www.oracle.com/technetwork/developer-tools/adf/unsaveddatawarning-096556.html
....please note our documentation from time to time spells this flag wrong with only one "t" in the word committed, so if you're attempting a bulk search check for this (and I'll raise document bugs to get this fixed in the future).
2) On addressing the ADF UI Shell, if you're switching between "pages" in the UI Shell, as separate to switching between dynamic tabs within a single page using the UI Shell, the UI Shell will actually restart the currently running task flow in the page you're returning too. You can verify this by implementing an initializer on your task flow with a log message, and watching when the initializer is called.
In addressing your last question, at this stage I think you need to assess my first answer then come back if you think you sill need to execute the code on the tab click. I also need to know are you talking about the primary level of tabs that represent each page in the UI Shell, or are you referring to the dynamic tabs within a single UI Shell page that hold your task flows?
CM.

Similar Messages

  • How to handle Text  change event in text box in SAP B1

    Hello Expert...
    How to handle Text  change event in source.
    Please define the Event when i change the text in textbox..
    currently i am using the Lost focus event but it is only occur when tab focus lost from that text box.
    So please required solution ASAP..
    Regards,
    Abhinav Lalpurwala
    Edited by: Abhinav Lalpurwala on Aug 5, 2011 3:19 PM

    Hi,
    Catch the et_VALIDATE event, when InnerEvent = False and ItemChanged = True.
                If pVal.EventType = BoEventTypes.et_VALIDATE Then
                    If pVal.InnerEvent = False And pVal.ItemChanged Then
                        'TODO Your code here...
                    End If
                End If
    Regards,
    Vítor Vieira

  • How to handle tab leave event

    Hi.
    I'd like to handle tab leave event before user selected tab shown.
    because I'm making Settings dialog.
    So I want to validate tab contents when user leaving the tab.
    And stay the tab if invalid user input.
    Thanks.

    With apologies for the slow reply, I'm currently travelling.
    Two things to note:
    1) The af:document uncommittedDataWarning flag was designed to stop users navigating away from half entered records. More about this flag can be found here:
    http://docs.oracle.com/cd/E23943_01/web.1111/b31973/af_orgpage.htm#CACDDDFH (see point 4)
    http://www.oracle.com/technetwork/developer-tools/adf/unsaveddatawarning-096556.html
    ....please note our documentation from time to time spells this flag wrong with only one "t" in the word committed, so if you're attempting a bulk search check for this (and I'll raise document bugs to get this fixed in the future).
    2) On addressing the ADF UI Shell, if you're switching between "pages" in the UI Shell, as separate to switching between dynamic tabs within a single page using the UI Shell, the UI Shell will actually restart the currently running task flow in the page you're returning too. You can verify this by implementing an initializer on your task flow with a log message, and watching when the initializer is called.
    In addressing your last question, at this stage I think you need to assess my first answer then come back if you think you sill need to execute the code on the tab click. I also need to know are you talking about the primary level of tabs that represent each page in the UI Shell, or are you referring to the dynamic tabs within a single UI Shell page that hold your task flows?
    CM.

  • How to handle value change events of select list in custom component?

    My HelloUIComp code...How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...
    public class HelloUIComp extends UIComponentBase {
        public static final String account="custom.account";
        public static final String RENDERER_TYPE = null;
        HtmlCommandButton button = createButton();
        //HtmlSelectOneMenu select=createSelect();
        public void processDecodes(FacesContext context) {
             Calling the lifecycle method "processDecodes" on the
             internal button is absolutely critical to create action events
             button.processDecodes(context);
             super.processDecodes(context);
        private HtmlCommandButton createButton() {
             FacesContext context = FacesContext.getCurrentInstance();
             HtmlCommandButton newButton = new HtmlCommandButton();
             newButton.setId("Add");
             newButton.setValue("Add");
             newButton.setType("submit");
             //newButton.setOnclick("return func_1(this,event);");
             MethodBinding binding = context.getApplication().createMethodBinding("#{pc_MyProjectView.go}", null);
             newButton.setAction(binding);
                  newButton.setParent(this);
             return newButton;
      /*  private HtmlSelectOneMenu createSelect()
             HtmlSelectOneMenu selectCategory=createSelect();
             return selectCategory;
         public void encodeBegin(FacesContext context) throws IOException {
              String style = (String)getAttributes().get("style");
              String startdate = (String)getAttributes().get("startdate");
              String enddate = (String)getAttributes().get("enddate");
              //String add=(String)getAttributes().get("add");
              ResponseWriter writer = context.getResponseWriter();
             writer.startElement("table", this);
            writer.writeAttribute("border","2","2");
            writer.startElement("tbody", this);
            writer.startElement("tr", this);
            writer.startElement("td", this);
            writer.writeText("Account Category", null);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.writeText("Reg-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Account-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Start-Date", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("End-Date", null);
              writer.endElement("td");
              writer.endElement("tr");
              writer.startElement("tr",this);          
              writer.startElement("td", this);
              writer.startElement("select", this);
            if (style!=null)
                   writer.writeAttribute("style", style, null);
            writer.writeAttribute("name","category","category");
            writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              //to access data
              Account accountObj;
              AccountData accountDataobj;
              List listOfAccounts;
              int noOfAccounts;
              accountDataobj=new AccountData();
              listOfAccounts=accountDataobj.getAccounts();
              noOfAccounts=listOfAccounts.size();
              for(int i=0;i<noOfAccounts;i++)
              writer.startElement("option", this);     
              accountObj=(Account) listOfAccounts.get(i);
              writer.writeText(accountObj.getCategory(), null);
              writer.endElement("option");
              //System.out.println(accountObj.getRegNo());
              //System.out.println(accountObj.getAccountNo());
              writer.endElement("select");
              writer.endElement("td");
            writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","regno","regno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);     
              writer.startElement("option", this);
              writer.writeText(""+accountObj.getRegNo(), null);
              writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","accno","accno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);
              writer.startElement("option", this);
              writer.writeText(accountObj.getAccountNo(), null);
              writer.endElement("option");
              //writer.startElement("option", this);
              //writer.writeText("00200155", null);
              //writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              button.encodeBegin(context);
             button.encodeChildren(context);
             button.encodeEnd(context);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","startdate","startdate");
              writer.writeAttribute("value",startdate,startdate);
              writer.writeAttribute("readonly", "","");
              //writer.endElement("input");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","enddate","enddate");
              writer.writeAttribute("value",enddate,enddate);
              writer.writeAttribute("readonly", "","");
              writer.endElement("td");
              writer.endElement("tr");
              writer.endElement("tbody");
              writer.endElement("table");
         public String getFamily() {
              return "HelloFamily";
         }

    NewEclipseCoder wrote:
    How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...Two ways:
    1) submit the form to the server and render the desired textbox depending on the option.
    or
    2) render all textboxes and use Javascript/DOM to display/hide them depending on the option.

  • How to track tab changed event

    hi friends ,
    i have created a JTabbePane and added few tabs like, addd tab, delete tab, modify tab.... etc
    how do i track the evnt when user select different tab . i have to perform few tasks when the tab selectio changes.. so how do i do that
    pls do help , thnks

    when you need to intercept an event look to methods
    add....Listener normally you find out what you need.
    Sometimes you have to look at
    getModel().add....Listeneryes , i tried what you said and it showed me all the listeners for that component , thanks once again for your valuable suggestion

  • How to catch IE7 tab change event in Java Applet?

    My applet have some modeless dialogs, When I start my applet with modeless dialog in tab1, if I swith to tab2, the modeless dialog of tab1 remains open.
    So I want to catch the tab change event, and set modeless dialog invisible when tab changes.
    Who knows the solutions.... Thanks

    To get to the IE7 browser, you'll have to go through JNI if you're using Java to get to a C level interface. You'll have to write the code to interface to it also. IE7 does not have a Java interface, inface, MS has a vested interest in not supporting a Java interface. You'll have to look up the IE7 developers docs to see the OLE interface you'll have to hit.

  • How to handle double click event in a text control

    Hi,
       Will u please send me information on handling double click events inside text control and also about locking and unlocking of DB tables for updation.
    Regards,
    Praba.

    Hi Prabhavathi,
    Here is how you handle double click events in Textedit control.
    1)Create a custom control in screen (say TEXT_CONTROL)
    2)In main program,
    a) Declarations:
    data: obj type ref to cl_gui_custiom_control.
          text type ref to cl_gui_textedit.
    b) Create the instance of custom container
    c) Create the instance of textedit control.
    3)Now to handle double click events , create a local class as follows.
    class shail_event definition.
    public section.
    methods:
    handle_doubleclick for event dblclick of cl_gui_textedit .
    endclass.
    class shail_event implementation.
    method handle_doubleclick .
    here do the coding for handling the double click.
    endmethod.
    endclass.
    4) Create an instance of the handler class(ie.ZSHAIL_EVENT).Let it be named hand.
    5) Define varibles for event.
    DATA: i_events TYPE cntl_simple_events,
          wa_events TYPE cntl_simple_event.
    SET HANDLER hand->handle_doubleclick for text.
    wa_events-eventid = cl_gui_textedit=>event_double_click.
    wa_events-appl_event = 'X'. "This is an application event
    APPEND wa_events TO i_events.
    6)
        CALL METHOD texte->set_registered_events
          EXPORTING
            events                    = i_events
          EXCEPTIONS
            cntl_error                = 1
            cntl_system_error         = 2
            illegal_event_combination = 3
            OTHERS                    = 4.
        IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    These are the basic steps needed for handling events in Textedit control.You can go to SE24 and type CL_GUI_TEXTEDIT to find the associated events of the class.
    If you want the program, kindly send your mail-id so that I can mail it to you.
    Regards,
    Sylendra.

  • How to handle fund changes

    Hello All,
    I have following question about how to handle fund changes at the installment.
    1) At first i created document as follows.
         Tuition fee : 100 USD
         Fund  was 0A00 .
    2) I also created installment for qbove document.
        Installment 1 : 50 USD
        Installment 2 : 50 USD
    3) During clearing fund was changed to 0B00 for the installment 2 by the FM team for their own purpose.
        When student pay installment 2, i got an error and how can i handle in this case.
    your help would be appreciated.
    regards,

    FM errors can be tricky.  Changing the original fund is likely the culprit.  Do you have more detail about the specific error your are receiving.  This is not enough information to resolve an issue in FM.

  • Tab Change Event

    Hi Experts
    I  am having problem for catching System (SAP ) Tab Change Event in AP Invoice
    In Ap Invoice in Accounting Tab in Jounal Remark Field .I have change text but When i Click following tab text changes automatically I am doing this by addon

    Hello
    You can connect you FMS into the document status/document total/ Create date fields (select from the list), and not to the Customer when it is entered.
    By this when you post the document, these fields are calculated / validated that time, so the fms will be called as the last step. int this way disabling the tab change is not necessary.
    Regards
    János

  • How to handle the drop event

    Hi everyone,
    Now I'm developing the function about drag-drop source(image & text) from Panel Tree to the document.
    I also have a look at the basic drag/drop & Panel Treeview, but all of them is not the source code mentions to how to handle the drop event, almost about drag event only.
    Now when user Drags(image, text) from PanelTreeView(example) and drops them to document and then new page Item contains source(image, text) created, so I want to get the page item after drop event.
    so anyone know about this please give me suggestion
    thanks so much.

    i dont think you can.
    ~~~~~~~~~~~~~~~~
    --> Adobe Certified Expert
    --> www.mudbubble.com
    --> www.keyframer.com
    ~~~~~~~~~~~~~~~~
    keyoke_za wrote:
    > Hi,
    > How can I get my flash movie to handle the drop event
    when dropping objects from outside the flash window.
    > Thanks for your help..

  • How to handle form close event or escape key press event for user defined f

    Experts,
    Please let me know how to handle form close event or escape key press event for user defined form...
    Thanks & Regards,
    Pravin.

    Hi
    You can catch the form close event like this
    If ((pVal.FormType = 139 And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_CLOSE)) And (pVal.Before_Action = True)) Then
          Try
                   SBO_Application.SetStatusBarMessage(pVal.EventType.ToString())
          Catch ex As Exception
                    SBO_Application.SetStatusBarMessage(ex.Message)
            End Try
          End If
    Hope this helps
    Regards
    Arun

  • How to handle Scrollbar's event in the Form Block !

    I want to create three Block like
    Block : X-axis , Source From View
    Block : Y-axis , Source From View
    Block : Cell , Source From Stored Procedure.
    The relation is (X-axis , Cell) , (Y-axis ,Cell).
    Then , if i scroll X-axis or Y-axis Scrollbar , then Cell will change !
    Problem : If X-axis Cursor record does not change , the Cell's Data will not refresh.
    Can tell me how to handle the scrollbar's event , Thank.

    Thank you.
    The Cell's behavior is a matrix , the relation will execute when X,Y record is changed !
    if you move the scrollbar , will chanage block's data , but the cursor record does not change another!.
    If i use JaveBean to handle it , possible ?
    Using Form 6i .

  • How to handle password changes if we implement singlesignon between BO& BI7

    Hi,
    As we know ,we can implement single signon between BO and SAP BI 7, by importing roles and users through CMC and by selecting the option "Use Single signon during report refresh time".
    My doubt here is, When we import roles from SAP and Auto import the users, is it only the SAP usernames that are stored in BO repository or both username and password. If  second case holds true then how to handle/manage password change for a user who is already imported in BO sometime back?
    Would the password changes be reflected automatically in BO?
    Please guide me if you think that I'm thinking in a wrong direction.

    Hi Naresh,
    password changes are reflected automatically in BO. BO just forwards the data to the SAP side and it does the real authentification.
    Regards,
    Stratos
    PS: Keep in mind that you cannot change the SAP password on the BO login screen if your SAP password has expired. You have to do this with the SAP client (SAP GUI)

  • How to handle version changes? Strategies?

    We're struggling with version change issues. Most recently we tried to move from 8.5 to 8.6 and lost about a week of project time while we tried to make it run well. The problem was that the Development Environment would crash several times a day while doing block diagram edits, losing unsaved changes. We never found any clues as to why. It would be one thing to debug a VI that crashes, but when it is the LV editor itself that is crashing, how do we work on that?
    Anyway, we have a policy here of freezing software updates for projects that are close to completion, because buggy updates so often delay project completions, and this triggered a return to 8.5, which is where we remain now on that project.
    But now we can't install and use the VI Analyzer we just bought on any of the PCs tied to that project, as it demands 8.6. I do have one PC that is completely disconnected from this project, and it runs 8.6, so running the Analyzer there may be useful, but still messy.
    How do you handle version changes? How often do you try to follow the updates? How often do you need to go back a version? Do you maintain different versions? Is it even possible to run multiple versions on an individual Win XP PC?
    Thanks!

    I have installed several versions of LabVIEW on my system.
    Most of the toolkits are only installed in the latest versions. There are ways to install toolkits on multiple versions.
    And I think that toolkits as of LabVIEW version 8.6 can be installed on several LabVIEW verions.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • How to handle check box events in alv tree.

    hi,
    i am working in CL_GUI_COLUMN_TREE class.Also using Check box. Now i want to handle events for check box . I am new to ABAP Objects.
    Pls expaline in detail or send code
    thanks in advance,
    senthil kumar.r

    Hello Senthil
    Have a look at the sample report
    SAPCOLUMN_TREE_CONTROL_DEMO
    . The crucial points are:
    <b>(1) Register the required events at the control</b>
    * define the events which will be passed to the backend
      " checkbox change
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_checkbox_change.
      event-appl_event = 'X'.
      append event to events.
      CALL METHOD G_TREE->SET_REGISTERED_EVENTS
        EXPORTING
          EVENTS = EVENTS
        EXCEPTIONS
          CNTL_ERROR                = 1
          CNTL_SYSTEM_ERROR         = 2
          ILLEGAL_EVENT_COMBINATION = 3.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    <b>(2) Set the event handler</b>
    assign event handlers in the application class to each desired event
      SET HANDLER G_APPLICATION->HANDLE_CHECKBOX_CHANGE FOR g_tree.
    <b>(3) Define and implement event handler method</b>
      METHOD  HANDLE_CHECKBOX_CHANGE.
        " this method handles the checkbox_change event of the tree
        " control instance
        " show the key of the node and the name of the item
        " of the clicked checkbox in a dynpro field
        G_EVENT = 'CHECKBOX_CHANGE'.
        G_NODE_KEY = NODE_KEY.
        G_ITEM_NAME = ITEM_NAME.
        CLEAR  G_HEADER_NAME.
      ENDMETHOD.
    Regards
      Uwe

Maybe you are looking for

  • IE8 in Windows 7 crashing with flash frequently

    Hello, I'm running a brand new install of Windows 7 (formatted with Windows 7 on a brand new drive, not upgraded from a previoius OS).  I'm running the 32 bit Internet Explorer 8.0.7600.16385 on a Windows 7 Ultimate x64 with all the latest MS patches

  • New Use for this Forum

    Why not use this forum to communicate ways to extend the life of Freehand? Longtime users all find workarounds... some people will have to migrate, but not everyone. Even those that do may create dual-boot computer environments to access Freehand. Th

  • 50,000 missing emails in Mavericks - what is going on Developers?

    I have not had a problem with lost mail since OS8.1 ('98/99) and then came Maverick 10.9... SO I import my mail folders and preferences as normal from backup.... Mail is importing 50k messages, but then nothing, zero, zilch.... I have backups and I h

  • If I restore my iPad do I lose everything

    I'm told I must restore my iPad. Will I lose everythung on my iPad?

  • How to delete/update GPS data using Lightroom?

    Title says it all, but I'll explain why I need it. I have a Sony SLT A55 which is apretty good camera, it has a GPS. The way GPS work in this camera is it gets a fix, and then updates every undetermined time the position. That's okay, what is stupid