After I finally got to leave the ‘Siebel ecosystem’, I had to return as that was indeed my core competency. And because there are places were Siebel is still awesome.
Like, the concept of a Webservice transaction in Siebel session. I am yet to see other systems implement it.
Siebel provides an awesome business service called ‘EAI Transaction Service’. It has two methods , BeginTransaction, and EndTransaction. Like the name denotes, you mark the beginning of the your webservice transaction , and then proceed to use ‘EAI Siebel Adapter’ to make your updates, and finally commit everyting with the EndTransaction method.
Nothing gets committed to the system until you End the transaction successfully.
On commit, the last updated date and time on the objects is correctly preserved.
Now, the truly awesome thing. Although the documentation mentions use of Siebel EAI services, any update can be done in the transaction, and they all will be treated the same way.
It works for scripting !
It works of Workflow updates as well.
So if you use a script to update a record, that update also will be commited only if the EndTransaction method is invoked successfully.
Otherwise, everything gets rolled back.
In other words, you don’t have to be doing EAI work in Siebel to use this BS. You can use it wherever you need to rollback changes in case something does not work out well. Doc ID 1293943.1
If only we could rollback our own mistakes in life like that .