Query - Integration Event

I have a scenario where i have to create an opportunity team based on the data that user enters in oppportunity and it has to be done when new record is saved in opportunity object. We cannot use out of box workflow functionality in this scenario so in this case i have opted to use integration event in the workflow. I have planeed to develop a windows service which will timelly read the INtegration Event queue and will fetch the lastEventID using INtegrationservice. PLease let me know if this approach is correct or not. I am also facing another isssue. In one of my test application i am trying to fetch the last event ID using the integrationservice.I am hitting the particular event where my workflow is registered but still i am not able to get the lasteventId. Please let me know if I am missing something

Hi Akesh,
I think your scenario works fine, but in my opinion you missed the idea of the LastEventId. For your new opportunity you get an event (with the oppty key data like id and the fields you track). You will process these events to create your opportunity team (perhaps you have to add a opportunity query- depends on your use case). The LastEventId is a Id you get for every integrationevent query. You can use this id to delete all events which are included in this query, I guess... It is not event related.
BR Michael
<ns:IntegrationEventWS_GetEvents_Output xmlns:ns="urn:crmondemand/ws/integrationevent/">
<ListOfEvent xmlns="urn:/crmondemand/xml/integrationevent">
*<Event object="Opportunity" name="oppty_craeted" operation="insert">*
*<SiebelMessage>*
*<ListOfOpportunity xmlns="urn:/crmondemand/xml/opportunity">*
*<Opportunity>*
*</Opportunity>*
*</ListOfOpportunity>*
*</Event>*<Event object=...>
</Event
</ListOfEvent>
<ns:LastEventId>20100809191347595_.....</ns:LastEventId>
<ns:QueueName>Default Queue</ns:QueueName>
</ns:IntegrationEventWS_GetEvents_Output>

