Integration Event - Delete Events

Is there any way that I can delete individual events in the queue?
documentation says,
"If the DateTime argument is supplied, all
events older than the specified date and time are deleted. If the LastEventId argument is supplied,
all events older than the specified event are deleted"
Getevents returns the modified date. If I pass the modified date to the delete events as a parameter, would it delete all the events older than the modifled one + the exact match of the date time filed.
thanks

I've deleted events by the last modified date in the past and it has worked for me, it will also delete the event for the record that the last modified date was taken from.
I did have some flakyness when there was only a single record in the event queue and I tried to delete it by the last modified date, it wouldn't remove it.

Similar Messages

  • 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 events - Retrieve (get) and delete

    Hello forum. First, I would like to send my new years best wishes to everybody, hope it will be good. Second, I am relatively n00b to siebel in general, however I got some EXP integrating applications, so even the technology is new, the concepts (overall) are familiar. Anyways, I am working as you may imagine by now, with the OnDemand CRM, which exposes some web services to deal with the integration. My first attempt was to create a consumer (this part is working fine) and retrieve N amount of integration events. Now I am on the part where I got to "delete" those events from the message queue and I am facing the problem that it will only accept two parameters to proceed with the deletion, which are based on an arbitraty datetime or based on a given last event.
    On the documentation, it reads that you might delete the entire set of events or any subset, but with those only parameters expected (in the wsdl), how could someone achieve it ? I read and research before posting, of course, I found a post by some other guy that was doing the same and at least in the "getting" int events part, he was stuck until customer care said this kind some sort of typo and this cannot be done, I think this may apply here too, but I got to be sure before I proceed.
    So, bottom line, it is possible ? What is the best way to do it ? One by one, taking a bunch of them ? Any recommendation is appreciated.
    Thanks in advance.

    I'm not really sure why your example is not working since we
    are missing a good amount of the code that goes along with it
    however whenever I need to check for either of those keys I
    normally do it the following way as attached.

  • 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

  • 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

  • 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

  • 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

  • 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>

  • 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

  • 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 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)

  • 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.

  • Integration Event

    Hi
    What is the value we need to provide for object if we are using Integration Events.
    https://secure.crmondemand.com/Services/Integration/ object
    Sundar

    If you want to do this, may be you need some integration software like BPEL Process Manager , this is because is more flexible to integrate with other applications with out create specific clients.
    There is one service called IntegrationEvent wich stores every change in the CRM that you want.

Maybe you are looking for