Event handler documentation

Is there any better documentation/samples on what event handlers do. I can't see anything that says what variables are passed to an event handler following an event. For example, if a doc close event occurs does the handler get passed username, password, document ID, IP address etc? Or does it just get passed an event ID that you then go and lookup in the APS database.
This aspect of the SDK seems very poorly documented.
Thanks in advance for any pointers.

OK, found some info in the developer guide.

Similar Messages

  • Event handler as a method. How ?? ( WD for ABAP)

    Hi All,
            Can you tell me how i can use an event handler as a method. I mean i use the wizard and get the parameter list to be passed .. but then I dont know what to pass as WDEVENT. I am trying to call this within another method.
    Regards,
    Anoop
    Message was edited by: Anoop Singh Saini

    Hello Anoop,
    did you have a look at the event and event handler documentation?
    http://help.sap.com/saphelp_nw2004s/helpdata/en/eb/ed6f4169e25858e10000000a1550b0/frameset.htm
    Regards, Heidi

  • Unable to get automatic event handling for OK button.

    Hello,
    I have created a form using creatobject. This form contains an edit control and Search, Cancel buttons. I have set the Search buttons UID to "1" so it can handle the Enter key hit event. Instead its caption changes to Update when i start typing in the edit control and it does not respond to the Enter key hit. Cancel happens when Esc is hit.
    My code looks like this -
    Dim oCreationParams As SAPbouiCOM.FormCreationParams
            oCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
            oCreationParams.UniqueID = "MySearchForm"
            oCreationParams.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Sizable
                    Dim oForm As SAPbouiCOM.Form = SBO_Application.Forms.AddEx(oCreationParams)
    oForm.Visible = True
    '// set the form properties
            oForm.Title = "Search Form"
            oForm.Left = 300
            oForm.ClientWidth = 500
            oForm.Top = 100
            oForm.ClientHeight = 240
            '// Adding Items to the form
            '// and setting their properties
            '// Adding an Ok button
            '// We get automatic event handling for
            '// the Ok and Cancel Buttons by setting
            '// their UIDs to 1 and 2 respectively
            oItem = oForm.Items.Add("1", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
            oItem.Left = 5
            oItem.Width = 65
            oItem.Top = oForm.ClientHeight - 30
            oItem.Height = 19
            oButton = oItem.Specific
            oButton.Caption = "Search"
            '// Adding a Cancel button
            oItem = oForm.Items.Add("2", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
            oItem.Left = 75
            oItem.Width = 65
            oItem.Top = oForm.ClientHeight - 30
            oItem.Height = 19
            oButton = oItem.Specific
            oButton.Caption = "Cancel"
    oItem = oForm.Items.Add("NUM", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oItem.Left = 105
            oItem.Width = 140
            oItem.Top = 20
            oItem.Height = 16
            Dim oEditText As SAPbouiCOM.EditText = oItem.Specific
    What changes do i have to make to get the enter key to work?
    Thanks for your help.
    Regards,
    Sheetal

    Hello Felipe,
    Thanks for pointing me to the correct direction.
    So on refering to the documentation i tried out a few things. But I am still missing something here.
    I made the following changes to my code -
    oForm.AutoManaged = True
    oForm.SupportedModes = 1 ' afm_Ok
    oItem = oForm.Items.Add("1", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
            oItem.Left = 5
            oItem.Width = 65
            oItem.Top = oForm.ClientHeight - 30
            oItem.Height = 19
    oItem.SetAutoManagedAttribute(SAPbouiCOM.BoAutoManagedAttr.ama_Visible, 1, SAPbouiCOM.BoModeVisualBehavior.mvb_Default)
            oButton = oItem.Specific
            oButton.Caption = "OK"
    AND
    oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE
    oItem = oForm.Items.Add("1", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
            oItem.Left = 5
            oItem.Width = 65
            oItem.Top = oForm.ClientHeight - 30
            oItem.Height = 19
    oItem.AffectsFormMode = False
    I get the same behaviour OK button changes to update and enter key does not work.
    Could you please tell me find what is it that i am doing wrong?
    Regards,
    Sheetal

  • Javascript embedded in button pl/sql event handler not being executed

    Javascript calls not working from pl/sql button event handler. What am I missing? Are specific settings needed to execute javascript from pl/sql proceedures?
    Example: Want to toggle target='_blank' off and on in a button pl/sql event handler to open url call in new window & then reset when processing submit is done & the app returns to the form.
    portal form button's pl/sql submit handler:
    begin
    htp.p('<script language=JavaScript>') ;
    htp.p('this.form.target="_blank"') ;
    htp.p('</script>') ;
    PORTAL.wwa_app_module.set_target('http://www.oracle.com') ;
    htp.p('<script language=JavaScript>') ;
    htp.p('this.form.target="_blank"') ;
    htp.p('</script>') ;
    end ;
    Putting the following in the button's javascript on_click event handler works great:
    this.form.target='_blank'
    to force opening new window with a call in the button's submit pl/sql code via:
    PORTAL.wwa_app_module.set_target('http://www.oracle.com') ;
    but then the target='_blank' is left on when the submit is done & we return to the form.
    putting the above javascript as a function (called fcn_newpage) elsewhere (e.g., after form opens) & calling in the submit pl/sql with
    htp.p('fcn_newpage') ;
    also doesn't work.
    Metalink thought this was an application issue instead of a bug, so thought I'd see if anyone knows what's going wrong here. (Portal 9.0.4.1)

    thanks for your discussion of my post.
    Please clarify:
    "htp.p('fcn_newwindow') sends a string":
    What would you suggest the proper syntax for a function fcn_newwindow() call from a pl/sql javascript block that differs from
    htp.p('<script language="Javascript">') ;
    htp.p('fcn_newwindow');
    htp.p('</script>');
    or more simply
    htp.p('fcn_newwindow') ;
    More generally, what I'm trying to figure out is under what conditions javascript is executed, if ever, in the pl/sql of a button (either the submit or custom event handler, depending on the button).
    I've seen lots of posts asking how to do a simple htp.p('alert("THIS IS TROUBLE")') ; in a pl/sql event handler for a button on a form, but no description of how this can be done successfully.
    In addition to alerts, in my case, I'd like to call a javascript fcn from a pl/sql event handle that would pass a URL (e.g., http://www.oracle.com) where the javascript fcn executed
    window.open(URL). The API call to set_target(URL) in pl/sql has no ability to open in a new window, so calling that is inadequate to my needs and I must resort to javascript.
    Its clear in the PL/SQL of a button, you can effect form components since p_session..set_target & p_session.get_target set or get the contents of form components.
    So to see if javascript ever works, I tried to focus on something simple that only had to set what amounts to an enviromental variable when we returned to the form after a post. I chose to try to change the html value of TARGET from javascript in the PL/SQL button because it doesn't need to be implemented until we finish the post and return to the form.
    So I focused on a hack, setting this.form.TARGET='_blank' in the on_click event handler that forced every subsequent URL call or refresh of the form to be a new window. I then wanted to turn off opening new windows once I'd opened the URL call in a new window by setting TARGET='' in the portal form. I can achieve what I want by coding this.form.TARGET='' in the javascript (on_focus, on_change, or on_mousedown, ...) of every form component that might refresh the form. However, that is a ridiculous hack when a simple htp.p('<script>') ; htp.p('this.form.target=""') ; htp.p('</script>') ; at the end of the button's pl/sql event handle should do the same thing reliably if javascript ever works in the pl/sql event handler.
    If we didn't have access to form components through p_session calls, I'd assume it was a scope issue (what is available from the pl/sql event handler). But unless my syntax is just off, when, if ever, can javascript be used in a portal form's pl/sql event handler for a button?
    if I code a javascript funtion in the forms' pl/sql before displaying form:
    htp.p('<script language="JavaScript">') ;
    htp.p('function fcn_new_window(URL)') ;
    htp.p('window.open(URL)' ) ;
    htp.p('</script>') ;
    the function can be called from a button's on_click javascript event handler:
    fcn_new_window('http://www.oracle.com')
    but from the same button's pl/sql submit event handler this call doesn't work: htp.p('fcn_new_window("http://www.oracle.com")')
    So my questions remain: Is there other syntax I need, or does javascript ever work properly from the pl/sql of a form button's event handler? If it doesn't work, isn't this a bug that should be fixed by Oracle?
    I can probably figure out hacks to make things work the way I need, but executing javascript from pl/sql event handlers seems to be the expected way to affect portal html pages (forms, reports, ...) and it seems not to work as expected. I don't feel I should have to implement hacks for something as simple as calling a javascript function from pl/sql when almost every example I've found in metalink or the forums or Oracle Press's "portal bible" suggests using javascript from pl/sql via the utility htp.p() to effect web page components in portal.
    My TAR on the subject, while still open, returned the result basically: "We can reproduce your situation. Everything looks okay to us, but we can't explain how to use javascript where you want or point you to any documentation that would solve your problem or expain why it should not work the way you want it to. We don't feel its a technical issue. Why don't you post the problem on the portal applications forum."
    I'm hoping I'm just missing something fundamental and everything will work if I implement it a little differently. So if anyone sees my error, please let me know.
    by the way, not sure this is germain, but in reference to your comment:
    "redirections in pl/sql procedures give a peculiar result. in a pl/sql procedure, usually, portals give the last redirection statement and ignore anything else coming after it."
    if I try to raise an alert:
    htp.p('alert("you screwed up")');
    return;
    in a pl/sql event handler, it still doesn't raise the alert, even though its the last thing implemented in the event handler. But if I set the value of a text box using p_session..set_value_as_string() at the same spot, it correctly sets the text box value when I return to the form.

  • Event handler for dropdownlistbox how to determine selection ?

    Hello,
    As a newby in BSP programming, I'm trying to build a small application with a menu structure . This menu is defined in a page fragment and consists of dropdownlistboxes. The event handling is located in the main page which contains the page fragment.
    My problem is that I cannot get these dropdownlist boxes to work. The coding in the page fragment is :
    ==========================
    <htmlb:content>
      <htmlb:form>
        <htmlb:dropdownListBox id             = "myDropdownListBox1"
                                 tooltip        = "Tooltip for my DropdownListBox"
                                 onClientSelect = "alert('myDropdownListBox1')"
                                 onSelect       = "mySelect" >
            <htmlb:listBoxItem key   = "k1"
                               value = "MenuChoice1" />
            <htmlb:listBoxItem key   = "k2"
                               value = "MenuChoice2" />
            <htmlb:listBoxItem key   = "k3"
                               value = "MenuChoice3" />
            <htmlb:listBoxItem key   = "k4"
                               value = "MenuChoice4" />
            <htmlb:listBoxItem key   = "k5"
                               value = "MenuChoice5" />
            <htmlb:listBoxItem key   = "k6"
                               value = "MenuChoice6" />
          </htmlb:dropdownListBox>
        </htmlb:form>
    </htmlb:content>
    ==========================
    The event handler ( OnInputProcessing ) code is :
    ==========================
    CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
      DATA: event TYPE REF TO if_htmlb_data,
            ddlb_event TYPE REF TO CL_HTMLB_EVENT_SELECTION.
      event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
      IF event IS NOT INITIAL AND event->event_name =
                 'dropdownListBox'.
          ddlb_event ?= event.
        CASE event->event_id.
          WHEN 'myDropdownListBox1'.
            CASE ddlb_event->selection.
           WHEN 'k1'.
            .......( Contains other statements )
           WHEN 'k2'.
            .......( Contains other statements )
           WHEN 'k3'.
            .......( Contains other statements )
           WHEN 'k4'.
            .......( Contains other statements )
           WHEN 'k5'.
            .......( Contains other statements )
           WHEN 'k6'.
            .......( Contains other statements )
         ENDCASE.
        ENDCASE.
        ENDIF.
    ==========================
    I have tried several different event handlers including the example in the documentation of the dropdownlistbox HTMLB element, but in the event handler I don't know how to determine the selection made.
    I would appreciate it hugely if someone could give me an example how to do this ?
    With regards,
    Fred van de Langenberg

    Hello,
    Thanks for your answers & suggestions Subramanian, Ulli & Sebastian.
    I forgot the <htmlb:content> tags ( thanks Ulli ) and eventually I got things working with the following :
    Main page layout : dopdownlistbox element
       <htmlb:dropdownListBox
                id          = "Ddlb1"
                onSelect    = "OnInputProcessing" >
                selection   = "<%= selection1 %>"
            <htmlb:listBoxItem key   = " "
                               value = " "/>
            <htmlb:listBoxItem key   = "k1"
                               value = "k1" />
            <htmlb:listBoxItem key   = "k2"
                               value = "k2" />
            <htmlb:listBoxItem key   = "k3"
                               value = "k3" />
            <htmlb:listBoxItem key   = "k4"
                               value = "k4" />
            <htmlb:listBoxItem key   = "k5"
                               value = "k5" />
          </htmlb:dropdownListBox>
    Event handler
    CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
    IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
    Scenario 1: Read event from manager.
      DATA: event TYPE REF TO CL_HTMLB_EVENT.
      event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
      IF event IS NOT INITIAL AND event->name = 'dropdownListBox'.
        DATA: data TYPE REF TO CL_HTMLB_DROPDOWNLISTBOX.
        data ?= CL_HTMLB_MANAGER=>GET_DATA(
                  request = runtime->server->request
                  name    = 'dropdownListBox'
                  id      = 'Ddlb1'
         CASE data->selection.
           WHEN 'k1'.
           WHEN 'k2'.
           WHEN 'k3'.
           WHEN 'k4'.
           WHEN 'k5'.
         ENDCASE.
       ENDIF.
    ENDIF.
    Fred van de Langenberg

  • Event handler for STDIN input?

    Hi,
    This question will probably require a bit of context - I'm attempting to re-implement in java an application that's currently written in perl. The application is a server helper app that rewriters urls; it receives a request ID and a URL on stdin, does the necessary munging (which can require an external SOAP query), then returns the resulting rewritten URL.
    Since the results can be asynchronous due to the need for external queries to build the result, this is currently a multithreaded perl app implemented using perl's POE framework to register an event handler for stdin. That handler fires each time a line of input is received, then feeds the query to a thread pool manager (POE::Component::Pool::Thread, which is conceptually similar to the Executor frameworks). The thread returns the result as a callback registered to another function in the main thread, which then populates the query/result to a cache then outputs the result (with the original query ID) on stdout. Since stdin input and the result callbacks are event-driven, there's no while(true) main loop or other blocking mechanism in the main thread. Unfortunately, it's perl-ness is causing problems due to perl's threading implementation (three words: "copy on init"), so we need to reimplement in a language with a more robust threading implementation (preferably one with copy-on-write for shared objects). So, Java it is.
    So far everything's been good - Executor, Callables, and Futures work as I hoped they would for proper thread management, and the internal worker thread logic (XML processing, SOAP, regular expressions, etc) is proving rather simple to adapt. However, the main roadblock I'm hitting is that so far, I have not found a way to register any sort of event handler for STDIN input (or more specifically, InputStreamReader/BufferedStreamReader events). This could be due to search engine pollution - everything I see when I search for documentation on event listeners appears to be GUI-specific (buttons, menus, text areas/forms, etc). I'm just looking for a way to handle a line of STDIN, not a text area on a form.
    Any pointers in the right direction will be much appreciated!

    rekoil wrote:
    Maybe I need to rethink the design here...
    The main reason I used a callback in the original perl is that there's a large cache structure that gets checked before the thread dispatch, and only cache misses get pushed to a thread for processing. Callbacks from the threads will then add its results to the cache. Thanks to perl's thread model, when I attempted to make the cache a shared structure - in perl, you have to explicitly mark as "shared" variables that you want visible to all threads - the structure wound up getting copied to every thread, and this gave the app an unacceptable memory footprint. So the solution was to use a callback in the main thread to update the cache.
    I'm now thinking that if Java's thread model is a bit saner (i.e. a shared object doesn't get copied into every thread), then I could just have each thread update the cache, print its output to STDOUT directly, and avoid the need for the callback. I can then make my input loop simply a while() loop, waiting for the next input to dispatch. Sound sane?Yes I think so.
    There is some of this I still don't entirely understand. Your loop sounds better now but it sounds to me like the process is this.
    1) read from in
    2) call some stuff on the basis of what came in
    3) do work
    4) workers produce things
    5) things written back out
    6) read back in??
    If you're just going in/out then great. If you are going in/out/in then maybe some sort of PipedInput/Output Streams? It may well be that I got lost in your explanation in which case never mind.

  • Event handling

    Hi all,
    it seems that i can't figure it out by myself or either find it somewhere in the documentation.
    All i need, is to implement a method that returns me a string (e. g. "success"). For event handling i tried the *Listener, BUT surly you know already the problem with em (you can't return anything).
    So my question is, how to implement a method that reacts on a user (command_button click), and returns me a result status, so i can decide which site to show?
    thanks in advance

    Here is some help ;-)
    (from cardemo)
    You need 3 elements,
    1/ a tag in your jsp: commandButton or commandLink
    <h:commandButton
    action="#{carstore.storeFrontJalopyPressed}"
    value="#{bundle.moreButton}" >
    2/ a method in a managed bean (simple object, no need to extends a particular class)
    public String storeFrontJalopyPressed() {
    setCurrentModelName("Jalopy");
    return "carDetail";
    3/ add a few things in faces-config.xml
    <navigation-rule>
    <from-view-id>/storeFront.jsp</from-view-id>
    <navigation-case>
    <description>
    Any action that returns "carDetail" on storeFront.jsp should
    cause navigation to carDetail.jsp
    </description>
    <from-outcome>carDetail</from-outcome>
    <to-view-id>/carDetail.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <description>
    The main backing file mean
    </description>
    <managed-bean-name> carstore </managed-bean-name>
    <managed-bean-class> carstore.CarStore </managed-bean-class>
    <managed-bean-scope> session </managed-bean-scope>
    </managed-bean>
    Hope this helps
    Frederic

  • Loading .EXE via event handling

    I'm adding event handling to a GUI menu - the idea being that each menu item, when selected, would launch a .exe file (for test purposes 'notepad' but in reality, it could be any xp)
    The operating system is XP, and JDK 1.5.0 is being used.
    How do I do this? - there seems to be no information on the topic in written documentation.

    Maybe this will help you a lot:
    http://java.sun.com/docs/books/tutorial/index.html
    Here is a direct link for using menu items:
    http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html
    And I suggest using ProcessBuilder instead of Runtime.exec() if you are using JDK1.5.

  • Launch Services event handler

    Hi All,
    I'm currently trying to develop an application that uses a custom URL very similar to iTunes and itms URL. I've read the documentation on Launch Services and edited by Info.plist as described in the documentation.
    All seem to work to an extent. When my application is launched then I click my custom URL example in a text file, the event handler in my applicaton for my custom URL gets called. However when I just click the URL in the text file without first launching my application, my application is launched but the event handler is never called.
    Using a set of NSLogs, I notice that the object that should handle the event never gets instantiated where in its -(id)init method I call
    [manager setEventHandler:self andSelector:@selector(handleOpenLocationAppleEvent:withReplyEvent:) forEventClass: 'GURL' andEventID:'GURL'];
    I must be missing something very basic here but can't seem to figure it out as to why my object is not instantiated and the selector not called for the event.
    Any tips or pointers would be appreciated.
    Thanks,
    rmb
    PowerBook G4 FW800   Mac OS X (10.4.4)  

    Not sure what exactly you are looking but the given below link can help you
    http://help.sap.com/saphelp_scm41/helpdata/en/67/b41e3e3986f701e10000000a114084/frameset.htm

  • Test of Web Dynpro Event Handling : GeoMap business graphics

    Hy guru's, i have this problem: on Test of Web Dynpro Event Handling page i tried to open the GeoMap web dynpro on Business Graphics section but i received this error:
    The URL http://.../sap/bc/webdynpro/sap/wdr_test_events/ was not called due to an error.
    Note
    The following error text was processed in the system BI7 : Exception condition "COMMUNICATION_ERROR" raised.
    The error occurred on the application server bi7-saplab_BI7_08 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_GIS_VIEW~UPDATE of program CL_GIS_VIEW_IGS===============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/LBUSINESS_GRAPHICS======CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L7STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L7STANDARD==============CP
    Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L7STANDARD==============CP
    What can I do?
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system BI7 in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server bi7-saplab_BI7_08 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server bi7-saplab_BI7_08 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http -c: 100 -u: AMARAVIGLIA -l: E -s: BI7 -i: bi7-saplab_BI7_08 -w: 0 -d: 20071119 -t: 232916 -v: RABAX_STATE -e: RAISE_EXCEPTION
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team
    Could you help me?
    Thank's a lot
    Sincerely yours
    Andrea Maraviglia

    Hi,
    did you install the IGS (see the <a href="http://help.sap.com/saphelp_nw70/helpdata/en/37/268841a79f1609e10000000a155106/frameset.htm">documentation</a>) and check if SAP note 1108034 helps?
    Regards, Heidi

  • Difference between method,event handler,supply function.

    hi,
    i wants to know what is the difference between
    method.
    event handler.
    supply funciton.
    Regards:
    Pankaj Aggarwal

    Hi Pankaj,
    These are few lines from the F1 help documentation given,
    Web Dynpro: Method Type :The type of a method defines whether you have an event handler, a supply
                                                function, or a (normal) method.
      Event Handler : Handlers of an event, a controller, an action, or an inbound plug of a view.
       Method : Modularization unit within a view or a controller.Methods of a view can only be called locally
                       within this view.Methods of a controller (component or custom controller) can also be called from
                       a view or another controller, provided the controller is entered as controller used .
       Supply Function : Method for filling a context node.
    For more information refer to the Thomas post
    Regards,
    Sravanthi

  • Adobe plugin For Mouse Click Event Handler

    Hi All, How to write plugin For Mouse Click Event Handler? Please reply quickly..
    Thanks in Advance

    AS has already been replied to you on the other threads.
    THE ACROBAT SDK has all the information you need to implement your solution. If you investigate the SDK and find a specific part of implementing your solution that is causing a problem. Then post that specific problem on the forum so that Leonard/PDL/ Aandi/Everyone else, can help you with specific problems.
    This question is too open ended for it to be easily answered with out doing a lot of work.
    Please download the SDK.
    Investigate the Documentation/Samples.
    Start developing your plug-in. ( I would recommend the Acrobat-plug-in wizard)
    And if you hit a specific problem we will be happy to try and help.
    Please note MULTIPLE POSTS just annoy.
    HTH
    Malky

  • RMI, event handling, and Winow.dispose()

    Hi all,
    If you combine RMI with an event handler and java.awt.Window.dispose(), the JVM hangs. The only way to solve this problem is by disposing of the frame from within SwingUtilities.invokeLater.
    Please check the following code:
    ServerInterface.java:_
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    public interface ServerInterface extends Remote {
        void Send(ClientInterface CI) throws RemoteException;
    ClientInterface.java:_
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    public interface ClientInterface extends Remote {
        void Send() throws RemoteException;
    Server.java:_
    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.Naming;
    public class Server extends UnicastRemoteObject implements ServerInterface {
    public Server() throws RemoteException {}
    public void Send (ClientInterface CI)
    try { CI.Send(); } catch (Throwable t){System.out.println(t);}
    public static void main(String args[])
    try {
          Naming.rebind      ( "rmi://localhost:1099/Testing",new Server() );
          System.err.println ("Server ready");
    catch ( Throwable t )
            System.out.println ( t );
    Client.java:_
    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.Naming;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.SwingUtilities;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
    public class Client extends UnicastRemoteObject implements ClientInterface,ActionListener {
    static JFrame A=null;
    static ServerInterface ServerSide;
    private Client()  throws RemoteException {}
    public void Send()
    if ( A == null )
         A = Display("Remove");                   // display frame
    else                                // remove frame
         SwingUtilities.invokeLater ( new Runnable(){public void run(){A.dispose();A=null;}} );
    public static void main(String[] args)
    try {
          ServerSide = (ServerInterface) Naming.lookup ( "rmi://localhost:1099/Testing" );
          ServerSide.Send(new Client());
    catch ( Throwable t )
            System.out.println ( t );
    public void actionPerformed(ActionEvent e)
    try { ServerSide.Send(new Client()); } catch (Throwable t){System.out.println(t);}
    private JFrame Display (String label)
    JButton b = new JButton (label);
    b.addActionListener(this);
    JPanel p = new JPanel ();
    p.add (b);
    JFrame frame = new JFrame ();
    frame.getContentPane().add(p);
    frame.pack();
    frame.setVisible(true);
    return frame;
    }You can do any GUI work from within an event handler, only when you try to dispose of a frame, the system hangs !!!

    Thank you for responding to my problem.
    unless their documentation says otherwise (eg: repaint). I checked the API for "repaint()", but it didn't mention anything about the EDT. What documentation you are referring to ?
    What I don't understand is that why "dispose()" works well on non-RMI systems and hangs the machine on RMI systems ? It even works fine on RMI system providing that you are not disposing of the frame from within an event handler. So the problem occurs only if you are combining the three elements: RMI, event handler, and dispose().
    Conversely, you should avoid doing anything that may take a long time on the EDT. Perhaps remote methods fall into that category.It is true that we should avoid doing anything that may take a long time on the EDT; however, in this particular example, dispose() is not done through a remote call, it is done on the client where the frame should be removed.
    I also tried disposing of the frame from within a normal Thread (instead of the EDT), and it worked just fine.

  • Tooltip Popup Event handling

    VB.NET - VS2012 - I want to create a common event handler for all ToolTip1 popup events.
    In the handler, I want to interrogate which control caused the event and display documentation text related to that control.
    I think the following is what I need to process a popup event
        Private Sub ToolTip1_Popup(ByVal sender As Object, ByVal e As PopupEventArgs) Handles _
        ToolTip1.Popup
    However, I can't figure out how to comply with the "WithEvents" requirement in the following error message:
    "Handles clause requires a WithEvents variable defined in the containing type or one of its base types"
    ftbrady

    Ali,
    With a menu item, the approach that you want to take is to add an ActionListener to the menu item. When a menu item (either in the main menu or popup menu) is clicked, the item fires off an ActionEvent to the "actionPerformed(ActionEvent e)" method of the registered ActionListener's.
    Sun has a good little set of menu examples online at:
    http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html
    Take Care,
    Rob
    null

  • What is the correct process to return errors from an Event Handler

    I have a pre-Create and pre-Modify Event Handlers. If the event handler detects an error, I want to throw an exception back to terminate the create user or modify user event. I also want to display a meaningful error message on the OIM UI. In my pre-modify event handler I am throwing the following exception when an error is detected:
    throw new EventFailedException(processId, null, "User ID not available", "", "MODIFY", null);
    However, the OIM UI is not displaying the message "User ID not available" as I want it to. Instead it is displaying the following error message:
    An error occurred. The corresponding error code is IAM-0080062
    Does anyone know where that error code is coming from? My event handler is not doing that. Also, does anyone know where I can find any documentation on the proper use of the EventFailedException? What do the parameters mean? How do I get a meaningful error message to display on the OIM UI?
    Thank you for any help here.
    -Dave

    Please try to cancel the PO 1st and then Cancel Sales order...
    Refer following note id
    How to Cancel a Drop Ship Order Line (Doc ID 393688.1)
    Thanks

Maybe you are looking for