Raise an event from do_prepare_output

Hi All,
I have a requirement where I need to raise an event after having defaulted a value in a dropdownlist field.
I'm working on component BT120H_CPL/NewComplEF.
Here I have to default a value in the field REFOBJECTTYPE (context node NEWCOMPL). This is not a problem, I actually managed to write my logic in the do_prepare_output.
My problem is that upon selecting a value for this field the event ONREFOBJECTTYPE is executed, unfortunately if I default a value the server_event 'select' is not triggered and the sub-screen ExtRefItemEL is not called.
Do you know how to push/simulate an event from do_prepare_output in order to call the sub-screen immediately?
Thanks in advance
Paolo

Hi Paolo,
You can call the event handler ONREFOBJECTTYPE
from do_prepare-output by calling
   CALL METHOD me->eh_ONREFOBJECTTYPE
*  EXPORTING
*    htmlb_event    =
*    htmlb_event_ex =   .
please try and tel me know.
Regards,
Taity

Similar Messages

  • Object does not match target type when raising an event from c# to VB6

    I have a c# .net DLL that I use from a VB6 app. It exposes an event,
    and the VB6 app is sinking it.
    The VB6 app is receiving the event, as long as it is raised from the
    main thread of the .net DLL.
    I have an aync task being handled inside the DLL (delegate BeginInvoke). Any
    attempt to raise the event from within that thread casuses the reported
    error, even from within the AsyncCallback function, when the thread is ending.
    I noticed that the delegate for the event is not declared inside the
    interface. It's in that module, but above the interface definition:
        [ComVisible(false)]
        public delegate void LoggingEventHandler( string logData );
    The event is declared in the class itself as:
        public class Processor : _Processor
            public event LoggingEventHandler        LogNotification;
    Finally, to raise the event:
    if ( this.Completed != null )
        this.Completed( true );
    If I open the tlb with OLEVIEW, I can see the public event just fine. Of course, I expected to, as it's working up until the helper thread kicks in.
    Now for the REAL WIERD PART! This DOES work on several servers that have
    been in production for months. It's just this one server that it won't work
    on. Same code. Resinstalled/registered it 1,000 times. It took me a while to
    find that an error was even occuring, since it was being raised in the
    seperate thread. In other words, I'm receiving the event just fine on a series of servers. This is a new machine we're trying to bring online. I suspect it's environmental, but I can't figure it out.
    I don't understand why the publisher would be expecting a certain type of
    subscriber in the first place... unless the error is really triggered by the client when the event reaches it. I've put logging into the client, though, and the first line of code inside the event is not being executed.
    For the VB6 app, I reference the tlb file that is automatically created when
    I compile (Interop is checked). I unregistered and re-registered the tlb on
    the server. I regasm'd the dll itself. All dlls are in the same folder - not
    in the GAC.
    The stack trace is as follows:
       at System.RuntimeType.InvokeDispMethod(String name, BindingFlags
    invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32
    culture, String[] namedParameters)
       at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr,
    Binder binder, Object target, Object[] args, ParameterModifier[] modifiers,
    CultureInfo culture, String[] namedParameters)
       at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
    BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    msgData)
       at HPFS.Queue.IProcessorEvents.LogNotification(String logData))

    This is driving me nuts!
    I sure would appreciate any suggestions.
    I got this working on one of the two machines. The other machine had some other issues, so I had it re-imaged. It's been so long since I fixed the first one, that I can't remember exactly how I did it. Plus, I did so many things to it over two weeks, that I never really felt confident, anyway. But ... I could *swear* that the last thing I did back then to get this event to flow was to re-register the DLL's TLB.
    So ... This is win 2k with FW 1.1 + SP1.
    Completed is the delagate I'm trying to invoke.
    this.Completed.Target.GetType().Name = "__comobject"
    I've tried everything. Unregistered the .tlb. Unregistered the .net DLL. Verified that the app completely failed while unregistered. Created the TLB using RegAsm /tlb syntax.
    I tried using CLR SPY. It registers nothing. It only lets me pick an EXE. This is a DLL tring to raise to an EXE.
    I've looked at the TLB in OLE VIEW and I just don't know what I'm looking at.
    Is there any other tool or technique I can use to audit/monitor/trap this? .net is giving me *** for details about what's failing. I wish I could somehow debug into exactly what it's trying to do and get more details on the failure.
    Here's the error I'm getting:
    (Code -1) Object does not match target type.<Source:mscorlib>(Stack:    at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
       at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
       at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
       at HPFS.Queue.IProcessorEvents.Completed(Boolean success)
       at HPFS.Queue.Processor.RequestDone())
    Processor = the DLL I'm trying to raise the event from.
    IProcessor = the event interface that's exposed through COM.

  • How to raise an event from a program

    Hi,
    I am creating a workflow for HR, the person will request a basic pay change than, this will start the workflow. For this i am making a screen from where i need to triger the event for the workflow.
    Does anybody has any idea? of how to raise an event from a program. or has anybody worked on a scenario like this
    Khusro Habib

    You can also use the FM SAP_WAPI_CREATE_EVENT which is a little newer I think. (I don't have access to a system today so that may not be the exact name of the FM but if you search SE37 under SAPWAPIEVENT* you should find it.
    the parameters will be the event name, and the object key.  The object key will be the key field of the workflow object you are using. 
    For example if you were using the saled document object then the object key would be the sales document number.  Carefull how you enter the object key, it can be a little tricky on whether or not you need the leading zeros in the input parameter. 
    Hope this helps.
    Brent

  • Raise business events from BPEL

    How to raise business events from BPEL process?
    Related questions -
    1. Is it possible or good to address this by embedding Java code in BPEL process that raises the business event? If so, what additional jar files should be included?
    2. Any links on API to raise the business events from Java code?
    3. Any links that describe how to raise the business events from BPEL process?

    Hi Guillaume,
    Thanks for your reply.
    Please find below environment details.
    EBS 11.5.10,
    Stand alone SOA Suite v10.1.3.1
    Oracle Apps Adapter
    I am trying to capture PO approval event ('oracle.apps.po.event.xmlpo') raised by BES in BPEL PM.
    I see in the BPEL PM logs that there is a handshake happening between EBS-BES and BPEL PM. But after the handshake, some XML DOM parser errors are thrown.
    I have pasted the error seen in BPEL PM log below
    <2007-08-01 11:33:18,000> <INFO> <default.collaxa.cube.engine> <CubeEngine::loadAllProcesses>
    26 processes have been loaded for BPEL domain "default".
    <2007-08-01 11:34:18,750> <ERROR> <default.collaxa.cube.activation> <AQ Adapter::Inbound> MessageReader_readMessage: Received TranslationException
    <2007-08-01 11:34:18,750> <ERROR> <default.collaxa.cube.activation> <AQ Adapter::Inbound>
    ORABPEL-11211
    DOM Parsing Exception in translator.
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
         at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:139)
         at oracle.tip.adapter.aq.database.MessageReader.translateFromNative(MessageReader.java:1179)
         at oracle.tip.adapter.aq.database.MessageReader.readMessage(MessageReader.java:533)
         at oracle.tip.adapter.aq.inbound.AQActivationSpecDequeuer.run(AQActivationSpecDequeuer.java:189)
         at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
         at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:272)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.xml.parser.v2.XMLParseException: Start of root element expected.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:320)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:341)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:291)
         at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:134)
         ... 6 more
    <2007-08-01 11:34:18,750> <ERROR> <default.collaxa.cube.activation> <AQ Adapter::Inbound> MessageReader_readMessage: Received TranslationException
    <2007-08-01 11:34:18,750> <ERROR> <default.collaxa.cube.activation> <AQ Adapter::Inbound>
    ORABPEL-11211
    DOM Parsing Exception in translator.
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
         at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:139)
         at oracle.tip.adapter.aq.database.MessageReader.translateFromNative(MessageReader.java:1179)
         at oracle.tip.adapter.aq.database.MessageReader.readMessage(MessageReader.java:533)
         at oracle.tip.adapter.aq.inbound.AQActivationSpecDequeuer.run(AQActivationSpecDequeuer.java:189)
         at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
         at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:272)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.xml.parser.v2.XMLParseException: Start of root element expected.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:320)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:341)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:291)
         at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:134)
         ... 6 more
    From the initial assessment, it looks like the event schema defined in BPEL PM and BES event schema mismatch. But I do not know, how to correct it.
    Please let me know, if you have any suggestions in overcoming this issue.

  • Programatically raise Contextual Event from a ClientEvent

    Hi,
    JDev v11.1.2.0.0.
    Earlier I had a event raised on the value change of my inputText component. But due to certain requirement, I had to discard the valueChange and had to do that same logic using clientListener and serverListener. But the problem now is, the contextual event is not getting raised and I'm looking for a way to raise the specific event on the ClientEvent method that is bound to the serverListener on my fragment.
    I've checked lot of blogs but most of it are talking about raising the event programatically on ValueChange or ActionEvent. Any thoughts? Appreciate any help on this. Thanks !
    Edited by: 119413 on Mar 14, 2013 10:29 AM

    Ok. Finally, I ended up invoking a hidden button click action in my client listener and raised the event from the ActionEvent bound to that button. Let me know if anyone could think of better options.. Thanks !
    Edited by: 119413 on Mar 15, 2013 10:40 AM
    Edited by: 119413 on Mar 15, 2013 10:41 AM

  • U00BFHow can I raise an event from visual basic to BW?

    Im looking for simple vb code that will raise and event that will trigger some process chains I have in bw.
    something similar to
    Set R3 = CreateObject("SAP.Functions")
    R3.RaiseEvent("myEvent")
    I'm sure I saw the code before, but I have looked for hours and couldnt find it again.
    Thanks!
    David G

    Hello, this is how I finally did it and it is working pretty well.
    In SAP
    1. In SM62 Create new Event: ZGDREV01
    2. In RSPC (Process Chain Maintenance)
    - Start Variant after Event : ZGDREV01
    Periodic Job: Checked (other wise it wil just trigger once)   
    3. In SE37 Created a new function module:
    Attributes: Remote-Enabled Module
    Import:  EVENTID (char string)
    Source Code:
    FUNCTION ZGDRFM08.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(EVENTID) TYPE  ZTXTSH
      CALL FUNCTION 'BP_EVENT_RAISE'
      exporting
      eventid = EVENTID.
    ENDFUNCTION.
    4. In Visual Basic
    Public Const TRANDATA_EVENTID = "ZGDREV01" ' EventId to be Raised
    Private Sub cmdStartLoad_Click()
       Dim R3 as object
       Set R3 = CreateObject("SAP.Functions")
       Call TriggerLoadEvent(R3, TRANDATA_EVENTID)
    End Sub
    Public Function TriggerLoadEvent(ByRef R3 As Object, ByVal event_id As String) As Boolean
        Dim FuncVal As Object
        Dim param_event As Object
        On Error GoTo errHandler
        Set FuncVal = R3.Add("ZGDRFM08")
        Set param_event = FuncVal.Exports("EVENTID")
        param_event.value = event_id
        TriggerLoadEvent = FuncVal.call
        Exit Function
    errHandler:
        MsgBox Err.description
    End Function
    Edited by: David Guerra Farias on Feb 11, 2008 11:13 PM

  • Raising failure event from Netbeans Waitscreen

    I need to raise the failure event (FAILURE_COMMAND) for a Waitscreen in the Netbeans IDE, but I do not want to throw a new exception to create the failure.
    I am writing the code in Netbeans/Java, but then porting it over to a Blackberry. If I throw a new exception, then an ugly error message comes up on the Blackberry.
    Thanks,
    -Jonathan

    I need to raise the failure event (FAILURE_COMMAND) for a Waitscreen in the Netbeans IDE, but I do not want to throw a new exception to create the failure.
    I am writing the code in Netbeans/Java, but then porting it over to a Blackberry. If I throw a new exception, then an ugly error message comes up on the Blackberry.
    Thanks,
    -Jonathan

  • How do we raise an event into R/3 from a BW info-package ?

    Hi friends,
    Is there a way to raise an event from a BW stand-along info-package into the R/3 system, without using Event Collector..?
    I cannot use the subsequent event option in the package itself since that will raise the event only into BW. I want it into R/3. I can probably raise an event from the package to start a process-chain and then add a step in the PC to run a pgm to raise an event into R/3.
    But I am trying to see if there is a better and simpler way without having to create a extra PC.
    I am on the BW 3.1 system.
    Any suggestions/solutions will be greatly appreciated.
    Thanks
    lz70d71

    hi, here is what you do: This addition is with respect to the previous reply
    You need an event from BW to R/3
    Step1: create a custom FM copy of BP_EVENT_RAISE  and making it rfc enable. To make a FM RFC enabled you just need to tick the radio button in the attributes of the FM.
    Step2: Create a custome z program in BW and call FM z_bp_event_raise created in ECC.
    Step3: call that program in Process chain.
    hope this helps. if you need more let me know.
    thanks
    syed

  • Raise event from within process chain

    Is there some way to easily raise an event from within a process chain?  The only way I know to do this is to run an ABAP program that raises the event.

    Hi Shashank,
    sorry for the delay: I didn't notice your question. Try this way.
    1 - define ABAP Report Z_EVENT_RAISER (see sample code below)
    2 - define a variant for this Report (Event Name mandatory)
    3 - Call ABAP Report Z_EVENT_RAISER from within your Proces Chain.
    This should work
    Hope it helps
    GFV
    *====================================================
    *& Report  Z_EVENT_RAISER                                              *
    REPORT  Z_EVENT_RAISER                          .
    selection-screen begin of block parametri with frame.
    parameters:
      EVENT like BTCH1250-EVENTID obligatory,
      PARAM like BTCH1250-PARAMETER.
    selection-screen skip.
    selection-screen end of block parametri.
    CALL FUNCTION 'BP_EVENT_RAISE'
      EXPORTING
        eventid                      = EVENT
        EVENTPARM                    = PARAM
      TARGET_INSTANCE              = ' '
    EXCEPTIONS
      BAD_EVENTID                  = 1
      EVENTID_DOES_NOT_EXIST       = 2
      EVENTID_MISSING              = 3
      RAISE_FAILED                 = 4
      OTHERS                       = 5
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *====================================================

  • Can I raise cProject Task event from cProject Phase workflow?

    Hi,
    I need modify release logic of the cProject's task.  I am developing the phase release workflow.  In this workflow I want to trigger workflow to sequential release every tasks that belong this phase.  I developed a Z method of BUS2173 (Phase) and call the BAPI_BUS2173_GET_TREE, then I got Task_IDs of all of the tasks, but I do not know how to get the TASK BOR reference with these TASK_IDs.
    Can I get TASK BOR reference and raise its event from a method of the PHASE BOR ?
    Thanks.
    Arrow Yang.

    Hi  Barry,
    According to your description, my understanding is that you want to save and close the initial form when you  approve/reject the task.
    For a workaround, you can take steps as below:
    1.Open your site using SharePoint Designer, go to Workflows, click the approval workflow.
    2.On the workflow property screen, there is a Forms area should have an InfoPath form named Approval.xsn. You can click the link to open the form in InfoPath.
    3.Customize the task form for displaying and editing the initial form value.
    4.Customize the “Approve” button rule for  setting the form value.
    Reference:
    http://blogs.msdn.com/b/edhild/archive/2011/06/01/creating-custom-workflow-task-approval-forms-with-sharepoint-designer-2010.aspx
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • ECC6.0 WebDynpro(ABAP) - raising terminating event

    Hi, in ECC6.0 I have a custom WDA application with a custom workflow.  The workflow is launched via an event that is raised in the WDA application.  However, at one point workflow sends a link to one of the WDA pages, whereby the user clicks a button which raises what should be a terminating event for the workflow task.  However, while this event is raised, as confirmed in SWEL, it doesn't terminate the task.  The event is raised through a WDA assistance class.  The object type, event and object key are all being set properly during the raising of the event.  Viewing the event in SWEL confirms the proper setting of the key fields.  So why isn't the step terminating?
    Thanks in advance,
    Kevin

    Hi,
    If the object that is waiting for event has no instance, the task will not be terminated when the event is created in the system (As I said). So now the reason is clear for you.
    >The event is raised through a WDA assistance class
    I am not sure what you mean by this. You raise the event from the WDA assistance class? Or you raise an event for the assistance class? (Or perhaps both?).
    If you raise the event for the assistance class, you should have an instance of that class in the workflow container (which you would then bind from workflow container to the task container). So, now the question is: do you have an instance of the assistance class in the WF container (when you look it from log)? Or is it initial also?
    Actually I don't really even understand how you have managed to combine the WDA assistance class and WF class? How do you actually start the workflow (with which kind of event)? Whatever event it is, it should most likely instantiate some class/object in the workflow. Then in your problematic task you should most likely use this same class in the terminating event (unless there is something really fancy in your workflow).
    Regards,
    Karri

  • Raising An Event

    Hi,
    How can i raise an event from one thread, that will be handled by another thread?
    Thnx in advance.

    Can you be more specific about what type of event you want to raise?
    In general it's possible using a queue like:
    public synchronized void enqueue() {
       //place the item on the queue
       notify();
    public synchronized Object dequeue() {
       do {
         Object first = pop();
         if (first == null) wait();
        } while (first == null);
    }

  • Fire an event from a DC to another DC

    Hi all,
    I have the following problem:
    I have 3 different DC included in a Web Dynpro page. The DC 1 has a table with some PERS_CODE and on selection of one row of this table the DC 2 refresh its content with data of the new selection of PERS_CODE.
    Now I must implement the DC 3 with the same logic of DC 1 and DC 2, but unfortunately I can't see source code of DC 1.
    I've only seen into source code of DC 2 in which there is a public part imported (I think from DC 1) with the option "manual" (not createOnDemand).
    I think I can import into DC 3 the same public part to read PERS_CODE but how can I raise the event from DC 2 to DC 3 in order to refresh DC3's content?

    Hi,
    I have 2 main DCs bound. Now from DC2 I have to read the Context of DC1 (which is bounded to another application).
    To bind your context from DC1 to DC2
    Copy the context that you want to expose from the component controller to interface controller of DC1.
    Once this is done you will be able to see the context in DC2.
    Based on your requirement you can set the Input type property of the context node.
    Regards
    Ayyapparaj

  • Programatically post an event from a jpf

    From a newbie.....
    Could someone please point to the information on how to post an event from a jpf?
    Thanks

    Ok. Finally, I ended up invoking a hidden button click action in my client listener and raised the event from the ActionEvent bound to that button. Let me know if anyone could think of better options.. Thanks !
    Edited by: 119413 on Mar 15, 2013 10:40 AM
    Edited by: 119413 on Mar 15, 2013 10:41 AM

  • Raise an event externally

    Is there a way to raise an event from outside SAP (i.e. command line) that will kick off a batch job?
    Thanks in advance for  your assistance,
      -- Jackie

    there must be definitely. but that may prove a tricky thing to do, have a look at fm BP_EVENT_RAISE and you will see that you would first have to find out how many application servers are attached to the system, address them using taskhandler and then something unreadable in C which probably comes directly from the kernel ...
    but why not post your scenario here, maybe there's other ways to a solution?

Maybe you are looking for

  • Unrecognised Ipod

    Hi, Ive been through the threads on the discussion forum and see that quite a few Ipod users are having my problem. My Ipod is not being recognised by Itunes or appearing in My Computer on my PC. It freezes everthing and unless i unplug it everything

  • How to set up Query Logging in OBIEE 11g 11.1.1.6

    Hi all, I couldn't find the option for setting up the query logging for testing and debugging purpose. Could anyone plz help me in this ... Regards, Arun

  • How do you call a single block in a form from a different form ?

    Hello All, I'm trying to call a particular block in a form. The actual call is done via fnd_function.execute. This brings up 2 blocks: 1) a find/search block 2) the block I want with the correct information based on the parameters I have passed in. E

  • 8i PERSONAL EDITION WON'T INSTALL

    Auto run brings up menu, click on install/deinstall - bring up screen and click on next. Screen disapears and you are back at the original screen.

  • Can you get dictation on an ipad 2?

    I really want to know as it would be greatfor my daughters homework