<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5670482486690501222</id><updated>2012-02-16T19:28:55.732-08:00</updated><title type='text'>Invoking Siebel Workflows</title><subtitle type='html'>http://siebelconfiguration.blogspot.com http://siebeleim.blogspot.com http://siebeleai.blogspot.com</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-4154289187374937223</id><published>2008-04-02T23:28:00.000-07:00</published><updated>2008-04-02T23:30:18.260-07:00</updated><title type='text'>Siebel Workflows Overview</title><content type='html'>&lt;p&gt;When you use Siebel XML to integrate with Siebel Integration Objects, the interface uses a Siebel Workflow. You use Siebel to define a Siebel Workflow to emit or to receive Siebel XML using Siebel HTTP transport services. The topics in this section discuss how to create and use workflows that use the supported transport services.&lt;/p&gt; &lt;div class="alert"&gt;&lt;table width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align="left"&gt;&lt;img class="note" src="http://msdn2.microsoft.com/en-us/library/Aa547258.note%28en-us,MSDN.10%29.gif" /&gt;Note &lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; This section is intended as a supplement to the documentation for Microsoft BizTalk Adapter for Siebel eBusiness Applications and is not intended as a substitute for Siebel documentation. For complete and up-to-date information about Siebel Workflow and policy topics, see the Siebel Bookshelf documentation.&lt;p&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;div id="ctl00_rs1_mainContentContainer_cpe308112" class="MTPS_CollapsibleRegion"&gt;    &lt;div style="color: rgb(255, 255, 0);" id="ctl00_rs1_mainContentContainer_cpe308112_h" class="CollapseRegionLink"&gt;     &lt;img id="ctl00_rs1_mainContentContainer_cpe308112_i" src="http://i.msdn.microsoft.com/Platform/Controls/CollapsibleArea/resources/minus.gif" style="border-width: 0px; vertical-align: middle;" /&gt; Siebel Workflows    &lt;/div&gt;&lt;div style="overflow: visible; display: block; height: auto; width: 762px;" id="ctl00_rs1_mainContentContainer_cpe308112_c" class="MTPS_CollapsibleSection"&gt;&lt;div style="display: block;" id="" class="MTPS_CollapsibleSection"&gt;     &lt;a name="sectionToggle0"&gt;&lt;!----&gt;&lt;/a&gt; &lt;p&gt;A Siebel Workflow is a series of Siebel business services that are linked to accomplish a business task. You create workflows using the Siebel Client Workflow Administration screens. You can invoke workflows using one of the following methods:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; Using a workflow policy.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Using a run-time event (Siebel Event).&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Using a script (eScript or Siebel VB).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The following topics briefly describe how to invoke the workflow through a policy condition. For more information about policy and other methods, see the Siebel Bookshelf documentation.&lt;/p&gt;&lt;div class="title"&gt;Invoking Siebel EAI Workflows Using Policies&lt;!----&gt;&lt;/div&gt;&lt;!--       Content type: Devdiv1. Transform: orcas2mtps.xslt.     --&gt;&lt;p&gt;This topic was last updated on: December 5, 2007&lt;/p&gt; &lt;p&gt;A workflow policy is defined by a set of conditions that executes a set of defined actions. A Siebel workflow policy consists of the following:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; Conditions that define circumstances, based on changes in the state of a Siebel database.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Actions that define steps taken when conditions are fulfilled.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div id="ctl00_rs1_mainContentContainer_cpe279229" class="MTPS_CollapsibleRegion"&gt;    &lt;div style="color: rgb(255, 255, 0);" id="ctl00_rs1_mainContentContainer_cpe279229_h" class="CollapseRegionLink"&gt;     &lt;img id="ctl00_rs1_mainContentContainer_cpe279229_i" src="http://i.msdn.microsoft.com/Platform/Controls/CollapsibleArea/resources/minus.gif" style="border-width: 0px; vertical-align: middle;" /&gt; Creating a Workflow Policy    &lt;/div&gt;&lt;div style="overflow: visible; display: block; height: auto; width: 762px;" id="ctl00_rs1_mainContentContainer_cpe279229_c" class="MTPS_CollapsibleSection"&gt;&lt;div style="display: block;" id="" class="MTPS_CollapsibleSection"&gt;     &lt;a name="sectionToggle0"&gt;&lt;!----&gt;&lt;/a&gt; &lt;p&gt;Creating a policy to invoke a workflow as an action involves the following steps:&lt;/p&gt; &lt;ol&gt;&lt;li&gt; Define an action to be executed after a policy is triggered. Use the Run Integration Process program.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Create a policy by setting conditions and selecting appropriate policy groups and actions.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Start the policy by selecting an activation date.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Run the Generate Triggers server task from Server Administration windows to set the conditions to be monitored.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Start the Workflow Monitor agent after editing with the appropriate policy group (to which your policy belongs) to evaluate whether to perform an action.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Start the Workflow Action Agent server task from Server Administration windows to perform the action.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;For more information about the previous steps, see the Siebel Bookshelf documentation.&lt;/p&gt;&lt;div style="color: rgb(255, 255, 0);" class="title"&gt;Siebel Workflow: Outbound&lt;!----&gt;&lt;/div&gt;&lt;!--       Content type: Devdiv1. Transform: orcas2mtps.xslt.     --&gt;&lt;p&gt;This topic was last updated on: December 5, 2007&lt;/p&gt; &lt;p&gt;When a Siebel Workflow is triggered based on a Siebel policy, run-time, or script (eScript or Siebel VB) event, the result is the generation of a Siebel XML document that is put on one of the Siebel transports. &lt;/p&gt; &lt;p&gt;For example, when you add a new account in the Siebel Call Center application, you can design and configure a workflow to be triggered on the account transaction. You can design the workflow to extract the data for the new record, convert it to Siebel XML, and then put it on an MQSeries message queue.&lt;/p&gt; &lt;p&gt;In this example, the Siebel Workflow process executes the following series of Siebel Business Services:&lt;/p&gt; &lt;ol&gt;&lt;li&gt; Calls the Siebel EAI (enterprise application integration) Siebel Adapter, which queries for the newly updated account record, and puts the data in its original internal structure into memory.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Calls the Siebel EAI XML Converter, which converts the data into an XML message.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Calls the Siebel EAI MQSeries Transport, which puts the newly created XML message into the appropriate MQSeries message queue.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;After the message is put into the message queue, Microsoft Adapter for Siebel eBusiness Applications retrieves it. The following workflow sequence illustrates the previous steps.&lt;/p&gt; &lt;div&gt;&lt;img alt="" src="http://msdn2.microsoft.com/en-us/library/Aa578368.d543de32-d8d3-4612-a4f3-e4401aa10733%28en-us,MSDN.10%29.gif" /&gt;&lt;br /&gt;&lt;div style="color: rgb(255, 255, 0);" class="title"&gt;Siebel Workflow: Inbound&lt;!----&gt;&lt;/div&gt;&lt;!--       Content type: Devdiv1. Transform: orcas2mtps.xslt.     --&gt;&lt;p&gt;This topic was last updated on: December 5, 2007&lt;/p&gt; &lt;p&gt;A Siebel Workflow that is triggered by an external event starts by receiving a Siebel XML document, which is put on one of its transports. The result might be the update of a Siebel record using the XML as input: for example, when a new account is added in another customer relationship management (CRM) system but must also be updated in the Siebel Call Center application. You can design and configure a workflow to receive or listen on an MQSeries message queue. Upon receipt of the XML message, the workflow processes the transaction into the Siebel system to update the record.&lt;/p&gt; &lt;p&gt;In this example, upon receipt of the Siebel XML message in the message queue, the Siebel MQSeries Receiver server task initiates a Siebel Workflow process, which in turn executes a series of Siebel Business Services as follows:&lt;/p&gt; &lt;ol&gt;&lt;li&gt; Calls the Siebel EAI (enterprise application integration) XML Converter, which converts the XML message into Siebel internal format.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Calls the Siebel EAI Siebel Adapter, which applies the newly updated account record based on the methods defined in its service.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;     &lt;/div&gt;&lt;/div&gt;   &lt;/div&gt;     &lt;/div&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-4154289187374937223?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/4154289187374937223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=4154289187374937223' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/4154289187374937223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/4154289187374937223'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/siebel-workflows-overview_02.html' title='Siebel Workflows Overview'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-632395384098467668</id><published>2008-04-02T23:25:00.000-07:00</published><updated>2008-04-02T23:26:49.475-07:00</updated><title type='text'>Siebel CRM - How To Call a Workflow Asynchronously?</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 85%; color: rgb(51, 51, 51); font-family: verdana;"&gt;&lt;strong&gt;This Article is about Siebel CRM 7.X Workflows and Runtime Events. It tells you how can we use them to our advantange&lt;/strong&gt;&lt;/span&gt;.&lt;br /&gt;We all want the &lt;strong&gt;response time&lt;/strong&gt; of our Application to be as &lt;strong&gt;fast&lt;/strong&gt; 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. &lt;strong&gt;Siebel&lt;/strong&gt; can execute &lt;strong&gt;workflows&lt;/strong&gt; in&lt;strong&gt; two&lt;/strong&gt; ways.&lt;br /&gt;&lt;span id="more-10"&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Synchronous&lt;/li&gt;&lt;li&gt;Asynchronous&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Synchronous Execution&lt;/strong&gt; : When workflows are executed Synchronously then user gets the control back only when the workflow has finished it execution.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Asynchronous Execution:&lt;/strong&gt; When workflows are executed Asynchronously then user gets back the control immediately and the workflow is submitted to &lt;strong&gt;workflow process manager &lt;em&gt;(WPM)&lt;/em&gt;&lt;/strong&gt; as a job to be executed. WPM then executes the job later.&lt;/p&gt; &lt;p&gt;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&lt;strong&gt; explain&lt;/strong&gt; it with an &lt;strong&gt;example&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;So, we can reduce our response time by just copying the &lt;strong&gt;quote&lt;/strong&gt; or &lt;strong&gt;opportunity&lt;/strong&gt; synchronously and placing the code of copying of custom entities in workflow and executing that workflow asynchronously.&lt;/p&gt; &lt;p&gt;There are two way to execute a workflow asynchronously&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Workflow Policy&lt;/li&gt;&lt;li&gt;Runtime Event and Business Service (BS) Combination&lt;/li&gt;&lt;/ul&gt;Workflow Policy is pretty traditional method of executing a workflow process.&lt;br /&gt;You create a policy. Enter the conditions Specify the workflow to be executed Generate Triggers&lt;br /&gt;I wouldn’t go into details of creating a policy but I will tell you some &lt;strong&gt;disadvantages&lt;/strong&gt; of using &lt;strong&gt;Workflow Policy&lt;br /&gt;&lt;/strong&gt;&lt;ol&gt;&lt;li&gt;Slow Execution&lt;/li&gt;&lt;li&gt;Difficult to setup&lt;/li&gt;&lt;li&gt;Not Reliable and Error Prone&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;But from siebel 7.7 onwards we have another more robust, efficient and quicker way to do that which is &lt;strong&gt;Runtime Events and Business Service.&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-632395384098467668?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/632395384098467668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=632395384098467668' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/632395384098467668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/632395384098467668'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/siebel-crm-how-to-call-workflow.html' title='Siebel CRM - How To Call a Workflow Asynchronously?'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-1675598168776802651</id><published>2008-04-02T23:16:00.000-07:00</published><updated>2008-04-02T23:25:19.323-07:00</updated><title type='text'>Runtime Events Workflows - Part 2</title><content type='html'>&lt;p align="left"&gt;&lt;strong&gt;This Article is about Siebel CRM 7.X Workflows and Runtime Events. It tells you how can we use them to our advantange.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In this article I will tell you about the actual process of Setting up Runtime Event and Business Service assuming you have working knowledge of both. If you want to know the basics of these please see other posts of my blog.&lt;br /&gt;&lt;span id="more-11"&gt;&lt;/span&gt;&lt;br /&gt;Just one important thing that you should know about runtime evetns is that they are executed even before the Business Component Events. To explain it better I am taking an example where our requirement is to execute a workflow when you click Submit Oppty button on Opportunity Form Applet.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Goto &lt;strong&gt;Administration ==&gt;Runtime Events Screen&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Goto Action Sets View&lt;/li&gt;&lt;li&gt;Create a New Record in the Action Set View of Runtime Events Administration Screen&lt;/li&gt;&lt;li&gt;Enter Any Name in the Name Field of the Action Set List Applet&lt;/li&gt;&lt;li&gt;Create New Record List Applet Below it&lt;/li&gt;&lt;li&gt;Enter&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt; = “TestRuntimeEvent” ;&lt;br /&gt;&lt;strong&gt;Action Type&lt;/strong&gt; = “Business Service” ;&lt;br /&gt;&lt;strong&gt;Sequence&lt;/strong&gt; = “1″&lt;/p&gt; &lt;ol&gt;&lt;li&gt;In the Form Applet Below Enter the Following Details Business Service = “TestBS” ; Business Service Method = “TestMethod”8. Click Menu ==&gt; Reload Runtime Events Make Sure that you have Active Flag checked in both List Applets.&lt;/li&gt;&lt;/ol&gt;You are done in Action Set View. Now Goto Events view and Follow the steps given below&lt;br /&gt;&lt;br /&gt;Click New and Enter the Following Information&lt;br /&gt;&lt;strong&gt;Sequence&lt;/strong&gt; = 1 ;&lt;br /&gt;&lt;strong&gt;Object Type&lt;/strong&gt; = “Applet” ;&lt;br /&gt;&lt;strong&gt;Object Name&lt;/strong&gt; = “Opportnity Form Applet” ;&lt;br /&gt;&lt;strong&gt;Event&lt;/strong&gt; = “InvokeMethod” ;&lt;br /&gt;&lt;strong&gt;Sub Event&lt;/strong&gt; = “Submit Oppty” ;&lt;br /&gt;&lt;strong&gt;Action Set&lt;/strong&gt; = “TestRunTimeEvent”&lt;br /&gt;&lt;br /&gt;Conditional Expression should be given if you want the restrict the execution of this Runtime Event to certain conditions and Action Set Name is always the name of the action set that we created.&lt;br /&gt;&lt;br /&gt;Click Menu ==&gt; Reload Runtime Events.&lt;br /&gt;&lt;p style="color: rgb(255, 255, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Now we are going to write the code in the busines service which will actually result in the execution of Workflow Process Asynchronously.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Go To Administration ==&gt; Business Service&lt;/li&gt;&lt;li&gt;Create a Business Record with name “TestBS”&lt;/li&gt;&lt;li&gt;Create a Record in List Applet for Service_PreInvokeMethod and choose Programming Langauge as “eScript”&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Write the Following code in Code Window inside the &lt;strong&gt;function Service_PreInvokeMethod&lt;/strong&gt;&lt;/p&gt; &lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;if(MethodName == “TestMethod”)&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var svc;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var child;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var input;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var output;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var rowid;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var bo = TheApplication().ActiveBusObject();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;var bc = bo.GetBusComp(”Opportunity”); &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;// Change the BusComp name with the name of the BusComp you want to execute the workflow with&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;svc = TheApplication().GetService(”Asynchronous Server Requests”); &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;// Don’t change this - Actual BS that is responsible for submitting a job to WPM&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;input = TheApplication().NewPropertySet();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;child = TheApplication().NewPropertySet();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;output = TheApplication().NewPropertySet();&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;input.SetProperty(”Component”, “WfProcMgr”);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;rowid = bc.GetFieldValue(”Id”);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;// We would like to pass the row id of the Current record on which the user is working - You can pass more than one arguments&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;child.SetProperty(”ProcessName”, “Service Agreement - Agreement Status”);&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt; // Workflow process you want to execute&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;child.SetProperty(”RowId”, rowid); &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;// passing the values&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;input.AddChild(child);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;svc.InvokeMethod(”SubmitRequest”, input, output); &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;/// invoking the business service method&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;svc = null; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;font-size:85%;"  &gt;// nullfiying the objects&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;child = null;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;output = null;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;input = null;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;return(CancelOperation);&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;strong&gt;And you are done!!!!!!!!!&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-1675598168776802651?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/1675598168776802651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=1675598168776802651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/1675598168776802651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/1675598168776802651'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/runtime-events-workflows-part-2.html' title='Runtime Events Workflows - Part 2'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-1634922440349017445</id><published>2008-04-02T23:12:00.000-07:00</published><updated>2008-04-02T23:15:27.345-07:00</updated><title type='text'>Siebel CRM - Workflow Debugging through Logs</title><content type='html'>When we talk about Siebel, I think Workflows are the most common term that we come across after Object Manager. We can achive really complex functionality through worklfows but what it means is that debugging them is equally complex. We generally test workflows through Simulation but if we were debug workflows in real time it can be quite painful and time consuming. A simple method to debug workflow is to increase the log level for Workflow Process Manager (WPM) component. But if somebody has ever tried that he can vouch that it can be quite a headache to go through that log (believe me it is a lot and it can go up in MB’s even if the workflow is of moderate complexity). And what’s more is that most of the information that is contained in that log is useless and not realted to workflow functionality. So here in this article I am going to present a pretty &lt;strong&gt;simple technique&lt;/strong&gt; which can help you to get just the &lt;strong&gt;right amount&lt;/strong&gt; of i&lt;strong&gt;nformation&lt;/strong&gt; that you need to &lt;strong&gt;debug&lt;/strong&gt; a &lt;strong&gt;workflow.&lt;/strong&gt;&lt;br /&gt;Instead of increasing the log level of complete &lt;strong&gt;WPM component&lt;/strong&gt; if you just increase the log level of just &lt;strong&gt;selective sub-components&lt;/strong&gt; that should do the trick. I will list down the Sub-Components that you need to increase the log level to get just the appropirate information that you need.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Workflow Definition Loading&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Workflow Engine Invoked&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Workflow Process Execution&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Workflow Step Execution&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SQL Tracing&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;Just increase the log level of the above said components from 1 to 4 and you are done !!!!!&lt;br /&gt;To get logs from dedicated client you need set the &lt;strong&gt;Environmental Variable&lt;/strong&gt; on your system. To understand the process of doing that Please go through my old post where I have explained about siebel logs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-1634922440349017445?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/1634922440349017445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=1634922440349017445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/1634922440349017445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/1634922440349017445'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/siebel-crm-workflow-debugging-through.html' title='Siebel CRM - Workflow Debugging through Logs'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-4020725124978047591</id><published>2008-04-02T23:03:00.000-07:00</published><updated>2008-04-02T23:11:26.787-07:00</updated><title type='text'>How to invoke a Workflow Process?</title><content type='html'>&lt;p&gt;Workflow is one of the most commonly used functionality in Siebel. They provide us the way to &lt;em&gt;automate simple and complex business process without much trouble.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Workflows can be invoke in several ways in Siebel.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Runtime Events&lt;/li&gt;&lt;li&gt;Scripting&lt;/li&gt;&lt;li&gt;User Property&lt;/li&gt;&lt;li&gt;Workflow Policy&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In this post I will be giving example of how to invoke workflow process in different ways.&lt;/p&gt; &lt;p&gt;&lt;span id="more-152"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#333399;"&gt;&gt;&gt; &lt;strong&gt;Runtime Events&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;We can specify runtime event at&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Workflow Process&lt;/strong&gt;: To define a runtime event in the workflow process, follow the steps given below&lt;/p&gt; &lt;p&gt;Select the connecter after the start step as shown below&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Siebel Workflow Connector&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In the &lt;strong&gt;Workflow Step Branch: window&lt;/strong&gt; below provide the details at which you want to this workflow to execute. &lt;em&gt;For example If I want my workflow to be invoked at write record of Action buscomp then I will enter the following detail&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Event Object Type: BusComp&lt;br /&gt;Event Object: Action&lt;br /&gt;Event: Write Record&lt;/p&gt;&lt;p style="color: rgb(255, 0, 0);"&gt;Runtime Events&lt;/p&gt;&lt;p&gt; &lt;strong&gt;&lt;span style="color:#333399;"&gt;&gt;&gt; Administration Runtime&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Runtime Events are available in Administration - Runtime Event Screen&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;We have all the corresponding events which we find in BusComp, Applet and Application such as WriteRecord, PreWriteRecord, ChangeRecord, and PreQuery etc.&lt;/p&gt; &lt;p&gt;&lt;em&gt;We need to remember one thing here is that Runtime events fire before the corresponding object event. &lt;/em&gt;&lt;/p&gt; &lt;p&gt;For example&lt;/p&gt; &lt;p&gt;WriteRecord runtime event for object type BusComp will fire before BusComp WriteRecord event&lt;/p&gt; &lt;p&gt;To call a workflow from Administration Runtime event &lt;strong&gt;define a Action Set&lt;/strong&gt; and Enter the information as shown below&lt;/p&gt; &lt;p&gt;Business Service: Workflow Process Manager&lt;br /&gt;Business Service Method: RunProcess&lt;br /&gt;Business Service Context: “ProcessName”, “Name of workflow”&lt;/p&gt; &lt;p&gt;Even&lt;em&gt; Spaces matter in Business Service Context value&lt;/em&gt; after there is a space after comma and then workflow name. Now you can define the event according to your requirement which will call this Action Set&lt;/p&gt;&lt;p style="color: rgb(255, 0, 0);"&gt;Administration Runtime Events&lt;/p&gt;&lt;p&gt;&lt;span style="color:#333399;"&gt;&lt;strong&gt;&gt;&gt; Scripting.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;To call a workflow process from scripting you can use the code given below&lt;/p&gt; &lt;p&gt;         var svc = TheApplication().GetService(”Workflow Process Manager”);&lt;br /&gt;         var Input = TheApplication().NewPropertySet();&lt;br /&gt;         var Output = TheApplication().NewPropertySet();&lt;br /&gt;         var rowId = this.GetFieldValue(”Id”);&lt;br /&gt;         Input.SetProperty(”ProcessName”, “GEAE Activity Approved by SSD Notification”);&lt;br /&gt;         Input.SetProperty(”Object Id”, rowId);&lt;br /&gt;         Input.SetProperty(”Opportunity Id”, vOppId);&lt;br /&gt;         Input.SetProperty(”OwnerEmailAddress”,v_OwnerEmail);&lt;br /&gt;         svc.InvokeMethod(”RunProcess”, Input, Output);&lt;br /&gt; &lt;/p&gt; &lt;p&gt;Here any property that you set in &lt;em&gt;input property set&lt;/em&gt; will be assigned to corresponding &lt;strong&gt;process property&lt;/strong&gt; in the &lt;strong&gt;Workflow Process (WFP)&lt;/strong&gt; as in the above example&lt;/p&gt; &lt;p&gt;Input.SetProperty(”Opportunity Id”, vOppId);&lt;/p&gt; &lt;p&gt;above line of code will result in process property called “Opportunity Id” in WFP to assigned the value of variable vOppId.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#333399;"&gt;&gt;&gt;User Property:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;You can use &lt;strong&gt;Named Method property&lt;/strong&gt; on BC to invoke a workflow. Example&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Name:&lt;/strong&gt; Named Method 1&lt;br /&gt;&lt;strong&gt;Value:&lt;/strong&gt; “New Record”, “INVOKESVC”, “Example”, “Workflow Process Manager”, “RunProcess”, “‘ProcessName’”, “Example Wrokflow”, “‘RowId’”, “[Id]”&lt;/p&gt; &lt;p&gt;To see the detail explanation of user property read the following post&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#333399;"&gt;&lt;strong&gt;&gt;&gt;Workflow Policy:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Workflow Process can also be called from workflow policy. We can Define a workflow policy (WFP) in &lt;strong&gt;Administration – Business Process &gt;&gt; Policy.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Steps to create Workflow Policy are not in the scope of this post&lt;/em&gt;. We assume here that you have created a workflow policy record and specified appropriate conditions.&lt;/p&gt; &lt;p&gt;In the argument section choose&lt;/p&gt; &lt;p&gt;Argument: Process Name&lt;br /&gt;Value: Workflow Process Name&lt;/p&gt;&lt;p&gt;Hope this helps &lt;img src="http://siebelunleashed.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-4020725124978047591?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/4020725124978047591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=4020725124978047591' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/4020725124978047591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/4020725124978047591'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/how-to-invoke-workflow-process.html' title='How to invoke a Workflow Process?'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-2404534538741041001</id><published>2008-04-02T22:42:00.000-07:00</published><updated>2008-04-02T23:01:52.707-07:00</updated><title type='text'>Siebel Workflow Process an Introduction</title><content type='html'>&lt;p&gt;&lt;strong&gt;Siebel Workflow&lt;/strong&gt; is a software tools that lets us automate business processes with help of &lt;strong&gt;workflow processes&lt;/strong&gt;. Some characterises of workflow processes are&lt;/p&gt; &lt;ul&gt;&lt;li&gt;They are created, edited and deployed in Siebel Tools.&lt;/li&gt;&lt;li&gt;Their changes in workflows is &lt;strong&gt;SRF independent&lt;/strong&gt; though they are created and deployed in Siebel Tools IDE.&lt;/li&gt;&lt;li&gt;They are &lt;strong&gt;administered&lt;/strong&gt; through &lt;strong&gt;Administration - Business Process&lt;/strong&gt; Screen in Siebel Client.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;em&gt;Siebel Tools provides the design interface of Siebel Business Process Designer. The Mobile Web Client (the run-time client) provides the debugging interface of Siebel Business Process Designer. After workflow processes are designed and debugged, they are written to repository tables for deployment from the administrative interface in the run-time client.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Workflows can be accessed through Object Explorer in Siebel Tools as shownWorkflows can be in 3 types of status &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;In Progress&lt;/strong&gt;: When you create a new process this is the default state. In this state you can edit and make changes the workflow process.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Completed&lt;/strong&gt;: Workflow process goes into this status after we deploy the workflow&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Not in Use&lt;/strong&gt;: Status after we expire the workflow.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There are 3 buttons available to use to change the status of the workflow as shown in below&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Deploy&lt;/strong&gt;: Deploy the workflow and change the status to &lt;strong&gt;Completed&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Expire&lt;/strong&gt;: Expires the workflow and change the status to &lt;strong&gt;Not In Use&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Revise&lt;/strong&gt;: Creates a copy of the workflow with status of the &lt;strong&gt;New&lt;/strong&gt; workflow as &lt;strong&gt;In Progress&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There are various types of workflow processes available&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;7.0 Flow&lt;/strong&gt;: This type is to provide backward compatibility with existing Siebel 7.0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Long Running Workflows&lt;/strong&gt;: Workflows that can last for hours, days or months&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Interactive Flow&lt;/strong&gt;: Workflow that takes user across Siebel views.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Service Flow&lt;/strong&gt;: Executes a set of operations upon even invocation. This is the most common type of workflow process we created.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In next posts about workflows we will create a simple workflow process to understand it better.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-2404534538741041001?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/2404534538741041001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=2404534538741041001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/2404534538741041001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/2404534538741041001'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/siebel-workflow-process-introduction.html' title='Siebel Workflow Process an Introduction'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5670482486690501222.post-6147020662797087178</id><published>2008-04-02T22:07:00.000-07:00</published><updated>2008-04-02T22:25:47.920-07:00</updated><title type='text'>Workflow Processes Configuration Overview</title><content type='html'>Workflow Processes allows you to define your companys business processes using the Process Designer in Siebel Tools. Using Workflow Processes, you can define a process that consists of process steps such as start steps, decision points, subprocesses, or business services steps to complete tasks. A task can be completed with either a predefined business service or a custom business service. Predefined tasks include updates to the Siebel database, notifications (such as an email or page), integration messages to external systems, and calls to invoke server tasks. Custom tasks can be defined by using Siebel VB or Siebel eScript.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Workflow Processes Administration Overview&lt;/span&gt;&lt;br /&gt;Workflow Processes can vary from a simple process such as entering a product order to a complex process such as managing call center workflow. Complex processes can comprise multiple smaller processes. Workflow Processes are administered through the Administration - Business Process views in the Siebel Client.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Using Workflow Processes&lt;/span&gt;&lt;br /&gt;Workflow processes can be invoked from events in the Siebel application or from external systems. Within the Siebel application, a process can be invoked from a workflow policy, an event (such as an insert of a record or a button click), or a server component. From an external system, processes can be invoked using COM or CORBA.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Workflow Process Types&lt;/span&gt;&lt;br /&gt;Siebel Business Process Designer has four types of workflow processes that characterize run-time behavior. The processing type is set in the Workflow Processes list editor of Siebel Tools, using the Workflow Mode field. The workflow process types are as follows:&lt;br /&gt;■ &lt;span style="color: rgb(255, 255, 0);"&gt;7.0 Flow.&lt;/span&gt; A 7.0 workflow process provides backward compatibility for existing Siebel 7 (pre-7.7) workflows.&lt;br /&gt;■ &lt;span style="color: rgb(255, 255, 0);"&gt;Long Running Flow.&lt;/span&gt; A long-running workflow process is a persistent workflow that can last for&lt;br /&gt;hours, days, or months.&lt;br /&gt;■ &lt;span style="color: rgb(255, 255, 0);"&gt;Interactive Flow.&lt;/span&gt; An interactive workflow process navigates the user across Siebel views.&lt;br /&gt;■ &lt;span style="color: rgb(255, 255, 0);"&gt;Service Flow.&lt;/span&gt; A service workflow process executes a set of operations upon event invocation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Workflow Management Server Components&lt;/span&gt;&lt;br /&gt;The Workflow Management server component group includes the following server components:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Workflow Process Manager (WfProcMgr)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Workflow Process Batch Manager (WfProcBatchMgr)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Workflow Monitor Agent (WorkMon)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Workflow Action Agent (WorkActn)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Workflow Recovery Manager (WfRecvMgr)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;■ Generate Triggers (GenTrig)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Workflow Process Manager and Workflow Process Batch Manager&lt;/span&gt;&lt;br /&gt;The Workflow Process Manager server components act as the application object manager to run&lt;br /&gt;workflows. The Workflow Process Manager server components are specialized server components configured and tuned to run workflow processes. Like all server components, the Workflow Process Manager server components provide a multi-threaded environment. The Workflow Process Manager uses the Siebel Object Manager framework and runs workflows as a&lt;br /&gt;business service. The Workflow Process Manager hosts the Business Object layer and the Data Object layer. It is a scalable architecture with the ability to run multiple object managers and multiple tasks for each object manager.&lt;br /&gt;NOTE: The name Workflow Process Manager refers to both the Workflow business service (referred to as the Workflow engine) and the workflow server components.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Workflow Monitor Agent&lt;/span&gt;&lt;br /&gt;The Workflow Monitor Agent executes Workflow policies. Workflow Monitor Agent monitors policies, and executes actions once the policy conditions are met.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Workflow Action Agent&lt;/span&gt;&lt;br /&gt;The Workflow Action Agent processes requests logged in the action request table (S_ESCL_ACTN_REQ) for a policy group and invokes all actions linked with the Workflow policy being processed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Workflow Recovery Manager&lt;/span&gt;&lt;br /&gt;The Workflow Recovery Manager polls the Workflow engine to check workflow instances running on the server. The Workflow Recovery Manager recovers crashed instances and  resumes instances that have been waiting beyond a due date.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Generate Triggers&lt;/span&gt;&lt;br /&gt;Generate Triggers allows you to create database triggers. The Workflow Policies module of  Siebel Business Process Designer uses these database triggers to identify which records may match policy conditions. The Generate Triggers server component needs to be rerun whenever new policies are created or deleted. You can run the Generate Triggers server component from either the Server Manager graphical user interface, or command line mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5670482486690501222-6147020662797087178?l=siebelworkflow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://siebelworkflow.blogspot.com/feeds/6147020662797087178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5670482486690501222&amp;postID=6147020662797087178' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/6147020662797087178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5670482486690501222/posts/default/6147020662797087178'/><link rel='alternate' type='text/html' href='http://siebelworkflow.blogspot.com/2008/04/workflow-processes-configuration.html' title='Workflow Processes Configuration Overview'/><author><name>gkm</name><uri>http://www.blogger.com/profile/05979650180383543106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
