This Article is about Siebel CRM 7.X Workflows and Runtime Events. It tells you how can we use them to our advantange.
We all want the response time of our Application to be as fast as it can and we do everything that we can to achieve that. I am going to tell you about a way which can help you to reduce the response time without actually reducing any functionality. Siebel can execute workflows in two ways.
- Synchronous
- Asynchronous
Synchronous Execution : When workflows are executed Synchronously then user gets the control back only when the workflow has finished it execution.
Asynchronous Execution: When workflows are executed Asynchronously then user gets back the control immediately and the workflow is submitted to workflow process manager (WPM) as a job to be executed. WPM then executes the job later.
Often we have a functionality where large amount of processing needs to be done on an object which user is not going to use access right now. I can explain it with an example.
When user clicks copy button on a opportunity or quote we want certain custom entities to be copied over but which user will not access at that time but later.
So, we can reduce our response time by just copying the quote or opportunity synchronously and placing the code of copying of custom entities in workflow and executing that workflow asynchronously.
There are two way to execute a workflow asynchronously
- Workflow Policy
- Runtime Event and Business Service (BS) Combination
Workflow Policy is pretty traditional method of executing a workflow process.
You create a policy. Enter the conditions Specify the workflow to be executed Generate Triggers
I wouldn’t go into details of creating a policy but I will tell you some disadvantages of using Workflow Policy
- Slow Execution
- Difficult to setup
- Not Reliable and Error Prone
But from siebel 7.7 onwards we have another more robust, efficient and quicker way to do that which is Runtime Events and Business Service.

7 Comments at "Siebel CRM - How To Call a Workflow Asynchronously?"
[...] Click Here to Goto Part 1 of this Article [...]
[...] that you would like to execute asynchronously then depend on Workflows to do it. You can read the following post to do [...]
Hi there ,
Your website is very informative and covered all the areas of Siebel.
Here i would like to a raise question on the topic
Siebel CRM - How To Call a Workflow Asynchronously?
The example cited by you may cause some serious problems and I might be wrong at the same time . Please go through the explanation and let me know if there is any thing wrong in the interpretation.
Copy fields of a record through a workflow process in async mode definitely cutdown the response time. but at the same time if user is access the same record to update some other fields, lead to oracle concurrencyy errors. These errors will hamper the functionality as well ( In this case , the record will be created with out the old record’s data since copy is not successful).
Probably async mode can be very well demonstrated with sending an email after creating any SR or Oppty.
Please correct me if am wrong any where in my comments and i would be happy to know your response.
Thanks alot
Cheers
Uma
What I was trying to say was copy of enties such as Activities,Attachments etc not fields.
To make my example more clear.
When I copy quote it results in copying of activites,attachments and we assume 5 enties are copied over.
So we copy quote synchronously and copy other enties asynchrously as a user is going to work on quote immideatly but he is not directly going to go to attachments and there will be delay of atleast 3-5 seconds which should be sufficient to complete the process.
But your point is valid that if we do something of that sorts for fields then it will definately result in an error.
very interesting.
i’m adding in RSS Reader
What do you mean ?
I believe you can also set the execution mode of the Workflow Process by configuring the workflow process properties.
In the workflow process designer, the steps applet has a field called “Processing Mode” where you can choose from either of the following values:
Local Synchronous - Executes the process in the Application Object Manager, which is the Default.
Remote Synchronous - Submits a Synchronous Request to the Workflow Process manager.
Remote Asynchronous - Submits an Asynchronous Request to the Workflow Process Manager.
Comment Now!