tag:blogger.com,1999:blog-33270011553568153542024-03-15T00:43:57.041-07:00Siebel ExploredGateway to Siebel ...ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.comBlogger39125tag:blogger.com,1999:blog-3327001155356815354.post-76475745351094815992011-01-01T22:47:00.000-08:002011-01-01T22:47:28.957-08:00Exception Handling using EAI Queue Business ServiceHello My Dear Friends, A Very Happy New Year to all of you. <br />
<br />
Let's start this new year with post on a Business Service(BS) - <b><a href="http://download.oracle.com/docs/cd/B31104_02/books/ConnSAP/ConnSAPeAIQueue12.html">EAI XML Queuing Service</a>,</b> I recently got to know about this BS while I was getting one Knowledge Transfer session from my friend cum colleague<b> </b>Rishikesh Bhise. Rishikesh is a Siebel EAI Consultant. He is a very passionate guy for his work.<br />
<br />
As the name suggest, this BS is used as a queue to store messages. These message can be temporarily stored or permanently based on requirement. Primarily, this BS is used for logging the message in a transaction with external system. Moreover, you can also use this BS and the table underneath as an Error/Exception Handling System, totally out of box functionality. In the Siebel Application, you can view these queue and error messages at <b>Administration Integration->EAI Queues</b>. The upper list applet will show you the Queue Name and below applet will show you the Queue Messages.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/TSAb1hA21KI/AAAAAAAAAKQ/-1dGyOfD6Go/s1600/EAIQueue.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="94" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/TSAb1hA21KI/AAAAAAAAAKQ/-1dGyOfD6Go/s320/EAIQueue.JPG" width="320" /></a></div><br />
<br />
This business service can be very handy for logging error/exceptions. In one of my earlier project, we did not know about this BS and we created a new table and new BS to log the exceptions and errors. Now, after knowing about this BS, I learn one thing how a small piece of information can make a big change in Design. Nobody can do anything in this regard, only experience and reading can help you.<br />
<br />
Now, let me tell you how you can use this BS to log exceptions. We have used this BS in a workflow. We have taken out one error exception connector from our Siebel Operation Steps, Subprocess step, Business Service step etc. These exception steps combines to go to one Business Service Step.The properties for this step are as below:<br />
<b>Name: </b><i>Log Error Message</i><br />
<b>Business Service Name: </b><i>EAI XML Queuing Service</i><br />
<b>Business Service Method: </b><i>Add Message</i><br />
<br />
The <i>Input Arguments</i> for this step are as below: <br />
<b>Comments: </b><i>User Error Message Process Property of the Workflow</i><b> </b><br />
<b>QueueName: </b><i>Name of the Queue You want to add the message into.This is the queue name under which all your message will get stored.</i><b></b><br />
<b>ReferenceID: </b>Expression as "GetUserProfile_"+[&Process Instance Id]<b></b><br />
<b>ReferenceValue2: </b><i>Any message, you can get this message by catching the error in the script(Try and Catch blocks)</i><br />
<b>SiebelMessage: </b><i>Process Property for Siebel Message<b>, </b></i><i>this must be of data type Hierarchy. You can use BS "PRM ANI Utility Service" and method "CreateEmptyPropSet" to create an Blank Property Set. The input for the BS method is Hierarchy Name(this can be a Literal)</i><br />
<b>Status: </b><i>Error in Processing</i><b></b><br />
<br />
The <i>Output Arguments</i> can be as below:<br />
<b>ActivityId</b>: Row Id of the new Queue Entry<br />
<b>FileName</b>: File name of the Siebel Message XML Created.<br />
<br />
There are some blogs which also talks about this Business Service. <span id="goog_847743810"></span><span id="goog_847743811"></span><a href="http://siebeltips.wordpress.com/2009/02/19/eai-queue-for-error-handling/">EAI-Queue-For-Error-Handling</a>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com6tag:blogger.com,1999:blog-3327001155356815354.post-11121723560630803752010-08-16T01:42:00.000-07:002010-08-16T01:42:56.575-07:00Oracle Siebel CRM Book<span>I would like to inform you that recently a book titled "</span><a href="https://www.packtpub.com/oracle-siebel-crm-8-2-installation-and-management/book" target="_blank">Oracle Siebel CRM 8 Installation and Management</a><span>" written by </span>Alexander Hansal<span> is published. This book helps </span>Install, configure and manage a robust Customer Relationship Management system using Siebel CRM. This book helps in understanding Siebel Web Architecture and ways to plan and prepare Siebel CRM infrastructure.<br />
<br />
Alexander Hansal has worked as an IT professional in small, medium, and global corporations. Since 2001, Alexander works as a technical instructor and consultant for Siebel CRM and Oracle Business Intelligence in Europe. He enjoys teaching, and shares his knowledge and expertise in his classes at Oracle University and in his weblog, <a href="http://siebel-essentials.blogspot.com/" title="http://siebel-essentials.blogspot.com/">http://siebel-essentials.blogspot.com/</a><br />
<br />
Sharing is the Power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com0tag:blogger.com,1999:blog-3327001155356815354.post-70567934599047491992010-06-09T03:42:00.000-07:002010-06-09T03:44:35.652-07:00Local Database - For Multiple UsersWe had to show a demo to the Client, our server got some issues and was getting restarted every now and then. We had only one environment set up at that time. We needed something if Server will not be up then how can we show demo to the client. The option was Local Database. We needed something like what we can do with the sample database where multiple users can login into the application using same database.<br />
<br />
In our application, we were using Position and Organization based visibility for the Cases. Call Center user creates a record and assign it to an Organization and Position. Then the users who have that position has to work on that case. We needed to show the functionality where multiple users can login into the application.<br />
<br />
How we can create multiple users login into Local Database. One of co-author of this blog and my friend Nikhil found something. On behalf of him, I am writing down <b>steps to run some sql commands and multiple users can login into Local databases.</b><br />
<ol><li><i>Open the dbisqlc with User ID Siebel and password of the user with whose Id local was extracted.</i></li>
<li><i>Then in dbisqlc, Grant permissions for users to use the Siebel application.</i></li>
<li><i>Run SQL 'grant connect to SSE_ROLE'.</i></li>
<li><i> Run SQL 'grant connect to <user_id> identified by <password>'.</password></user_id></i></li>
<li><i>Run SQL 'grant group to SSE_ROLE'.</i></li>
<li><i>Run SQL 'grant membership in group SSE_ROLE to <user_id>'.</user_id></i></li>
</ol> <b>NOTES:</b><br />
<ul><li> <i>The <user_id> must already exist in the database and the <group name=""> must be SSE_ROLE.</group></user_id></i></li>
<li><i>The <user_id> and <password> in the grant command must be in UPPERCASE</password></user_id></i></li>
</ul>Now you can grant multiple users the access to the Database. <br />
<br />
<i>Sharing is the power.</i>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-30562513407043340002010-06-01T07:21:00.000-07:002010-06-01T07:21:21.840-07:00Incremental Compile - Popup Visibility Auto All IssueI have heard many times that there could be problem with the <b>Incremental Compile</b> <b>Issue</b> of the SRF.<br />
I have also seen some times that there are some inconsistent issues because of Incremental Compile. Today , I saw it having issues with Incremental Compile and it has also been documented on Oracle Support aka metalink.<br />
<br />
As we know that on BC level, there are two of the properties like <b>Popup Visibility Auto All and Popup Visibility Type. </b><br />
Ideally, It should work like if Popup Visibility Auto All is TRUE and the Login User has responsibility to see All Across Organization View, then "Popup Visibility Auto All" will override the Popup Visibility Type value.<br />
<br />
For eg. Let's say User ANWALIA(myself) has responsibility to see All Contact Across Organization View. The Contact BusComp has Popup Visibility Auto All as TRUE and Popup Visibility Type as Organization.<br />
Now because I have All Contact Across Organization View, in any popup applet used by Siebel like Associate Applet, Pick Applet etc. I should be able to see all contacts across organizations.<br />
<br />
Here is a catch of Incremental Compile, If any buscomp has the above kind of configurations and you lets say recompilation of the Contact Screen is done, hen Popup Visibility Auto All would not work as expected. It will work based on Popup Visibility type.<br />
<br />
This can be avoided if you compile the whole project or do a full compile.<br />
<br />
Sharing is the power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-18541082161097354912010-05-18T04:10:00.000-07:002010-05-18T04:11:02.896-07:00Case sensitive and Insensitive QuerySiebel earlier used to have one Field Level Property Use Default Senstivity. This property is obsolete now.<br />
<br />
To provide Case Insensitive Query on the Fields, Siebel 8.1 version has introduced a CIAI (Case and Accent Insensitive). Accent Insensitive does not work in Siebel 8.1.1.2 vesrion. You can use <a href="http://siebelexplored.blogspot.com/2010/05/soundslike-operator.html">SoundsLike</a> Operator for the Accent based query.<br />
On the column level, right click at Column.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IO0F-t6fx6E/S_J0WFnUWJI/AAAAAAAAAIA/X6Qx0wltHkg/s1600/CIAI_Tools.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IO0F-t6fx6E/S_J0WFnUWJI/AAAAAAAAAIA/X6Qx0wltHkg/s320/CIAI_Tools.JPG" /></a></div>Siebel will run you through a wizard and create a new column and indexes to support the Case Insensitive Query.<br />
<br />
Note: You need to lock the project to run through the wizard.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-61885294668829899212010-05-18T03:53:00.000-07:002010-05-18T04:11:50.588-07:00Calculate Commit Time using Business Hours This post is a supplement to one of my previous post <a href="http://siebelexplored.blogspot.com/2010/02/calculating-business-hours.html">Calculate Business Hours</a><br />
<br />
I had one requirement where I need to calculate the Date Time, user has to finish the work.<br />
The time taken should not include the Holidays. It should only consider Working Hours to calculate the time taken.<br />
<br />
As I told you in my previous post that the Business Service 'FS Holiday API Service' provides 3 methods:<br />
1. GetElapsedBusinessTime<br />
2. GetResponseTime<br />
3. IsHoliday<br />
<br />
<b>GetElapsedBusinessTime</b>: It majorly requires input as the below:<br />
<ul><li>Service Calender Id</li>
<li>Start Time</li>
<li>End Time</li>
</ul>As the result it provides you the time spent in between the Start and End Time excluding Holiday and including only working hours.<br />
<b>Note</b>: This method has a bug in Siebel 8.1.1.2 (21215):<br />
Defined our Schedule from Sunday to Thursday, time from 7 AM to 7 PM. The timezone is (GMT+04:00) Abu Dhabi, Muscat. It is observed that whenever there is data like:<br />
Start Time: 4/15/2010 10:31:34<br />
Schedule Time Zone: (GMT+04:00) Abu Dhabi, Muscat<br />
Calender Id: <><br />
End Time: 4/18/2010 08:31:33<br />
Time Unit: Hours.<br />
And the end time is coming on Sunday. like April 18, 2010, April 25, 2010 or 2 May 2010.<br />
It is failing and crashing the server. <br />
<br />
<b>GetResponseTime</b>: It majorly requires input as the below: <br />
<ul><li>Service Calender Id</li>
<li>Start Time</li>
<li>Response Time</li>
</ul>As the result it provides you the Date time or Commit Time, for example time till which user has to finish the work excluding Holiday and including only working hours.<br />
<br />
<b>IsHoliday: </b><br />
<ul><li>Calender Id</li>
<li>Date Time</li>
</ul>As a result, it gives if that Date Time is lying on Holiday.<br />
<br />
Oracle does not provide any OOTB functionality in OBIEE 10.1.3.4.1 (reporting) to cater this requirement. Our OBIEE team has to write a Procedure.<br />
<br />
Sharing is the power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-79666475105818991392010-05-01T02:29:00.000-07:002010-05-01T02:29:31.011-07:00SoundsLike OperatorSearching for exact Contacts in Call Centre with First and Last Names is not that much easier as we may think.Different people uses different spelling for their names for example John can be spelled like Joan, Jon, Joanne, Joann. <br />
<br />
How to search a contact with similar pronouncing name. This was one of the requirement I came across. One of my friend Jalaj suggested SoundsLike Operator. Siebel provides a <b>SoundsLike Operator</b> which can be used to find the similar pronouncing names.<br />
Let me show you how it works, you need to query in the Applet Field with <b>SoundsLike('John')</b>.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/S9vxz8gpxxI/AAAAAAAAAHw/omoaVDfg53s/s1600/SoundsLike1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/S9vxz8gpxxI/AAAAAAAAAHw/omoaVDfg53s/s320/SoundsLike1.JPG" /></a></div>In return or clicking on Go, it will give results like in below.<span id="goog_1952200636"></span><span id="goog_1952200637"></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IO0F-t6fx6E/S9vy03xs22I/AAAAAAAAAH4/K5gjvwRsZW0/s1600/SoundsLike2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IO0F-t6fx6E/S9vy03xs22I/AAAAAAAAAH4/K5gjvwRsZW0/s320/SoundsLike2.JPG" /></a></div>This Operator can also be used to BusComp Prequery event to modify the searchexpr with SoundsLike Operator.<br />
<br />
<i>Sharing is the power</i>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com0tag:blogger.com,1999:blog-3327001155356815354.post-39412584673772120482010-04-23T06:18:00.000-07:002010-04-23T06:18:06.533-07:00DVM Import Process DocumentPlease find the <a href="http://docs.google.com/Doc?docid=0AVv-AxHpsRalZHZqMnhkZF8xMjd3OWh6ZzVkNA&hl=en">Data Validation Manager Import Process</a> document.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com0tag:blogger.com,1999:blog-3327001155356815354.post-58690143036081987872010-04-10T06:02:00.000-07:002010-04-10T06:02:17.172-07:00Localization - Multi-Lingual ApplicationI was very much amazed with the application which was set up in multilingual. I never had this kind of experience in my earlier projects. In new project, most of us was never worked in Multilingual application.<br />
<br />
We have to work for <b>English and Arabic Languages</b>. We have categorized that there will be following object where we need to work for multilingual applications.<br />
<ol><li><b><i>Static List of Values.</i></b></li>
<li><b><i>Data Validation Manger. </i></b></li>
<li><b><i>Symbolic Strings.</i></b></li>
<li><b><i>Alerts in Browser Script.</i></b></li>
<li><b><i>Error Messages in Server Script.</i></b></li>
<li><b><i>Email Templates.</i></b></li>
<li><b><i>Dynamic List of Values. </i></b></li>
</ol>Testing of the applications in English and Arabic. For the Arabic Applications testing and the label names, we had to call a Translator and we used Google Translator also.<br />
<br />
Apart from installing the Application set up in both languages and language packs. Some of the facts are like:-<br />
<ul><li>The Arabic application and English application, both use <b><i>different Object Managers</i></b>. </li>
<li>To compile the SRF also.You need to change the <b><i>language setting of the Server tools</i></b>. </li>
<li>You also need to set one <b><i>Language parameter</i></b> at Object Manager level. </li>
<li>For each static LOV, you need to mention the <b><i>LOV</i> and </b><i><b>Translate Table at Column level</b>.</i></li>
<li>Use <b><i>LookupValue</i></b> in Calculated Field and TheApplication().InvokeMethod("LookupValue", <language code="" independent="">) for script.</language></li>
<li>For each language,<b><i>Validation Messages</i></b> for DVM</li>
<li><b><i>Symbolic Strings</i></b> for labels on User Interface.</li>
<li>Object <b><i>Message Category</i></b>- Error Messages</li>
<li>Administration Communication - <b><i>Email Templates</i></b> - Languages.</li>
<li>Choose the right <b><i>Parent LIC for Hierarchical Picklist</i></b> Like if the Child is in Arabic then Choose the Parent LIC also as Arabic only(we were careless while doing this and had to face issues)</li>
</ul><i>Sharing is the Power.</i>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com4tag:blogger.com,1999:blog-3327001155356815354.post-56951409028383417922010-04-10T05:17:00.000-07:002010-04-10T05:17:25.169-07:00Named Method n - Alternative to ScriptingNamed method is a very good alternative to the Scripting if you have custom method to invoke. It can be used both at applet level as well as at BC level. You need to specify a user property <i>Named Method n</i>.<br />
<br />
It can be used to do some of following things:-<br />
<ol><li>Set the field values with or without conditional expression, </li>
<li>To invoke OOTB methods.</li>
<li>To invoke Business Service/Workflow.</li>
</ol>I have used this user property with <i>On Field Update Set and On Field Update Invoke</i> user properties.I really found them very handy to use. I have to use the customize method because in our project Client was very demanding and was very much focused on usability of buttons to perform actions.<br />
<br />
Some of the examples I have used of the above user properties are like:-<br />
<br />
<table border="1"><tbody>
<tr> <td><b>User Property</b></td> <td><b>Value</b></td> </tr>
<tr> <td>Named Method 1</td> <td>"DeclineCase", "SET", "Position Name", "IIF([Case Decline Reason]='Incorrect SM', [Parent Position Name], IIF([Case Decline Reason]='Incorrect Entity', '', [Position Name]))"</td> </tr>
<tr> <td>Named Method 2</td> <td>"DeclineCase", "INVOKE", "HLS Case", "WriteRecord"</td> </tr>
<tr> <td>Named Method 3</td> <td>"DeclineCase", "INVOKESVC", "HLS Case", "Workflow Process Manager", "RunProcess", "ProcessName", "Case Assignment Email Notification"</td> </tr>
<tr> <td>Named Method 4</td> <td>"DeclineCase", "INVOKE", "HLS Case", "RefreshBusComp"</td> </tr>
</tbody></table><br />
For more details, Please refer the bookshelf.<br />
<br />
<i>Sharing is the power</i>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-55300810113683656572010-04-06T02:31:00.000-07:002010-04-10T04:53:47.467-07:00Using Email Templates for Automatic triggering of EmailsThis is the extended post of my previous posts <a href="http://siebelexplored.blogspot.com/2010/01/configuring-email-templates.html">how to create</a> and <a href="http://siebelexplored.blogspot.com/2010/01/using-email-templates-for-send-email-f9.html">use email template on F9</a>, Send Email OOTB functionality. Supplementary to this, I have also posted <a href="http://siebelexplored.blogspot.com/2010/01/configuring-email-templates.html">creating Recipient Group</a>.<br />
<br />
In this post, I will tell the rest of the things:-<br />
<ol><li>Creating the <b>New Recipient Source.</b></li>
<li>Creating the <b>Non-Joined Recipient Group.</b></li>
<li>Creation of <b>Email template</b>. </li>
<li><b>Substituting the Fields</b> in the Email text.</li>
<li>Adding <b>HTML templates</b>.</li>
<li> <b>Testing the Outbound Communication Request</b>.</li>
<li>Calling the BS to send the emails.</li>
</ol>Let's take a scenario where the Bus Comp is not there listed in the Object for the field Substitutions.<br />
<br />
<b><i>Step1</i>:</b> Query with LOV Type as <span style="background-color: #cccccc;">'COMM_RECIP_SRC'</span> and Parent LIC as null.<br />
Copy the record and put the Display value and LIC as your Bus Object name.<br />
<br />
<i><b>Step2:</b></i> Query with the LOV type as 'COMM_RECIP_SRC' and Parent LIC as not null.<br />
Copy the record and put the Display value and LIC as your Child Buscomp which is the Recipient Group BusComp(like Contacts or Employee). Here you may get the unique record error. You may need to update from back end. You can also create <a href="http://siebelexplored.blogspot.com/2010/01/configuring-email-templates.html">Joined Recipient Source</a>.<br />
<br />
<i><b>Step3 and Step4: </b></i><a href="http://siebelexplored.blogspot.com/2010/01/configuring-email-templates.html">Creation of Email template</a><br />
<br />
<i><b>Step5: </b></i>To add the HTML templates go to Template Items View. There, you need to add the HTML file. In the HTML code, add the fields name inside square brackets for example [Full Name]. Check the Substitute values if you have used substitute fields and message body if you want to add the HTML into message body of the email.<br />
<br />
<i><b>Step6:</b></i> To Test the Recipient Source, Recipient Group and Email Template, you can create a Outbound Communication Request from Administration-Communication Screen.<br />
<ul><li><i>Go to Outbound Request Overview View, </i></li>
<li><i>Create a new record, </i></li>
<li><i>Put the Recipient Group.</i> </li>
</ul>The below applets will be based on the Recipient Source and Recipient Group. Like if you Recipient Source is Account, the New button on Recipient Source will be a Associate Applet of Account BC and the Recipient Source will get auto-populated based on the relation of Recipient Source and Recipient Group.<br />
<br />
Make sure that Communication Outbound Manager component is up and running and you have selected the Communication Profile at Email template level.<br />
<br />
<i><b>Step7: </b></i>Now you have created the Recipient Source, Recipient Group and Email templates.<br />
To triggering the email you need to call the 'Outbound Communications Manager' BS and its method CreateRequest. The arguments you need to pass to this method are follows:<br />
<ul><li><i>PackageNameList</i>: Name of the Email Template</li>
<li><i>ProcessMode</i>: Remote for Dedicated Client, Local for Web Client</li>
<li><i>RecipientGroup</i>: Recipient Group Name like Contact</li>
<li><i>SourceIdList</i>: Row Id of the Recipient Source BC like Account</li>
</ul>You can call this Business from any triggering point where you want to send the Email.<br />
<br />
The best thing about using the Email templates and <i>CreateRequest of Outbound Communications Manager</i> is the flexibility of changing the Email Body while this is not possible if you are using <i>SendMessage of Outbound Communication Manager.</i><br />
<br />
<i>Sharing is the power.</i>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com6tag:blogger.com,1999:blog-3327001155356815354.post-72315601167384042802010-02-28T00:49:00.000-08:002010-02-28T00:49:03.360-08:00Scripting alternative –Data Validation ManagerMany times, system requires us to put validations; we generally end up with scripting in Pre Events like PreSetFieldValue or PreWriteRecord. <br />
<br />
Recently, I worked on <b>Data Validation Manager</b> which is a quite useful tool to do validations in the application itself without changing the srf. With the combination of <b>Run Time Events</b>, I really found DVM competitive to avoid scripting and from maintenance perspective also.<br />
<br />
We can use conditional expression to check the validation and invoke a RTE and DVM. <br />
I will run through the End to End process of creating a RTE and DVM Rule. I will also show you validation getting fired in the application.<br />
<br />
Let’s take an example, I want to put a validation that a contact record must have an email address or a Mobile Phone number or a Work Phone number.<br />
<br />
To work this validation out, I will do the following steps:- <br />
<ol><li>Create a DVM Validation Message.</li>
<li>Create a DVM Rule.</li>
<li>Call Data Validation Manager BS using the Action Set.</li>
<li>In the Business Service Context, Provide the DVM Rule name.</li>
<li>Create a RTE.</li>
<li>Reload the RTE and activate the DVM Rule.</li>
<li>Creating a new Contact Record and test the DVM.</li>
</ol><br />
I need to create RTE and DVM. It will be a mandatory check for email address or a Mobile Phone number or a Work Phone number. This RTE will be on PreWriteRecord of Contact BC.<br />
<br />
<b><i>Step1: Go to Administration - Data Validation and Create the DVM Message</i></b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IO0F-t6fx6E/S4orTT0zTMI/AAAAAAAAAGY/q8AM8Kw3TZc/s1600-h/DVM_Message.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IO0F-t6fx6E/S4orTT0zTMI/AAAAAAAAAGY/q8AM8Kw3TZc/s320/DVM_Message.JPG" /></a></div><br />
<b><i>Step 2: Create DVM Rule for contact validation.</i></b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S4orzeK1ufI/AAAAAAAAAGg/OyuLZVgxjlU/s1600-h/DVM_RULE.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S4orzeK1ufI/AAAAAAAAAGg/OyuLZVgxjlU/s320/DVM_RULE.JPG" /></a></div><br />
<b><i>Step 3 and Step 4: Create an Action Set for RTE</i></b><br />
Business Service: Data Validation Manager<br />
Business Service Method: Validate<br />
Business Service Context: "Rule Set Name", "Contact Details", "Enable Log", "Y".<br />
<br />
<i><b>Step 5: Create a Run Time Event on PreWriteRecord on Contact BusComp and Call the Action Set created in Step 3 and 4.</b></i><br />
<br />
<i><b>Step 6: Reload Run Time Event and Activate DVM Rule.</b></i><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_IO0F-t6fx6E/S4osl88AKiI/AAAAAAAAAGo/rRdfLmUalhc/s1600-h/ActivateDVM.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_IO0F-t6fx6E/S4osl88AKiI/AAAAAAAAAGo/rRdfLmUalhc/s320/ActivateDVM.JPG" /></a></div><br />
<b><i>Step 7: Create a Contact Record and test DVM.</i></b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IO0F-t6fx6E/S4os_8Y90MI/AAAAAAAAAGw/th6dRG_46cE/s1600-h/TestDVM.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IO0F-t6fx6E/S4os_8Y90MI/AAAAAAAAAGw/th6dRG_46cE/s320/TestDVM.JPG" /></a></div>The Limitation of the DVM is that field should be visible on the UI.<br />
<br />
Sharing is the Power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com11tag:blogger.com,1999:blog-3327001155356815354.post-11056922124328728252010-02-20T08:47:00.000-08:002010-02-20T08:47:00.700-08:00SetNamedSearch - Cannot be modified through UIHave you come across a requirement where after reaching a view. You don't want user to do a new query and get all the records. You only want to show those records which user saw first time on reaching to this view.<br />
Though you want to give him a query option to search in the given records first time.<br />
<br />
Yes, this can be achieved using <b>SetNamedSearch </b>BusComp Method. <br />
<br />
Let me explain you with the help of a example.<br />
Using a Drilldown, user reached to a All Activities List View where I don't want him to see Confidential Activities. I captured the method Drilldown and the Field name using <a href="http://siebelexplored.blogspot.com/2009/09/capture-drilldown-based-on-field.html">SWEField property</a>, in the drill down only I put code like<br />
<br />
<i class="cEmphasis"><b>BusComp.SetNamedSearch(searchName, searchSpec)</b></i><br />
<br />
<i class="cEmphasis"><b> </b></i>SetNamedSearch("NotConfidential", "[Confidential] != 'Y'")<br />
GotoView(ViewName, BO instance) <i><b><br />
</b></i><br />
Now even after<b> </b>reaching to the DrillDown View, if user do a null query. He will not be able to see the confidential activities. <br />
<div class="pt1Text1"><br />
</div><div class="pt1Text1">It is a search criterion that is not cleared by the ClearToQuery; for example, a predefined query or business component search specification.It can only be modified through script; it cannot be modified through the UI. </div><div class="pt1Text1"><br />
</div><div class="pt1Text1">You can retrieve this search specification, use GetNamedSearch metho. </div><div class="pt1Text1" style="color: red;"><br />
</div><div class="pt1Text1" style="color: red;">Note: that when a new instance of the BusComp is created, the named search specification is cleared.</div>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com0tag:blogger.com,1999:blog-3327001155356815354.post-77107562452724851472010-02-19T02:05:00.000-08:002010-02-19T02:05:27.836-08:00MVG Set Primary Restricted: Position<h2 class="km" style="font-weight: normal;"></h2>Have you ever seen that you are not able to change the primary in a MVG applet based on position. you are not able to figure it out how this Primary Field becomes editable. The Primary flag is read only.<br />
You checked the No Update Property if it is set. You have checked if any Buscomp Read Only User Property for the primary Record. If still you are not able to find the reason why you are not able to change the Primary.<br />
<br />
The reason may be Position Protection mechanism. Position Protection is a mechanism that protects against unauthorized changes within a MVG applet based on Positions. If Position Protection is active then changes can only be done by privileged persons or within certain views.<br />
<br />
In Siebel previous version before 7.x, Position Protection mode can be disable but to a limited extent. <br />
In Siebel version 7.x and above, this does not apply. Disabling Position Protection is handled by setting the <b>'MVG Set Primary Restricted: visibility_mvlink_name' user property to 'FALSE'. </b><br />
<br />
Position Protection is active when:<br />
<ul><li>the view's Property Admin Mode is set to FALSE</li>
<li>the multi-value field's (MVF) business component is set up with Position Team Ownership</li>
</ul>The following business component Properties must be set: <br />
<ul><li>Visibility Emp MVField</li>
<li>Visibility MVLink</li>
</ul>The MVLink must point to the Position business component. <br />
<ul><li>The Multi Value Field is based on Positions.</li>
</ul><b>NOTE:</b> Position Protection is not active within Siebel VB / eScript, regardless of above settings.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-36992617159526153512010-02-19T00:33:00.000-08:002010-02-19T01:15:18.443-08:00View LinksWe must have seen the Links on the Screen Homepages. But I was never known that these are just links to the View which can have default PDQs. It just works like a Drilldown on a field. I always thought that these are configured at Applet Level and its a SRF Change.<br />
<br />
Recently, there was a requirement I came across to configure those links. We can configure those link from Application itself. As we know that PDQs can be Private and Public. Similarly, these links as well can be Private and Public.<br />
<b>Private View Links:</b> Visible only to the Creator.<br />
<b>Public View Links</b>: Visible to everyone using the application.<br />
If User wants to configure these links, they can do so using User Preferences->View Links.These links from User preference can be only Private for that user only. <br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/S35MhChBxzI/AAAAAAAAAGA/uWgC3eFcpFE/s1600-h/ViewLinks2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/S35MhChBxzI/AAAAAAAAAGA/uWgC3eFcpFE/s320/ViewLinks2.JPG" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div>You can specify the Default Query, which can be configured using Application Administration -> Predefined Queries.<br />
The Public and Private View Links can also be configured from Application Administration -> View Links in the same way as you do in User Preference.<br />
To configure the View Links in Screen Homepages, you should know Screen Name, View Name.<br />
If you want to specify Default Query then a pre-default query will be created by System Admin.<br />
Let me show my customized View Links <br />
<div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/S35MDSVEUyI/AAAAAAAAAF4/JHfuBIrf6es/s1600-h/ViewLinks.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/S35MDSVEUyI/AAAAAAAAAF4/JHfuBIrf6es/s320/ViewLinks.JPG" /></a></div>There are some BCs which may not have Screen Homapages, you need to add a User Property VlinkScreen::<bc name=""> value as 'Y' in the 'SRF Vlink Screen' Business Component.</bc>ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com0tag:blogger.com,1999:blog-3327001155356815354.post-8979172224926036842010-02-06T07:43:00.000-08:002010-05-18T04:12:30.526-07:00Calculating Business HoursI had one requirement where I need to calculate the time, user has taken, to complete a certain task.<br />
The task time taken should not include the Holidays. It should only consider Working Hours to calculate the time taken.<br />
First, we need to know where we can feed in the working hours, holidays in Siebel.<br />
<br />
Question: Do we have something OOTB?<br />
Answer: Yes, we have got a View based on Shift BC using view Administration Service->Schedules <br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S22IlaRuzSI/AAAAAAAAAFI/z5bf9IBduaM/s1600-h/Schedules.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S22IlaRuzSI/AAAAAAAAAFI/z5bf9IBduaM/s320/Schedules.JPG" /></a></div><br />
Question: Where can we put the Holidays?<br />
Answer: Administration Service -> Schedules -> Exception Hours<br />
<br />
Question: Do we need a customize BS to calculate the Time difference considering working hours only?<br />
Answer: Yes we have got a OOTB BS 'FS Holiday API Service', that gives output as Elapsed Time using input as Start Time, End Time, Time Unit, Calender Id(Schedule Id)<br />
<br />
FS Holiday API Service BS provides 3 methods:<br />
<ol><li>GetElapsedBusinessTime</li>
<li> GetResponseTime</li>
<li>IsHoliday</li>
</ol>I simulated this BS using method GetElapsedBusinessTime to calculate the Elapsed Time.<br />
<br />
You can provide input argument as below:<br />
<ul><li>Calender Id : Id of the New Schedule</li>
<li>End Time: 02/06/2009 12:54:28</li>
<li>Schedule Time Zone:</li>
<li>Start Time: 04/06/2009 10:54:28</li>
<li>Time Unit: Hours </li>
</ul>It will give the Business Hours based on the Service Calender used.<br />
<br />
Sharing is the Power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com11tag:blogger.com,1999:blog-3327001155356815354.post-15311727182205148382010-01-25T09:11:00.000-08:002010-01-25T09:11:20.951-08:00Global Target List ManagementList Management is a functionality extensively used for Campaign and Surveys.<br />
Apply List and Save List Button which you usually see in Menu Item for the Applet are the two ways to manage Internal Lists.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S13IROVrpHI/AAAAAAAAAEw/P3HlNQBTw1w/s1600-h/ApplySaveList.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" title="Apply and Save List"><img border="0" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S13IROVrpHI/AAAAAAAAAEw/P3HlNQBTw1w/s320/ApplySaveList.JPG" /></a><br />
</div>Siebel provides this feature for entities like Contacts, Accounts, Employee, Positions, Prospects. Let us take an example that I want to do a Email Campaign for Contacts Living in California. I will do a query on state field in All Contact List Applet. Clicking on Save List will give me a popup applet shown below.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IO0F-t6fx6E/S13M-tvPghI/AAAAAAAAAE4/uXzKovA9XoI/s1600-h/SaveList.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IO0F-t6fx6E/S13M-tvPghI/AAAAAAAAAE4/uXzKovA9XoI/s320/SaveList.JPG" /></a><br />
</div>I will save the List with a name. List can be seen in the List Management Screen.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_IO0F-t6fx6E/S13OGpDi-bI/AAAAAAAAAFA/a-NiZT5eY-Q/s1600-h/ListManagement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_IO0F-t6fx6E/S13OGpDi-bI/AAAAAAAAAFA/a-NiZT5eY-Q/s320/ListManagement.JPG" /></a><br />
</div><br />
<br />
The List is ready to be used for campaign. There are many applet where Apply List and Save List buttons are disabled. To enable those button, you may need to configure the User Properties, Link and MVL. <br />
I configured that for Case List Applet<br />
I had created the below things to enable the Save button and work it for me.<br />
<ol><li>A Link between HLS Case and List Mgmt Lists. </li>
<li>A MVL for HLS Case and List Mgmt Lists<br />
</li>
<li>MVF for Id fields.</li>
<li>User Property TargetProp.</li>
<li>List Column for Ids</li>
<li>Applet User property as Save Target List Source1.</li>
</ol>For details, please read AppsAdmin.pdf, chapter Global Target List Management.<br />
<br />
Sharing is the PowerankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com2tag:blogger.com,1999:blog-3327001155356815354.post-55646194286624036512010-01-13T13:43:00.000-08:002010-04-06T03:39:24.843-07:00Configuring Recipient GroupsRecipient Groups are used to automatically populate 'To' field while we send Emails, Fax and other sort of Outbound Communications in Siebel. <br />
<br />
Siebel provides some Predefined Recipient Groups for example<br />
<ul><li>Account Contacts, </li>
<li>Activity Owner, </li>
<li>Campaign Contacts/Prospects, </li>
<li>Employees, </li>
<li>Opportunity Sales Team Members</li>
<li>Quote Sales Rep</li>
<li>Service Request Owner and more</li>
</ul>If the predefined recipient groups do not serve all your business needs, you must configure the Siebel application to extend or modify the available recipient groups.<br />
<br />
Now, we need to Configuring Recipient Sources Applets and to add Recipient User Properties at BC level.<br />
Steps are given in the Siebel Communications Server Administration Guide bookshelf to configure the Recipient Pick Applet.<br />
You just need to copy applet and configure it for your BusComp Comm Source bus_obj_name List Applet like the figure below.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S04yGr0gviI/AAAAAAAAAEg/lAhISTO9Y4o/s1600-h/SiebelRecipientSourcePickApplet.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S04yGr0gviI/AAAAAAAAAEg/lAhISTO9Y4o/s320/SiebelRecipientSourcePickApplet.JPG" /></a></div><br />
Add the User Properties to populate the Email Address, with Whom Email Address and which recipient should be coming in the recipient pick applet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S04zSYGt-5I/AAAAAAAAAEo/pSFffslpVDg/s1600-h/RecipientUserProperties.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S04zSYGt-5I/AAAAAAAAAEo/pSFffslpVDg/s320/RecipientUserProperties.JPG" /></a></div><br />
Compile the changed object and press F9 will open a recipient pick applet after choosing it, a send Email box will open with 'To' field populated.<br />
<br />
Sharing is the Power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-87006696647220889942010-01-11T05:38:00.000-08:002010-01-13T12:25:38.750-08:00Configuring Email TemplatesTo show you how to configure Email templates, Let's take an example for Object 'HLS Case' which is a part of Case Management. <br />
I will also show you how to Substitute Fields to be used in Email Template.<br />
<br />
<b>Steps to Create Email Template</b><br />
<ol><li>Navigate to the Administration - Communications screen, then the All Templates view.</li>
<li>In the Templates list, click New and complete the fields as appropriate for example Name, Channel type, Status.</li>
<li>In the below Simple template's Pick Available Substitution section, here you can choose the Object like I have chosen HLS Case and in Available Substitution, you can choose the Fields to be used in Email templates. In case the field you want to use is not present, you can put [Object Name.Field Name] for example [HLS Case.Case Num] in the email template. Otherwise, you need to add a BC user property <b>Substitution Field #</b> and put the <b>Value as Name of the Field</b> for that Business Component. </li>
</ol><br />
<div class="separator" style="clear: both; text-align: center;"><img border="0" ps="true" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/S0sZlbcTXRI/AAAAAAAAAEI/SZjMdNE5AnM/s320/SimpleEmailTemplate.JPG" title="SimpleEmailTemplate" /><br />
</div><br />
<ol><li>You can also configure some more parameters in Advanced template View. Please see the difference I encircled.</li>
<ul><li>Create Activity is used to create activity as soon as the Email Template is used.</li>
<li>Attach Bookmark is used to attach the active View Link as the Bookmark of the Email.</li>
<li>Recipient Groups for the recipient of the Emails. I will post how to configure that in another post.</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S0skMEsZC_I/AAAAAAAAAEQ/fp2giQreyXg/s1600-h/AdvanceEmailTemplate.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ps="true" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S0skMEsZC_I/AAAAAAAAAEQ/fp2giQreyXg/s320/AdvanceEmailTemplate.JPG" /></a>
</div>
</ol><br />
In the similar way, you can configure Templates for other channels like Fax Templates, Phone Templates, Paging Template and Wireless Message Templates. <br />
<br />
Now, based on the Object you selected while creating the template, the Template will be coming in the Body dropdown list of the Send Email Popup Applet.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IO0F-t6fx6E/S0soQRL4VsI/AAAAAAAAAEY/DMdQLWAQxmk/s1600-h/EmailBox.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ps="true" src="http://3.bp.blogspot.com/_IO0F-t6fx6E/S0soQRL4VsI/AAAAAAAAAEY/DMdQLWAQxmk/s320/EmailBox.JPG" /></a><br />
</div>You can also configure default Template for Send Email Command(F9).A default template is preselected and populates the message area when the Send Email command is invoked, based on the current (active) applet at the time the command was invoked. To specify that a specific email template is the default for a given applet, specify the template name as the value for the Mail Template applet property for the applet.<br />
In future post, I will discuss about How to Configure Recipient Groups and auto populate of To field in email. It may requires some configuration in Tools.<br />
<br />
Sharing is the PowerankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com39tag:blogger.com,1999:blog-3327001155356815354.post-90018668476743622982010-01-01T04:34:00.000-08:002010-01-11T05:45:24.824-08:00Using Email Templates for Send Email F9 FunctionalityHappy New Year 2010 to my Dear Friends, Today I am posting on how we can use Email templates for Send Email F9 functionality.<br />
<br />
Siebel Public Sector is primarily using Case Management. Everything roam around that only.<br />
We had a scenario where when a case closes, CSR can send an Email to the Customer for the survey about the services provided. This is very commonly used scenario where after providing a service, customer is asked to fill the survey for the satisfaction level about the services provided to him. <br />
<br />
Sending Emails is very common in Siebel Application now a days. It can be done using Outbound Communication Manager Business Service or Send Email or F9 from File Menu.<br />
Here, I did configuration so that as soon as user presses F9, a recipient pick applet gets open.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/Sz3nue-ZM3I/AAAAAAAAADY/EeXhBISYdYs/s1600-h/RecipientPickApplet.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ps="true" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/Sz3nue-ZM3I/AAAAAAAAADY/EeXhBISYdYs/s320/RecipientPickApplet.JPG" title="Recipient Pick Applet" /></a><br />
</div>User can pick the recipient for the email. The email address gets auto-populated into 'To' field. Body field is a dropdown showing email templates assosiated with the Business Object. I selected my configured email template then by default, it populates the Body field with the Text and the Substitution Fields like Case #, Case Description, Case Owner etc.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IO0F-t6fx6E/Sz3oz5p7e4I/AAAAAAAAADg/36Fp65hRz2U/s1600-h/EmailBox.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ps="true" src="http://2.bp.blogspot.com/_IO0F-t6fx6E/Sz3oz5p7e4I/AAAAAAAAADg/36Fp65hRz2U/s320/EmailBox.JPG" title="Send Email Applet" /></a><br />
</div><br />
This has also been OOTB configured in Service Request Business Object. I will discuss the whole steps to configure the same in my next post <a href="http://siebelexplored.blogspot.com/2010/01/configuring-email-templates.html">Configuring-Email-Templates</a><br />
<br />
Sharing is the Power.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com9tag:blogger.com,1999:blog-3327001155356815354.post-73638613986065425352009-12-11T00:57:00.000-08:002009-12-11T01:03:31.384-08:00Siebel Serialization RulesUsing Serialization, we can configure serial numbers format. This serial number can be generated from a combination of fields so that the numbers are meaningful to an agency. For example, in the case serial number NY-2B-2, the serial number denotes a geographic territory (NY—New York) and a case category (2B—aggravated assault). The third field (2) uniquely identifies the case.<br />
<br />
In different application, many times, we need to generate <a href="http://en.wikipedia.org/wiki/Serial_number">serial numbers</a> to uniquely identify a record. This is not same as Row Id used in Siebel which are <a href="http://en.wikipedia.org/wiki/Nominal_number">nominal numbers</a>. <br />
<br />
It can be used to child object like Evidences and Attachments for example for first record of Evidence, the Serial number generated can be like NY-2B-2-1. Similarly, if someone is creating first record of same parent but for attachment, the serial number will be NY-2B-2-2. The serial number will get generated as soon as you save the record.<br />
<br />
<b>How to Configure Serialization Rules in Tools</b><br />
First, you need to configure a counter table and Business Component(this is to track counter). If anytime you have configured the Sequence Number, I have strong feeling that the logic it follow is the same.<br />
In the following example, you add INS Claims as a new serialization business object. The primary business component for this business object is INS Claims.<br />
<ol><li>Log in to Siebel Tools as an administrator.</li>
<li>Navigate to Object Explorer, then Table and query for the S_CASE_SEQ_CTR table.</li>
<li>Navigate to Table, then Column and query for the CASE_SEQ_NUM column.</li>
<li>Copy the CASE_SEQ_NUM record.</li>
<li>Name the new column record CLAIM_SEQ_NUM and give it a unique user name like, for example, Claim Sequence Number</li>
<li>Navigate to Object Explorer, then Business Component and query for the PUB Counter business component.</li>
<li>Navigate to Business Component, then Field and query for the Case Counter record.</li>
<li>Copy the Case Counter record.</li>
<li>Name the new record Ur Entity Counter and in the Column field, enter CLAIM_SEQ_NUM.</li>
</ol>Now, You must also configure the Claims table and business component.<br />
<ol><li>Navigate to Object Explorer, then Table and query for the S_INS_CLAIM table.</li>
<li>Create two new column records called SERIAL_NUM and LOCAL_SEQ_NUM.To get the correct values for these two columns, query the S_CASE table for the same columns.</li>
<li>Navigate to Object Explorer, then Business Component and query for the INS Claims business component.</li>
<li>Navigate to Business Component, then Field and create two new field records called Serial Number and Local Counter. To get the correct values for these two fields, query the HLS Case business component for the same fields.</li>
<li>Navigate to Business Component, then Business Component User Prop and add the following user property records.<ul><li>SerializationAutoGenerate and value as 'Y'</li>
<li>SerializationBO and value as 'INS Claims'</li>
<li>SerializationBC and value as 'INS Claims'</li>
<li>SerializationChildBO and value as 'INS Claims'</li>
</ul>NOTE: If you add serialization on child business objects and components, you might need to add additional fields. Use the serialization configuration for the HLS Case as a guide</li>
<li>Compile the edited projects and replace the Siebel Repository File (SRF).</li>
</ol><b>Adding a Claim Attribute Type Option</b><br />
Perform the following procedure to add Claim Counter to the Type drop-down list for attributes in the Serialization Rules view in the Administration - Case screen.<br />
<ol><li>Navigate to the Administration - Data screen, then the List of Values view.</li>
<li>Query for PUB_CASE_RULE_ATTRIBUTE_TYPE.All the options displayed in the Type drop-down list are returned.</li>
<li>Create a new record with Claim Counter as the Display Value.</li>
</ol><b>How to Create Serialization Rules in Client</b><br />
<ol><li>Go to the Administration - Case screen, then the Serialization Rules view.</li>
<li>In the Serialization Rules list, create a new record and complete the fields as appropriate.<ul><li>Name: Name of the rule.</li>
<li>Business Object: The business object on which the rule is based.</li>
<li>Business Component: The business component containing the fields on which the rule is based.</li>
</ul></li>
<li>Create a new record in below Attribute List Applet.<ul><li>Sequence: Sequence number for the Serial Number.The 1st sequence number Attribute will be on the LHS of the Serial Number.</li>
<li>Type: Possible values include various types of counters, constants, parent serial numbers, and fields.</li>
<li>Business Component: Business component selected in the Serialization Rules list.</li>
<li>Field Name: Select Field name for Type as Field.</li>
<li>Constant Value: Specify a value of constant for Type as Constant.</li>
</ul></li>
<li>Repeat Step 3 until you define all the attributes required for the serial number.</li>
</ol>The last attribute in the sequence is generally a counter value so that each serial number is unique. <br />
<br />
Note: For More Information, Please read Siebel Public Sector pdf available in bookshelf.The example is also given in that pdf.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com4tag:blogger.com,1999:blog-3327001155356815354.post-88521508800873170102009-12-09T04:30:00.000-08:002009-12-09T04:32:10.138-08:00Siebel Activity Template and Activity PlanMany scenarios where we need to perform certain tasks to complete the process. In Siebel, for task, we have got activities. <br />
So, for any such process, we always need to perform those tasks.<br />
In Siebel, It provides a feature called Activity Templates and Activity Plans.<br />
<br />
<b>What is Activity Template and Activity Plan?</b><br />
<b>Activity Template</b> is a template which you can use to create a set of Activities.<br />
<b>Activity Plan</b>: When you add the Template with the Entity like Accounts, Contacts, Cases. It becomes Activity Plan. It is like a master Activity which you need to add to the entity so that the Activities will also get created with the Entity.<br />
<br />
<b>How to create Activity Templates</b><br />
<ol><li>Go to Administration-Data, then Activity Template View.</li>
<li>In the Activity Templates list, create a new record, and Fill the values in the fields<ul><li>Name: Fill the Name of the Template</li>
<li>Type: Where you would be using this Template, select the values from Dropdown</li>
<li>Sales Stage and Sales method: Select the Value in case you are going to use Template on change of Sales Stage or on invoking of Sales Method</li>
<li>Public: No Logic Associated, You might choose to use it in conjunction with workflows and search specifications</li>
<li>Auto Trigger:For type Opportunity, activity plan automatically generated for opportunities with this sales stage</li>
</ul><li>Drilldown on Activity Template Name and Go to the Activity Template Details View tab</li><br />
<br />
<li>In the Activity Templates Details list, create a new record, and complete the necessary fields<ul><li>Type: Activity Type</li>
<li>Duration: Time needed to complete the activity</li>
<li>Employees: User names of the people who are to perform the activity</li>
<li>Lock Assignment: If true, Assignment can still be changed manually</li>
<li>Display In:To display the activity in the Calendar screen, the Activity screen,or in both.</li>
</ul></li><br />
<br />
<li>Create a new activity template detail record for each activity associated with the activity template</li><br />
<br />
</ol><b>Creating Activity Plan</b> Now, as per the Type, you had selected while creating Activity Template record, the Activity Template can be seen in the dropdown when you create a Activity Plan under any Entity like Account, Contact etc. As soon as you save the record, the Activities associated with that Template will get created.<br />
This Activity Plan creation under entity can be done manually as well as system also can do that after some configuration/scripting.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1tag:blogger.com,1999:blog-3327001155356815354.post-83061322012313240222009-12-08T23:27:00.000-08:002009-12-08T23:56:40.011-08:00Siebel Campaign Management Part-2Continuing from Part-1...<br />
<br />
Before Using Campaign management, one should have a clear understanding of the elements used. One must also know the difference among them.<br />
<br />
<b>Campaign, Offers and Treatment</b><br />
Typically each campaign has a single offer, but you can associate multiple treatments with that offer. <br />
Offers can be reused in many campaigns, but the campaign is a one-time instance of the offer presented to a customer at a certain point in time.<br />
A treatment is a channel-specific instance of an offer.You create a treatment for every channel, such as email or direct mail, through which you want to deliver the offer.<br />
<br />
A campaign is the initiative in which you convey a marketing message to one or more groups of people. Typically, campaigns deliver a promotional offer to retain current customers or to acquire new customers across channels of communication. For example, you may launch a phone campaign that invites contacts to sign up for a special promotion or deliver a direct mail campaign that provides a sample of a new product and a coupon offer to existing customers.<br />
<br />
The goal of a marketing campaign is to create an opportunity that ultimately results in a sale, brand recognition, or some other type of response. Marketers use both direct and indirect campaigns to achieve these objectives.<br />
<br />
<b>Direct campaigns</b> target individuals using multichannel approaches such as email and telephone. Contacts for the campaign are derived by applying segmentation criteria against a database of customer information and generating a list or by purchasing or renting a list of prospects.Multiple campaigns can use the same segment criteria.<br />
<br />
<b>Indirect campaigns</b> target indeterminate groups of people whose general characteristics you may know, but whose exact composition you do not know. Examples of indirect campaigns are those that use television, radio, print ads, or other forms of media for delivery of the message. An indirect campaign is associated with a marketing program’s stage rather than with a specific segment or list.<br />
<br />
<b>Response Management</b><br />
Siebel Campaigns use Response Management. Whenever prospects or contacts respond to an offer through any channel (by inbound email, the Web, a call center, or sales representative), their responses may be captured in detail using the Responses screen. Using Response views, you can determine which contacts to pursue as opportunities.<br />
<br />
<b>List Management </b><br />
Siebel Campaigns use List Management to create and manage lists of contacts and prospects within your applications for use in marketing campaigns. A list is defined as a grouping of contact or prospect records in the Siebel database.<br />
<b>Difference between contact and Prospects</b><br />
Contacts are customers already in the Siebel database. Prospects are potential customers that have yet to be screened, qualified, and promoted to contacts. By using this distinction, List Management can eliminate prospects that do not qualify for promotion to contacts.<br />
<br />
<b>Using Programs</b><br />
A program is a multistep dialogue in which you can set up a series of communications to your customers and prospects. In the Programs screen, you can use the graphical drag-and-drop Program Flow view or the Program Explorer view to design and execute multistage, triggered, and recurring marketing programs using new or existing campaigns, lists, and segments.<br />
You can establish multiple stages for a marketing program. Each stage can have multiple campaigns, lists, segments, and segment trees. Subsequent stages can be based on a customer response or any other event. For example, a visit by a sales person to a premium customer may trigger a follow-up email to that customer for the selected product.<br />
<br />
Note: This document only provides a high level overview of Siebel Campaign Management.It has been summarized from Oracle Siebel Documentation.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com37tag:blogger.com,1999:blog-3327001155356815354.post-38857680817185567732009-12-08T21:35:00.000-08:002009-12-08T23:56:25.728-08:00Siebel Campaign Management Part-1A <b>campaign</b> is a marketing tool that is used to target and motivate specific segments of your customer base to achieve a specific result. Campaigns can be stand-alone or part of a multistage program.<br />
<br />
<b>Elements in Stand-Alone Campaigns and Multistage Campaigns</b><br />
<br />
<b>Offer</b>:An offer is a single proposition or message that you want to present to your current and potential customers as part of a campaign.<br />
<br />
<b>Treatment</b>:A treatment is a channel-specific instance of an offer. A treatment can include details such as the HTML content, literature, delivery parameters, a call guide,and other details.<br />
<br />
<b>Segment</b>:A segment defines a target set of customers or prospects. A campaign can target one or more segments.<br />
<br />
<b>Source code</b>:A source code is composed of multiple codes that represent information about thecustomer, and the offer sent to the customer. You use source codes to track the customers’ responses and gauge the reaction to a campaign and its offers.<br />
<br />
<b>Vendor</b>:A vendor is a company that you retain to help you with a campaign, such as a printing house, a fulfillment house, and a telemarketer.<br />
<br />
<b>Programs</b>:A program is a container for organizing, designing, and executing multistage,triggered, and recurring marketing programs using new or existing campaigns, lists,and segments.<br />
<br />
<b>Stage</b>:A stage is a group of campaigns that happen during a certain phase of a program.It can also contain responses and leads.<br />
<br />
<b>Responses</b>: Response handling is essential in triggering follow-up stages. Whenever prospects or contacts respond to an offer treatment through any channel (by inbound email,the Web, a call center, or sales representative, and so on), their responses may be captured in detail. You can use this data to determine which contacts to pursue as opportunities.<br />
<br />
<b>Waves</b>:Waves are a method of phasing the delivery of a campaign or stage over time, or for phasing the delivery of treatments over time or across vendors.<br />
<br />
to be continued in Campaign Management Part-2<br />
<br />
Note: This document only provides a high level overview of Siebel Campaign Management.It has been summarized from Oracle Siebel Documentation.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com3tag:blogger.com,1999:blog-3327001155356815354.post-1855697449257971582009-12-07T22:53:00.000-08:002009-12-08T23:56:03.758-08:00Siebel Public SectorSiebel Public Sector provides two set of application. <br />
One to be used by Officers working for Govt Agencies: <br />
<ul><li>To Create and manage the case</li>
<li>To Create Contacts, Accounts, Incidents</li>
<li>To Create Benefit Plans</li>
</ul>Another One(self service) can be used by Citizens:<br />
<ul><li>To know the status of their cases</li>
<li>To access any published information by Govt</li>
<li>To Search the required info into FAQs</li>
</ul><br />
Siebel Public Sector can be used for multiple agencies:<br />
<b><ul><li>Municipal corporations,</li>
<li>Social services,</li>
<li>Tax and revenue management,</li>
<li>Public health,</li>
<li>Immigration agencies, and</li>
<li>Investigative agencies</li>
</ul></b><br />
<br />
Siebel Public Sector provides the below feature Out of box:<br />
<b>Location Tracking</b>: It provides a standardized Location Tracking Mechanism for various addresses like malls, hotels, office parks, and campuses. Users can also specify an area that does not have address information—for example, a street intersection or the north end of a lake. You can associate latitude and longitude pairs or Universal Transverse Mercator (UTM) values witha single location.<br />
<br />
<b>Serialization Rules</b>: It also provides Serialization Rules which can be used to give a Serial Number by default to a case using some of the case related values like Territory, Category for example: For example, in the case serial number NY-2B-2, the serial number denotes a geographic territory (NY—New York) and a case category (2B—aggravated assault). The third field (2) uniquely identifies the case.<br />
<br />
<b>Approval Templates</b>: It also provides a feature for setting up Approval Templates. for example for a particular type of case, you want that it should pass through a set of Approval from some Employees of the Organization.Similarly for Activity Templates as well.<br />
<br />
<b>Assignment of Cases and Ownership</b><br />
Cases by default get assigned to the employee who created the case. Case assignment can be done manually or It can be done automatically(may need configuration) using Siebel Assignment Manager based on the different filed values like Geographic Location, category of case, availability of the user.Multiple employee can also be assigned to a case.<br />
<br />
<b>Case Activity Plans</b><br />
Case Activity Plans can be set up. Just for an overview, An activity plan is a set of tasks (activities in Oracle’s Siebel data model) that users must complete to finish processing the case. Analyst can create Activity Plans. <br />
<br />
<b>Adobe Forms Integration</b><br />
This provides you to map Siebel data with the Adobe Forms. This can be outbound and Inbound. For example in case of<br />
<i>Outbound</i>: To automatically populate forms, such as citizenship and immigration applications with Siebel data.<br />
<i>Inbound</i>: To automatically populate Siebel data from benefits forms,such as applications for unemployment insurance.<br />
Now, you need to select or create an integration object, generate a schema, and map the XML schema to the form.<br />
<br />
<b>Assessment templates</b>: If your organization mandates specific assessment criteria, you must set up assessment templates with attributes. When creating a new Case Assessment template,set the Type value to HLS Case.<br />
<br />
For more information, Please see <a href="http://siebelexplored.blogspot.com/2009/12/siebel-case-management-part-1.html">Siebel Case Management</a><br />
<br />
Note: This document only provides a high level overview of Siebel Public Sector.It has been summarized from Oracle Siebel Documentation.ankIT WALiAhttp://www.blogger.com/profile/02262072288460334233noreply@blogger.com1