We have implemented Order to Cash PIP 3.1.
Here is the question we have: The Customer integration from Ebiz to Siebel was implemented 3 weeks ago but we could not run the concurrent program "TCA Business Object Events: Raise Events Program" as we had some issues in the integration. Now we have fixed those issues but we do not want to trigger the integration for the existing update/create events waiting to be processed as these are already updated/created in Siebel thru our legacy integration. How can we clean the queue in Ebiz ? We need to start with the new events.
We use AIA and TCA Business Object Events program to integrate from one Ebiz instance to another.
To achieve what you want I would not do anything in SOA.
In out integration TCA ends up putting messages into WF_BPEL_Q.
I would use the following process: (Assuming offline time is a possibility)
1. Retire the parts of AIA that dequeue from WF_BPEL_Q. (depending on how messages are picked up.)
2. Create a PLSQL script that dequeues all messages from WF_BPEL_Q but dosn't process them. Using relevant select statements you can dequeue by message ID and select only relevant messages
3. Run whatever process you need that puts fires the Raise Events Program
4. Run the script to dequeue the messages that does nothing with them.
5. Re-activate the parts of AIA that dequeue from WF_BPEL_Q
This should give you the desired effect. Just be careful you don't screen out messages that do need to be transfered.
I went with following approach and that helped me:
1. Disable the subscriptions (NOT Events) to Business events with subscription name "WF_BPEL_Q".
2. Ran Raise event concurrent job. This should raise and suppress all events raised since no subscription.
3. Enable the subscription.
4. Run TCA Raise event job, this should pick only new events since last run of job.