Similar Messages

  • Integration Event set-up

    I am new at using workflow to generate integration events. Any guidance would be appreciated.
    My business need is to share Contact information with an outside system. This is a bi-directional interface. When a Contact is added, changed, or deleted in CRM the other system needs to know about it. Also, when a Contact is associated with an Account or dissociated from an Account, the other system needs to know about it.
    My questions have to do with the set of fields you see when you click "configure" on the integration event action. What should be selected for an Add? All the Contact fields? Just the Row ID? What about on an update? All the fields? Just the modified date? And on a delete? The External Unique ID so the integration code knows which record to delete in the other system?
    Anybody know why there isn't a "configure" on the After association with Parent trigger event? It is still rather vague when this WF actually fires.
    Much appreciated.
    Jeff

    There is no UI or a wizard to see the data inside the Queue the only option is to query INtegration Event Queue using Web Services
    Regards,
    Deepak H Andeli

  • New Sample Code: Querying techniques, integration events, book assignment

    We have just posted a new CRM On Demand Web Services code sample to Oracle Sample Code. This sample uses a combination of WS v1.0 and WS v2.0 to demonstrate advanced samples like querying techniques, processing integration events, and book assignment.
    The sample is written using .Net framework 1.1 and VS studio 2003. Users will need to have Microsoft .NET (.Net Framework 1.1) installed on their machine.
    <a title="Click here" href="https://codesamples.samplecode.oracle.com/servlets/Scarab/action/ExecuteQuery?query=crm_on_demand" target="_blank">Click here</a> to go to the CRM On Demand code samples. Look for Artifact ID S517, Advanced WS Techniques (in .NET Framework 1.1)

    I found some examples in the Web Services Resource Library.
    you can access this through the "Training and Support" link from within CRM OD.
    Then click on "Web Services Library" then download the Getting Started kits
    Edited by: user10730659 on 20/01/2009 16:11

  • Query Regarding Integration Event

    I have a scenario where i have to create an opportunity team based on the data that user enters in oppportunity and it has to be done when new record is saved in opportunity object.
    We cannot use out of box workflow functionality in this scenario so in this case i have opted to use integration event in the workflow.
    I have planeed to develop a windows service which will timelly read the INtegration Event queue and will fetch the lastEventID using INtegrationservice.
    PLease let me know if this approach is correct or not.
    I am also facing another isssue.
    In one of my test application i am trying to fetch the last event ID using the integrationservice.I am hitting the particular event where my workflow is registered but still i am not able to get the lasteventId.
    Please let me know if I am missing something
    Thanks In Advance!!
    -Mitesh

    If all of your event cases will be the same except for the array constant, turn all of that inside a subVI and put it outside of your event structure.  The idea here is that the event structure just passes out the data to send.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Integration Events - Documentation

    Hi,
    Does anyone have any documentation on Integration Events?
    My current issue is that when I have a workflow for 'Modified Record is Saved', not all the fields I have flag to be tracked are stored on the integration event.
    The field that is changed is on on the integration event, but not all the other fields.
    Therefore I need to do another query to retrieve the other values i've flagged to be tracked.
    Has anyone else come across this or found a workaround?
    Regards
    Minesh Patel

    Hi Minesh,
    What you are describing is the intended behavior. It basically gives you the fields that you are tracking that you have changed, some audit information so that you know who changed the data and when and also user key information. If you need more information than that, you will need to do a QueryPage to get more fields (which it appears you are alrady doing).
    ---- From Web Services On Demand Guide --
    The integration event stores information about data that has changed:
    ■ User key information about the changed record, for example: objectID, externalsystemID
    ■ Audit information, for example, created date, createdby, modified date, modified by
    ---------------------------------

  • Integration Event Queue Fields

    Getting starting on an integration project between Siebel OnPremise 8.1 HOR and OnDemand and I am seeing some conflicting information in the documentation versus what really happens with fields of data in the Event Queue.
    I cannot remember exactly where but I came across documentation indicating that not all "tracked fields" may appear in a given integration queue event. It seemed to indicate that only the user key data and system fields like operation, created, created by etc would be recorded in the queue.
    However in testing I have found that all my tracked fields are appearing in the queue except for custom fields and custom fields do appear when that field changes. I done only very limited testing but wanted to get others input on how this works.
    If all the data I need will be in the queue then I can just map that data to my OnPremise data and apply the update.
    If I should only expect a small subset of data then I'll have to use the event queue data to query the full record and then apply an update from the query result.
    Thoughts?

    Two things need to happen for a Workflow to trigger the creation of an Integration Event:
    1) The Workflow condition (if a condition exists) needs to evaluate to true.
    2) One of the "tracked" fields need to be udpated.
    An Event may be missed when the Workflow condtion is true but no tracked field is updated. When you configure Integration Event fields to be tracked, what you are doing is telling the system to create an Event record if one of the tracked fields has been modified. A common misconception is that the tracking fields are the fields that will be returned in the Event record, this is not the case, only a few unconfigurable audit fields are returned in an Event record.

  • Error while deleting events from the integration event queue

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

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

  • Integration Event Fun...

    I am about to embark on a project that entails working with the Integration Event queue. I have downloaded the WSDL and was able to compile it into my .NET environment. I was wondering if anybody had answers to the following questions:
    1. Are there any sample apps and/or documentation out there in terms of processing the Integration Event queue? I have checked this forum, the documentation and the knowledge base without success :(
    2. The "GetEvents" method takes in a number, and returns the top X events. There does not seem to be a way to filter the list. What happens if there are 2 external programs that want to process events and they don’t know about each other? Is there a way to prevent them from picking up each others events and potentially deleting them?
    Thanks in advance!

    Hi All,
    i got the solution, Actually the integration queue was full and i had to delete them. Now as i have deleted them, integration event is going in teh queue.
    Nisman

  • How to create integration event when Contact's address changed?

    I want to create an integration event and send contact's address to an external system whenever a Contact record type is modified. The problem is contact's address is not on the track changes list so I can't select it. I talked to Customer Care and they said you can't do this currently.
    This is important to me since we want to send updated address info whenever it's changed. I'm able to send updated contact email and phones info since they are available on the track changes list.
    Does anyone know how to get around this limitation regarding contact address?
    Thanks

    Hi, dirty, but yes...
    workaround: just configure for every change on contact(use modified date in your integration event config as the only audit field) and check in the workflow condition if the person address has changed...there you go.
    Best Regards
    SL

  • Problem in integration event administration

    hi
    whenever i click on "Integration Event Setting" in "Integration Event Administration" i get following error
    Internal error: Directory does not exist(SBL-ODS-00208)
    i have Integration event enabled in my company profile
    because of this error whenever i run a workflow which has an action of creating Integration event i get the same error.
    Thanks and Regards

    The solution I have is below, not sure if the user is on a demo pod or not but most likely they will need to contact CSR to have integration events disabled and then re-enabled.
    Q: When I try to go to the Integration Event Settings, I get the following error message: Internal error: Directory does not exist(SBL-ODS-00208)
    A:
    I have seen this complaint several times. I believe it has to do with the way the demo system is set up.
    Please contact customer care, its a problem with how the system is setup and there is a sequence of steps they need to follow to fix this.
    Sean Duffy

  • Configuring Integration Events

    I am new at using workflow to generate integration events. Any guidance would be appreciated.
    My business need is to share Contact information with an outside system. This is a bi-directional interface. When a Contact is added, changed, or deleted in CRM the other system needs to know about it. Also, when a Contact is associated with an Account or dissociated from an Account, the other system needs to know about it.
    My questions have to do with the set of fields you see when you click "configure" on the integration event action. What should be selected for an Add? All the Contact fields? Just the Row ID? What about on an update? All the fields? Just the modified date? And on a delete? The External Unique ID so the integration code knows which record to delete in the other system?
    I've tried to get this cleared up via an SR, but am getting nothing.
    Much appreciated.
    Jeff

    Hi Jeff,
    My questions have to do with the set of fields you see when you click "configure" on the integration event action. What should be selected for an Add? All the Contact fields? Just the Row ID? What about on an update? All the fields? Just the modified date? And on a delete? The External Unique ID so the integration code knows which record to delete in the other system?When you click the configure link, you see the set of fields which can be tracked for the selected object. Which fields you select to track depends on your external application. If you are looking to duplicate the record in another system then yes, you should track all fields that are stored in the other system. If you are simply looking to track that the contact exists and allowing the user to access the full details in CRMOD, they you could choose a small subset of fields (i.e. First/Middle/Last Name, Phone #, External System Id). The set of fields you select on an update really depends on which set of fields you are saving in your external system, for example, if you are not tracking email address then there is no need to track updates to this field. On a delete you are merely tracking the event, not individual fields since the record no longer exists. I would recommend using the External System Id value as that will allow you to identify the record in your external system that maps to the record in CRMOD.
    I hope this helps. Please refer to the CRMOD Online Help guide or the WS User Guide for additional integration event details (see the announcement on the forum homepage for links to additional resources).
    I've tried to get this cleared up via an SR, but am getting nothing.I'm sorry to hear that you haven't gotten a satisfactory response to your SR, please don't hesitate to post additional questions to this forum if you encounter issues.
    Thanks,
    Sean

  • Integration Event webservice problem

    Hi there
    i'm trying to create a java client to check all contacts deleted in crmod. For that i've created a workflow rule that creates an integration event, everytime a contact is deleted.
    Now when i try to get those events i'm getting this message: org.xml.sax.SAXException: Invalid element in crmondemand.xml.IntegrationEvent.SiebelMessage - ListOfContact
         at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
         at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
         at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
         at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
         at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
         at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
         at org.apache.axis.client.Call.invoke(Call.java:2467)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at crmondemand.ws.IntegrationEvent.Default_BindingStub.getEvents(Default_BindingStub.java:249)
         at TesteIntEvent.main(TesteIntEvent.java:40)
    This is the piece of code that i'm using:
    Default_BindingStub stub = new Default_BindingStub(url, service);
    IntegrationEventWS_GetEvents_Input input = new IntegrationEventWS_GetEvents_Input();
    IntegrationEventWS_GetEvents_Output output = new IntegrationEventWS_GetEvents_Output();
    output = stub.getEvents(input);
    the error occurs in the last line. Does anyone has an ideia of what is happening?
    thanks in advance.

    This is not answer of your question but alternate option.
    If your requirement is just to check the contact deleted, use the Deleted Item Service API.
    NO need to overload integration event queue. Though it can be done by IE also but for that you need to create the Queue, WF etc, not the efficient way.
    Dinesh

  • HR Create Standalone Query Integrator - LOV as parameter type?

    Hi
    Our customer wants to download data from a view with filters on various fields. We accomplished this using a download integrator and created restrictions via Standalone Query with various where clause parameters to the view(using HR Create Standalone Query Integrator). While this addressed customer's requirement they are seeing lot of users entering wrong data for the parameter value and causing bad SQLs hitting the database. Customer wants to make sure they dont let end users enter the wrong values in the run time parameter and requesting to make the parameter prompt value to be a LOV type where they are forced to choose one of the valid value.
    Example:
    Integrator Name - AP_INVOICE
    SQL Where Clause – where invoice_type=$PARAM$.invoice_type
    1st Parameter Name – invoice_type
    1st Parameter Type – Varchar2
    1st Parameter Prompt– Invoice Type Equals
    Customer wants this Invoice type parameter values to be shown in a drop down list so that end user is forced to pick the valid value and download the data. How to accomplish this? Appreciate your guidance.
    Thank you.

    DECLARE
    ln_number NUMBER := 1;
    BEGIN
    BNE_PARAM_DEFNS_PKG.UPDATE_ROW (
      X_APPLICATION_ID => 800,
      X_PARAM_DEFN_CODE =>'PER_BUS_GRP_ID',
      X_OBJECT_VERSION_NUMBER => ln_number,
      X_PARAM_NAME => 'PER:BUS_GRP_ID',
      X_PARAM_SOURCE =>'HR:Download',
      X_PARAM_CATEGORY => 5,
      X_DATATYPE =>1,
      X_ATTRIBUTE_APP_ID => NULL,
      X_ATTRIBUTE_CODE => NULL,
      X_PARAM_RESOLVER => NULL,
      X_DEFAULT_REQUIRED_FLAG => 'N',
      X_DEFAULT_VISIBLE_FLAG =>'Y',-- changed from 'Y' to 'N'
      X_DEFAULT_USER_MODIFYABLE_FLAG =>'Y',
      X_DEFAULT_DATE => NULL,
      X_DEFAULT_NUMBER => NULL,
      X_DEFAULT_BOOLEAN_FLAG => NULL,
      X_DEFAULT_FORMULA => NULL,
      X_VAL_TYPE => 2,
      X_VAL_VALUE =>'XXC_HR_ALL_BG',
      X_MAX_SIZE => 240,
      X_DISPLAY_TYPE => 3,
      X_DISPLAY_STYLE =>1,
      X_DISPLAY_SIZE => 240,
      X_HELP_URL => NULL,
      X_FORMAT_MASK => NULL,
      X_USER_NAME => 'APPS',
      X_DEFAULT_STRING => NULL,
      X_DEFAULT_STRING_TRANS_FLAG =>NULL,
      X_DEFAULT_DESC => NULL,
      X_PROMPT_LEFT => 'Business Group Name',
      X_PROMPT_ABOVE => 'Business Group Name',
      X_USER_TIP => 'Enter Business Group Name',
      X_ACCESS_KEY => NULL,
      X_LAST_UPDATE_DATE => SYSDATE,
      X_LAST_UPDATED_BY => -1,
      X_LAST_UPDATE_LOGIN => -1
    dbms_output.put_line('Value of Object Version Number is : '|| ln_number);
    exception
    when others then
    dbms_output.put_line(SQLERRM);
    end;Edited by: 936671 on Jul 4, 2012 10:51 AM

  • Integration Event Web Service Upload Trigger

    Hello,
    have a question about the Integration Event Web Service.
    Is it possible to get Data in the Integration queue, if i make an upload? We made the experience that workflows don't trigger with uploads.
    Regards,

    I'm sorry, I'm not clear on what method you are using for "upload" is this a WS insert request or are you using import to add new records to CRMOD? Also, what object(s) are you working with (i.e. Account)

  • List of integration events in B1iSN

    Hi Experts,
    Where can I get the list of integration events between B1-PO and R/3-SO. Right now, I know integration events 22 which is for Create SO in R/3. What would be the change and delete event?
    Many Thanks.
    Rally

    Hi Rally,
    Any operation of business object, like add(), update(), delete() etc would trigger the event in B1. And the event can be recognized by the object id of buisness object ,  operation type and object key. Take purchase order for example:
    Object Id of Purcahse Order: 22
    The operation type: A -Add, U - Update, D - Delete
    When a new purchase order (Doc Entry = 10) is added, a corresponding of event  would created in B1 and sent to B1i via event sender.
    Obejct Id = 22, Operation Type = A, Object Key  = 10
    You can check it out with:
    SAP iApp Explorer:
    http://localhost:8080/B1iXcellerator/exec/dummy/com.sap.b1i.system.iae/bin/IAE.htm
    =>Monitor => B1 Events.
    Kind Regards, Yatsea

Maybe you are looking for

  • User Account List

    User Account List Is there a way to extract all user accounts from Request Center? Ideally into a spreadsheet that includes their names and user id's as well as whether they are active or inactive. We have a "no longer with the company process" and w

  • How do I get my new iPad 2 to work?

    Hello there. I am new to Macbook Pro's and iPad 2's. I bought this here Macbook Pro about a month ago. I bought a new iPad 2 Wi-Fi 16GB yesterday from Best Buy. I'm not very "computery". I provide live sound (I run sound / mix bands) for a livng. The

  • Problem in when creating the sales order

    Hi to All, I am using the function module 'BAPI_SALESORDER_CREATEFROMDAT2' to create a sales order with quotation reference. When I executing the program the return table shows following issues 1.Document 20000292 doesn't have document category but 2

  • MacBook Pro with OSX 10.7.3 using Firefox 10.0.2 no longer shows photos included in newspaper page downloads.

    Using MacBook Pro OSX 10.7.3 and Firefox 10.0.2 when downloading pages via internet of newspapers such as Toronto Star for example, photos included in the page or item download are absent from the download. There is a box with a line margin around th

  • Calling Stored Proc returning count of records(int value) using hibernate

    Hi , I am a newbie in hibernate. i have a store proc that returns the count of amtchin records, i want to call the store proc using hibernat.Can anyone help me out in this. Thanks , Dilip