Handling impatient users

Hi
I have a problem with java-servlets and I hope someone have a suggestion on how I should solve it.
It all concerns handling impatient users, or more specifically to stop them from performing new (or the same) request while the first request is still executing.
We are using JSP 1.1 together with the Struts-framework to develop a customer application and some of the usecases (implemented as Session EJB's) take a "very" long time to finish. (very long = longer than your average impatient users expects)
The user triggers another servlet-call in order to "make things happen faster" and as you all know this is where my problem starts.
I have written code that tells me if this specific user have any pending transactions. If the user already has started a transaction I want to ignore the second (and third, and fourth, and so on) call.
How do I do that? If I simply ignore the execution of either doGet or doPost, the user gets a blank html screen and when my first transaction completes it's execution the result has nowhere to go (BIG mess-up in the server console).
More simply: How do I chose to ignore a servlet-request and dont send any response what so ever to the users browser?
regards ... Jocke

- why do you suggest that I start the main-execution
in a new thread, and why should it (the thread) be
stored in the users Session object?if you might know, the doGet() (or better the service()) method runs as a thread. There are some reasons when this method gets terminated, one of it is if the serlvet runner detects that the client connection has been lost which could happen if the client send a new request (depends on if there are persistent HTTP Connections used). Second, it is not said that the serlvet runner detects that case if you don't write anything out to the client connection, but you can't be really sure that this does not happen. If it happens, the service() method would get aborted, no matter if it is still processing.
To avoid this, you could create your own thread an place it in the session object. Like this, the service() thread might get killed without killing the processings in your thread or your thread itself.
- how do I get my web server to stop executing the
second request? Even if I store the new Response
object and do nothing else in the doPost method, the
browser still receives a reply (a blank page)?This shouldn't happen if you right something out to the client. I guess the blank page is just displayed because the request runs through the service method and has nothing to write out to the client.

Similar Messages

  • Best Ways to Handle Multiple Users

    First post....heres my question. Can anyone help me determine the best way to handle multiple users in itunes? Some Background:
    My family shares one computer. We have on folder on the hard drive where we keep all our music files. I got an ipod and itunes and added some of the music to itunes and have pretty much used itunes for my music.
    Now my girlfriend got an ipod and I am hoping to somehow keep her music away from mine so to speak. So that I can keep synching my ipod without adding a bunch of music I dont want.
    Is there a way to handle this? So thankfull for any help!

    There is an apple article on this here:
    http://docs.info.apple.com/article.html?artnum=300432
    It sounds as though method 1 would be best for you.
    Also see how to keep the music files in one place to avoid duplication:
    http://docs.info.apple.com/article.html?artnum=93195

  • Error handling in user exit

    Hello every one,
    How to do error handling in user exit plz gimme some example for this..
    Regards
    Martin

    Hi Jen,
    the problem is that I want to use a transaction that needs data (TO number) that I created already but I don't called a COMMIT, see following structure (simplified):
    * Creating TO
    PERFORM create_new_transport_order CHANGING lv_generated_to_num.
    CALL TRANSACTION LT31 WITH lv_generated_to_num.
    <....>
    COMMIT WORK.
    Is it possible to call a transaction with data that is not really in the database yet? That's my question/problem.
    Thanks

  • Why do I get a "NullReferenceException was not handled by user code" error in one situation but not in the other?

    We are using Sharepoint 2010 and Infopath 2010.  In my form, I have a Managed Metadata field that I need to test for a Null value.  I found, with the help of this forum's participatns, that a [field]_Changed event for one MMD field runs multiple
    time because of the underlying XML elements (Terms, TermInfo, TermName, TermId).  So I'm trying to figure out how to test the XML to see when the TermName has a value.  By doing this, I hope to limit when the additional code in my form runs, i.e.
    I'll only trigger it when TermName is not null. 
    Just to test for null/empty (before doing anything that calls the addtional code) when I run this code, it completes correctly but always shows a message box:
    Dim strTest As String = Me.CreateNavigator.SelectSingleNode("/pr:properties/p:properties/documentManagement/ns2:h2b59c4ae4144c01973b1d8571d217ad", Me.NamespaceManager).InnerXml
                If String.IsNullOrEmpty(strTest) Then
                Else
                    MessageBox.Show("This is the value of the States InnerXML   " & strTest)
                End If
    But when I run this code, I get a "NullReferenceException was not handled by user code.  Object reference not set to an instance of an object" at the "Dim strTest..." line:
       Dim strTest As String = Me.CreateNavigator.SelectSingleNode("/pr:properties/p:properties/documentManagement/ns2:h2b59c4ae4144c01973b1d8571d217ad/pc:Terms/pc:TermInfo/pc:TermName", Me.NamespaceManager).InnerXml
                If String.IsNullOrEmpty(strTest) Then
                Else
                    MessageBox.Show("This is the value of the States InnerXML   " & strTest)
                End If
    Can any one explain why drilling down like this gives me this error?  And can you tell me how to get around it so I can limit how many times the code in my Infopath form needs to run?
    Thanks in advance.  Carol.

    Never mind, I think I've got it figured out.  When I do it this way, I get to the If Not...Nothing at the correct time. Thanks for sending me down the correct path, Scott. Carol.:
    Dim
    firstStr As
    String =
    String.Empty         
    Dim xNav
    As XPathNavigator = MainDataSource.CreateNavigator()
    Dim xFirst
    As XPathNavigator = xNav.SelectSingleNode("/pr:properties/p:properties/documentManagement/ns2:h2b59c4ae4144c01973b1d8571d217ad/pc:Terms/pc:TermInfo/pc:TermName",
    Me.NamespaceManager)
    If
    Not xFirst
    Is
    Nothing
    Then               
    Dim strxFirst
    As
    String = xFirst.InnerXml
                    MessageBox.Show(
    "Value of InnerXML   " & strxFirst)
    Else
                    MessageBox.Show(
    "Empty or Null")           
    End
    If

  • Need to instance to be able to handle 30000 users.

    Hi all,
    I need to install oracle 10g release2 rdbms with one instance.Now the condition is this instance should be able to handle 30000 user sessions.Which parameters are directly responsible for number of user sessions.Precisely which parameters are to change to accept more number of users sessions.If you could suggest some value ..it would be helpful.
    regds,
    AD

    Is that 30,000 concurrent user sessions?
    Some of the considerations will be the type of load - DML intensive or query intensive. If short duration DML, then you may want to look at Shared Server as a method of reducing or containing resources. In which case dispatchers, circuits and shared server parameters are relevant.
    If these sessions are concurrent, you may want to look at RAC to distribute the load across several host computers. IN which case the entire set of RAC parameters become relevant.
    With 10g Release 2, you would possibly want to take advantage of the automatic memory tuning capability to get you out of detailed memory parameter management. Otherwise all parameters that involve the SGA and PGA, especially the pools, become relevant.
    Other than that, the processes parameter and (the normally derived) session parameter are relevant.
    IMO, the logical and physical design will have a significant impact on the number of users - possibly more impact than parameter settings. I refer you to Tom Kyte's books (see http://www.apress.com) to get a detailed discussion of scalable design.

  • How do u handle the user parameters for a currency field.

    How do u handle the user parameters for a currency field.
       Decimal saperator and a hundreds saperator. (depending upon the user parametes set for the user the saperators may differ)
          Eg: currency field: 13.896,01 (In this case u2018,u2019 is a thousand saperator and u2018.u2019 is a decimal saperator) How to handle this one.
    Regards,
    Ram.

    Hi,
    Try this code....
    DATA: V_KURSF1 TYPE c LENGTH 10,
            v_kursf2 type c LENGTH 10,
            v_dcpfm    TYPE xudcpfm, "Decimal or Thousand Notation
            v_thousand TYPE char1,   "Thousands Notation
            v_decimal  TYPE char1.   "Decimal Notation
      CONSTANTS:    c_x      TYPE char1 VALUE 'X',
                    c_y      TYPE char1 VALUE 'Y',      "Value Y
                    c_comma  TYPE char1 VALUE ',',      "Comma
                    c_point  TYPE char1 VALUE '.',      "point
                    c_blank  TYPE char1 VALUE ' '.      "Blank
      IF v_dcpfm IS INITIAL.
        SELECT SINGLE dcpfm
        FROM usr01
        INTO v_dcpfm
        WHERE bname = sy-uname .
        IF sy-subrc = 0.
          CASE v_dcpfm.
            WHEN c_x.
              v_decimal  = c_point.
              v_thousand = c_comma.
            WHEN c_blank.
              v_decimal  = c_comma.
              v_thousand = c_point.
            WHEN c_y.
              v_decimal  = c_comma.
              v_thousand = c_blank.
          ENDCASE.
        ENDIF.
       ENDIF.
               Find c_point in  wa_segment-exchange_rate.  ( Eg:ield)
              if sy-subrc = 0.
                replace c_point in wa_segment-exchange_rate with v_decimal.
              endif.

  • In ldap how do you handle to users logged in at the same time

    in ldap if i am logged in as one user and make a change to a page and another user makes another change how do i handle refresh the other persons logged in pages...

    Hi,
    to which page do you add a change and what has LDAP to do with this ?
    Frank

  • How do I handle multiple users - iPad, 2 iPhones, itunes, 1 appleID?

    I need to get this right the first time and MUCH appreciate all tested help advice. I have exhaused the support site. About everything is directed at a single user, rather than "family".
    Existing Configuration:
    1 Apple ID
    1 iPad 3G/WiFi used by 2 users (one AppleID).
    Tons of iPad APPS.
    We both use the iPad extensively.
    2 iPad calendars (one for each user) in the Calendar application.
    On the iPad, MAIL checks our non-Apple email accounts (leaves messages on servers). We delete messages using the laptop. We don't care that we both see all our email if we want. We have numerous accounts.
    Have not used CALENDAR on iPad yet. I know it can have multiple calendars.
    Use same CONTACTS list.
    Synching done to a Windows 7 PC Laptop. Each user has seperate login.
    iTunes on PC set to shared directory so all users share same things when synched.
    Numerous CDs in iTunes via download or ripping.
    NEW: Am adding the following for the first time.
    2-each iPhone 4S 32Gb (one for each user) on order from Verizon. We are switching from other non-Apple phone types.
    I have not setup iCloud for either of us yet.
    DELTA:
    Both users switching to iPhone 4S which brings up settings and configuration questions.
    QUESTIONS:
    (1) What is the best way to configure and keep synched the iPad, PC, and iPhones synched to keep all this working properly.
    (2) Wouldn't a seperate AppleID for the 2nd user really messup the iPad?
    (3) Would like to keep each users photo/movies seperate if possible.
    (4) Don't really want to get notifications on both iPhones when only applies to 1 user (facebook, new emails, etc).
    (5) Don't care if I have to switch to different calendars to make this easier.
    (6) Other questions I can't think of.
    Thanks for all the tested suggestions.

    I have an ipad2 and a iphone4 and a ipod touch 1g
    using 1 appleID
    (all having their own backup and their own content in terms of apps and music and movies)
    wife got an ipad touch 3g using her own appleID (she sync with her own computer though)
    it no problem at all
    if she were to sync with my computer though then It would be don by making a new account on the computer to avoid the whole mess with more then 1 appleID

  • How to handle local user in SSO?

    Hi all,
    I'm setting up OAM 11g for SSO of web applications in our organization.   Some of the applications have single URL for both corporate users, guest, and administrators.  As the OAM is using corporate LDAP as authentication backend, guest and administrator can't be authenticated.  Is it possible to define policy so that a webgate protected URL can fallback to original login page?   I'm newbie to OAM and sorry for the newbie question.  Thanks.
    Regards,
    /ST Wong

    I think you misunderstood. The local users won't be added to the backend LDAP but in a local store on OVD. OVD then makes it appear that that user is in the backend LDAP if you want it to appear in the same tree structure, or you can place the users in a completely separate tree. This of course assumes that your user base search in OAM is set to the top level.

  • How to Change Handling Unit User Status

    Hi All,
    I am trying to change the HU Status using FM 'STATUS_CHANGE_EXTERN' but its not working.
                 lx_huheader-hu_id  is the Internal Handling unit number.
                CONCATENATE 'HU'
                            lx_huheader-hu_id INTO
                            lv_objnr.           
                CALL FUNCTION 'STATUS_CHANGE_EXTERN'
                  EXPORTING
                    client              = sy-mandt
                    objnr               = lv_objnr
                    user_status         = 'E0002'
                  EXCEPTIONS
                    object_not_found    = 1
                    status_inconsistent = 2
                    status_not_allowed  = 3
                    OTHERS              = 4.
    Please guide me.
    Thanks
    Srinath

    HI...
    add this Export parameter in the call of function module,
               SET_CHGKZ                 = 'X'
    after chef id the objnr is correct.........remember to call the commit work, or BAPI_TRANSACTION_COMMIT after the status change.
    Marco

  • Re: How can I handle disconnected user in Forte ?

    First of all, I would like to thanks for your time and help.
    What I am trying to do is very simple. Our company has MS SQL server as
    central database. It stores all data for our agents. Each agents either
    connect on-line or off-line. Besides, they are running our forte application
    with their database ( may be sysbase, access .. database ).
    For those agents that are off-line, we would like to extract the data
    periodically and update the database in our company. Sometime, we may need
    to send data back to our agents.
    I have follow your suggestion to read the persisent Q manager.
    But I still don't know how to start. What is the pitfall to implement
    persisent Q manager?
    By the way, if I want to keep the data in synch. Is it simply to have
    persisent Q manager running at background. Everytime database object
    insert/modify the database, I make an object serialized and put into the Q
    manager waiting for sending serialized object to my company?
    Kelvin.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    First of all, I would like to thanks for your time and help.
    What I am trying to do is very simple. Our company has MS SQL server as
    central database. It stores all data for our agents. Each agents either
    connect on-line or off-line. Besides, they are running our forte application
    with their database ( may be sysbase, access .. database ).
    For those agents that are off-line, we would like to extract the data
    periodically and update the database in our company. Sometime, we may need
    to send data back to our agents.
    I have follow your suggestion to read the persisent Q manager. But I still
    don't know how to start. What is the pitfall to implement persisent Q
    manager?
    By the way, if I want to keep the data in synch. Is it simply to have
    persisent Q manager running at background. Everytime database object
    insert/modify the database, I make an object serialized and put into the Q
    manager waiting for sending serialized object to my company?
    Kelvin.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • How can I handle disconnected user in Forte ?

    Hi Forte user,
    we would like to develop an application in Forte which support
    disconnected user ( or site ). That mean every morning the disconnected user
    ( or site ) will dial up to server and synchronize the data. Have anyone out
    there developing the similar application?
    Should I synchronize the data with database function ( we have to support
    different database such MS SQL ,Oracle ... access database ) or write an
    application in Forte that can serialized the object itself ?
    Any help welcome !
    Kelvin
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    First of all, I would like to thanks for your time and help.
    What I am trying to do is very simple. Our company has MS SQL server as
    central database. It stores all data for our agents. Each agents either
    connect on-line or off-line. Besides, they are running our forte application
    with their database ( may be sysbase, access .. database ).
    For those agents that are off-line, we would like to extract the data
    periodically and update the database in our company. Sometime, we may need
    to send data back to our agents.
    I have follow your suggestion to read the persisent Q manager. But I still
    don't know how to start. What is the pitfall to implement persisent Q
    manager?
    By the way, if I want to keep the data in synch. Is it simply to have
    persisent Q manager running at background. Everytime database object
    insert/modify the database, I make an object serialized and put into the Q
    manager waiting for sending serialized object to my company?
    Kelvin.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Handling Unit user status

    Hi all,
    I want to update the HUs with a user status. I have done the following steps.
    1. Defined a status profile (OK02) with a status.
    2. Configured the packaging material type (VHAR) with new status profile.
    3. When I update the status via HUMO>Display/Change>Edit>Status>Set Status, I am getting following error.
                       "HU 23 has no user status"
    Please help me to resolve this issue.
    Thanks
    Guru

    Hi,
    In the Status screen, set status icon is not activated. But in the Status detail screen, when i press F4 on status profile, i am able to see the created status profile.
    Appreciate your help.

  • A good utm to handle 1000+ users

    Justin1250 wrote:Brandon Svec wrote:Justin1250 wrote:What about the ASA 5500X series?Maybe a 5525X or a 5545XI thought the OP said ease of use and management? ;)Haha true. I like the ASA just not their price tag.There is also the Meraki MX400 would be about that 1gbps mark. They are easy.Personally in the middle of switching everything over to Sophos. I have 3 of 8 units deployed and so far they have been great. However I don't have the main unit deployed.Still using an older ASA at my main location.Sophos does have an evaluation program. Something to keep in mind.I believe Meraki also has a trial program.I thought of suggesting MX400 too. It doesn't get much easier and cleaner then Meraki UI. They do have free trial program for almost all products, but MX400 and MX600 require special approval.

    Well, when you're talking that many users usually you're going to want HA regardless of the solution you run.
    I've run both Sophos/Astaro and Sonicwall in HA settings, and as much as I love Sophos/Astaro, if you're most comfortable with Sonicwall it's probably the way to go, especially if you're a Dell shop (single point of contact makes support/sales easier)
    I've never noted a higher issue/failure rate with the ASGs vs. the NSA/TZ units, it's really a matter of luck of the draw, when you have a large sample size with anything you're going to find issues (and only having one or two units magnifies any experience)
    Talk with a Sophos rep, it may be possible to rig a trial with them to see how you like the appliance (if not there is a trial/home version to tinker with).

  • About Event Handling in user Defined Form (In Addon)

    Hi Every One,
    Can Anyone Give Me Notes On EventHandling in forms That are Disgened using Sdk UIAPI .Like Button event ,application event, menuevent... etc with saple code
    Regards
    Srinivas

    Hi Sura,
    Hope this helps. C# sample code.
    //   SAP MANAGE UI API 2005 SDK Sample
    //   File:      CatchingEvents.cs
    //   Copyright (c) SAP MANAGE
    //  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
    //  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
    //  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    //  PARTICULAR PURPOSE.
    //  BEFORE STARTING:
    //  1. Add reference to the "SAP Business One UI API"
    //  2. Insert the development connection string to the "Command line argument"
    //  1.
    //     a. Project->Add Reference...
    //     b. select the "SAP Business One UI API 2005" From the COM folder
    //  2.
    //      a. Project->Properties...
    //      b. choose Configuration Properties folder (place the arrow on Debugging)
    //      c. place the following connection string in the 'Command line arguments' field
    //  0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056
    using System;
    using System.Windows.Forms;
    class CatchingEvents  {
        //  This parameter will use us to manipulate the
        //  SAP Business One Application
        private SAPbouiCOM.Application SBO_Application;
        private void SetApplication() {
            //  Use an SboGuiApi object to establish connection
            //  with the SAP Business One application and return an
            //  initialized appliction object
            SAPbouiCOM.SboGuiApi SboGuiApi = null;
            string sConnectionString = null;
            SboGuiApi = new SAPbouiCOM.SboGuiApi();
            //  by following the steps specified above, the following
            //  statment should be suficient for either development or run mode
            sConnectionString = System.Convert.ToString( Environment.GetCommandLineArgs().GetValue( 1 ) );
            //  connect to a running SBO Application
            SboGuiApi.Connect( sConnectionString );
            //  get an initialized application object
            SBO_Application = SboGuiApi.GetApplication( -1 );
        public CatchingEvents() {
            //  set SBO_Application with an initialized application object
            SetApplication();
            // events handled by SBO_Application_AppEvent
            SBO_Application.AppEvent += new SAPbouiCOM._IApplicationEvents_AppEventEventHandler( SBO_Application_AppEvent );
            // events handled by SBO_Application_MenuEvent
            SBO_Application.MenuEvent += new SAPbouiCOM._IApplicationEvents_MenuEventEventHandler( SBO_Application_MenuEvent );
            // events handled by SBO_Application_ItemEvent
            SBO_Application.ItemEvent += new SAPbouiCOM._IApplicationEvents_ItemEventEventHandler( SBO_Application_ItemEvent );
            // events handled by SBO_Application_ProgressBarEvent
            SBO_Application.ProgressBarEvent += new SAPbouiCOM._IApplicationEvents_ProgressBarEventEventHandler( SBO_Application_ProgressBarEvent );
            // events handled by SBO_Application_StatusBarEvent
            SBO_Application.StatusBarEvent += new SAPbouiCOM._IApplicationEvents_StatusBarEventEventHandler( SBO_Application_StatusBarEvent );
        private void SBO_Application_AppEvent( SAPbouiCOM.BoAppEventTypes EventType ) {
            //  the following are the events sent by the application
            //  (Ignore aet_ServerTermination)
            //  in order to implement your own code upon each of the events
            //  place you code instead of the matching message box statement
            switch ( EventType ) {
                case SAPbouiCOM.BoAppEventTypes.aet_ShutDown:
                    SBO_Application.MessageBox( "A Shut Down Event has been caught" + Environment.NewLine + "Terminating Add On...", 1, "Ok", "", "" );
                    //  Take care of terminating your AddOn application
                    System.Windows.Forms.Application.Exit();
                    break;
                case SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged:
                    SBO_Application.MessageBox( "A Company Change Event has been caught", 1, "Ok", "", "" );
                    //  Check the new company name, if your add on was not meant for
                    //  the new company terminate your AddOn
                    //     If SBO_Application.Company.Name Is Not "Company1" then
                    //          Close
                    //     End If
                    break;
                case SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged:
                    SBO_Application.MessageBox( "A Languge Change Event has been caught", 1, "Ok", "", "" );
                    break;
        private void SBO_Application_MenuEvent( ref SAPbouiCOM.MenuEvent pVal, out bool BubbleEvent ) {
            //  in order to activate your own forms instead of SAP Business One system forms
            //  process the menu event by your self
            //  change BubbleEvent to False so that SAP Business One won't process it
            BubbleEvent = true;
            if ( pVal.BeforeAction == true ) {
                SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event BEFORE SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
                //  to stop SAP Business One from processing this event
                //  unmark the following statement
                //  BubbleEvent = False
            else {
                SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event AFTER SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
        private void SBO_Application_ItemEvent( string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent ) {
            //  BubbleEvent sets the behavior of SAP Business One.
            //  False means that the application will not continue processing this event.
            BubbleEvent = true;
            if ( pVal.FormType != 0 ) {
                //  the message box form type is 0
                //  I chose not to deal with events triggered by a message box
                //  every event will open a message box with the event
                //  name and the form UID how sent it
                SAPbouiCOM.BoEventTypes EventEnum = 0;
                EventEnum = pVal.EventType;
                // To prevent an endless loop of MessageBoxes,
                // we'll not notify et_FORM_ACTIVATE and et_FORM_LOAD events
                if ( ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE ) & ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_LOAD ) ) {
                    SBO_Application.MessageBox( "An " + EventEnum.ToString() + " has been sent by a form with the unique ID: " + FormUID, 1, "Ok", "", "" );
        private void SBO_Application_ProgressBarEvent( ref SAPbouiCOM.ProgressBarEvent pVal, out bool BubbleEvent) {
            SAPbouiCOM.BoProgressBarEventTypes EventEnum = 0;
            EventEnum = pVal.EventType;
            BubbleEvent = true;
            SBO_Application.MessageBox( "The event " + EventEnum.ToString() + " has been sent", 1, "Ok", "", "" );
        private void SBO_Application_StatusBarEvent( string Text, SAPbouiCOM.BoStatusBarMessageType MessageType ) {
            SBO_Application.MessageBox( @"Status bar event with message: """ + Text + @""" has been sent", 1, "Ok", "", "" );
    Regards,
    Jay.

Maybe you are looking for