<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GeeKs Blogging @ dotCOM &#187; Scriptless solutions</title>
	<atom:link href="http://geeksbloggingat.com/topics/scriptless-solutions/feed/" rel="self" type="application/rss+xml" />
	<link>http://geeksbloggingat.com</link>
	<description>Let&#039;s share...</description>
	<lastBuildDate>Tue, 30 Aug 2011 21:29:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Siebel &#8211; SIS OM PMT Service</title>
		<link>http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/</link>
		<comments>http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 07:26:37 +0000</pubDate>
		<dc:creator>Madhvi Arora</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Business Component]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Vanilla]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=934</guid>
		<description><![CDATA[There are lots of vanilla business services available in Siebel which can be used to configure any process and this helps in avoiding scripting. One of these services I came across is &#8220;SIS OM PMT Service&#8221;. People who have worked on Order Mangement module must be aware of this service. This service is extensively used [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There are lots of vanilla business services available in Siebel which can be used to configure any process and this helps in avoiding scripting.</p>
<p>One of these services I came across is &#8220;SIS OM PMT Service&#8221;.</p>
<p><span id="more-934"></span>People who have worked on Order Mangement module must be aware of this service.</p>
<p>This service is extensively used in Order Management Process. Both its methods as well as its  user properties are utilized in Order Creation Process.</p>
<p>But this service can be used in other modules as well.</p>
<p>It has various methods which can be used are:</p>
<p><strong>Get Profile Attribute</strong></p>
<p><strong>Invoke BC Method</strong></p>
<p><strong>Refresh Business Component</strong></p>
<p><strong>Set Profile Attribute</strong></p>
<p>In this post, I will discuss method &#8220;Refresh Business Component&#8221; of this service.</p>
<p>As clear from its name, it is used to refresh the Business Component.</p>
<p>In most of scenarios if we update some field or insert new record, UI is not refreshed with that data. We explicitly need to fire blank query either in our script or on UI to refresh UI. Instead of doing this we can use this Method to do so.</p>
<p>The required input arguments to this service are:</p>
<p><strong>Business Object Name</strong>&#8212;&gt; The name of the BO in which this data needs to be refreshed</p>
<p><strong>Business Component Name</strong>&#8212;&gt;The name of the BC where refresh is required.</p>
<p>This can be used in both script as well as workflow.</p>
<p>I will discuss the example of workflow:</p>
<div id="attachment_938" class="wp-caption aligncenter" style="width: 510px"><a href="http://geeksbloggingat.com/blog/wp-content/uploads/2010/03/WF_01.png"><img class="size-full wp-image-938" src="http://geeksbloggingat.com/blog/wp-content/uploads/2010/03/WF_01.png" alt="WF_01" width="500" height="89" /></a><p class="wp-caption-text">WF_01</p></div>
<p>This is a sample workflow which is used to update account status.</p>
<p>The detail description is as follows:</p>
<ol>
<li>Query For Record: Siebel Operation Step with operation Query is used. Here row_id has been passed in Object Id.</li>
<li>Record Found: Decision Box is used to check the record which needs to be updated exists in system or not .Here check is made with the help of Process Property “Siebel Operation Object  Id”. If record is present, then Siebel Operation Object Id will not be null.</li>
<li>Update Account Status : Siebel Operation Step with operation Update is used. Here row_id has been passed in Object Id.</li>
<li>Refresh Record: This step uses BS “SIS OM PMT Service” with method “Refresh Business Component”.</li>
</ol>
<p>Since here I am updating Account Status in Account Screen, the values of input arguments are:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="217" valign="top"><strong>Input Argument </strong></td>
<td width="81" valign="top"><strong>Type</strong></td>
<td width="149" valign="top"><strong>Value</strong></td>
</tr>
<tr>
<td width="217" valign="top">Business Object Name</td>
<td width="81" valign="top">Literal</td>
<td width="149" valign="top">Account</td>
</tr>
<tr>
<td width="217" valign="top">Business Component Name</td>
<td width="81" valign="top">Literal</td>
<td width="149" valign="top">Account</td>
</tr>
</tbody>
</table>
<p>Try this it will work.</p>
<p>Please share your valuable comments.<code><ins datetime="2010-03-16T16:38:20+00:00"></ins></code></p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Left, Right and from the Middle</title>
		<link>http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/</link>
		<comments>http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 09:04:28 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Business Component]]></category>
		<category><![CDATA[Calculated Function]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=761</guid>
		<description><![CDATA[Extracting a sub string from a lengthy string in Siebel. What is the best solution you can think up for this typical problem? I know, I know, you and you colleagues have done this thousands of times before. But, have you ever successfully done it without using a single line of scripting?!! Now, it becomes [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/10/siebel-invokeservicemethod-on-calculated-fields/' rel='bookmark' title='Permanent Link: Siebel &#8211; InvokeServiceMethod() on Calculated Fields'>Siebel &#8211; InvokeServiceMethod() on Calculated Fields</a> <small>InvokeServiceMethod() is used to invoke Business Services and take values...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/23/siebel-make-mvg-field-required-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required &#8211; II'>Siebel &#8211; Make MVG Field required &#8211; II</a> <small>Hi friends, This is a follow-up post of the post...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make a field Required, conditionally'>Siebel &#8211; Make a field Required, conditionally</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/08/siebel-eai-siebel-adapter-search-spec/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter Search Spec'>Siebel &#8211; EAI Siebel Adapter Search Spec</a> <small>Hi, I can bet that for anybody who has worked...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Extracting a sub string from a lengthy string in Siebel. What is the best solution you can think up for this typical problem? I know, I know, you and you colleagues have done this thousands of times before. But, have you ever successfully done it without using a single line of scripting?!!</p>
<p>Now, it becomes interesting! <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-761"></span>Not that I am saying, it&#8217;s entirely possible only by configuration. At the very least I don&#8217;t know how it&#8217;s possible that way.</p>
<p>Let&#8217;s assume a test string:<br />
<i>var strng = &#8220;abcdefghijklmnopqrstuvwxyz1234567890&#8243;;</i></p>
<p><b>Requirement : Take the first 5 characters from the above string in another substring</b><br />
Solution 1:<br />
<i>var sub_strng = strng.substr( 0,5 );</i></p>
<p>Output:<br />
<i>abcde</i></p>
<p>Solution 2 : Using Left() function.<br />
Take it in a Calculated field. Use the expression,<br />
<i>Left( strng, 5 )</i></p>
<p>Output:<br />
<i>abcde</i><br />
I have noticed that at times, this does not work within eScript. Should work with VB and in Calculated Expressions.</p>
<p><b>Requirement : Take the last 5 characters from the above string in another substring</b><br />
Solution 1:<br />
<i>var sub_strng = strng.substr( (strng.length &#8211; 5),5 );</i></p>
<p>Output:<br />
<i>67890</i></p>
<p>Solution 2 : Using Right() function.<br />
Take it in a Calculated field. Use the expression,<br />
<i>Right( strng,5 )</i></p>
<p>Output:<br />
<i>67890</i><br />
I have noticed that at times, this does not work within eScript. Should work with VB and in Calculated Expressions.</p>
<p><b>Requirement : Take the middle 5 characters from the above string in another substring (assume &#8216;cdefg&#8217;)</b><br />
Solution 1:<br />
<i>var sub_strng = strng.substr( 2,5 );</i></p>
<p>Output:<br />
<i>cdefg</i></p>
<p>Solution 2 : Using Mid() function.<br />
Take it in a Calculated field. Use the expression,<br />
<i>Mid( strng,2,5 )</i></p>
<p>Output:<br />
<i>cdefg</i><br />
I have noticed that at times, this does not work within eScript. Should work with VB and in Calculated Expressions.</p>
<p>Using Calculated Expressions where these are very commonly required, does save scripting at times.</p>
<p>Trust me, this really works!! <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/10/siebel-invokeservicemethod-on-calculated-fields/' rel='bookmark' title='Permanent Link: Siebel &#8211; InvokeServiceMethod() on Calculated Fields'>Siebel &#8211; InvokeServiceMethod() on Calculated Fields</a> <small>InvokeServiceMethod() is used to invoke Business Services and take values...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/23/siebel-make-mvg-field-required-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required &#8211; II'>Siebel &#8211; Make MVG Field required &#8211; II</a> <small>Hi friends, This is a follow-up post of the post...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make a field Required, conditionally'>Siebel &#8211; Make a field Required, conditionally</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/08/siebel-eai-siebel-adapter-search-spec/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter Search Spec'>Siebel &#8211; EAI Siebel Adapter Search Spec</a> <small>Hi, I can bet that for anybody who has worked...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Fetch Active view properties &#8211; II</title>
		<link>http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii/</link>
		<comments>http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 03:03:27 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=658</guid>
		<description><![CDATA[We discussed about fetching the values from the active view in my post yesterday. However, I also felt that it was a very crude way of doing it. We can only get the information we need, by writing a small script for it. Moreover, the information was very limited. I also came across an alternative [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties &#8211; III'>Siebel &#8211; Fetch Active view properties &#8211; III</a> <small>I will discuss a practical example, and the corresponding Inputs...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
<li><a href='http://geeksbloggingat.com/2010/05/17/siebel-admin-mode-flag-ii-issue-log/' rel='bookmark' title='Permanent Link: Siebel Admin Mode Flag &#8211; II &#8211; Issue Log'>Siebel Admin Mode Flag &#8211; II &#8211; Issue Log</a> <small>In the last post I described about Admin Mode Flag....</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/' rel='bookmark' title='Permanent Link: Siebel Assets List view &#8211; Performance issue / Cannot display records'>Siebel Assets List view &#8211; Performance issue / Cannot display records</a> <small>Assets Screen Load is a major problem in Siebel, and...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/15/siebel-forcing-user-logoff/' rel='bookmark' title='Permanent Link: Siebel &#8211; Forcing User Logoff'>Siebel &#8211; Forcing User Logoff</a> <small>Hi all, Somebody recently asked me if there is a...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>We discussed about fetching the values from the active view in <a href="Siebel - Fetch Active view properties">my post yesterday</a>. </p>
<p>However, I also felt that it was a very crude way of doing it. We can only get the information we need, by writing a small script for it. Moreover, the information was very limited.</p>
<p><span id="more-658"></span>I also came across an alternative method to get the details from the Active View. Try searching for the Business Service, <i>&#8220;FINS Data Transfer Utilities&#8221;</i> in your Siebel Tools. It has a method, <i>&#8220;GetActiveViewProp&#8221;</i>, which can help us achieve our objectives. Moreover, it supports our point of view of Scriptless Solutions!</p>
<p>Usage:<br />
The BS, &#8220;FINS Data Transfer Utilities&#8221; does not take in any Input Arguments for the method, &#8220;GetActiveViewProp&#8221;. We can, thus, directly call this BS in Scripts or Workflows as the requirement may be.</p>
<p>There are a number of outputs, however, that return the corresponding data for the logged in user.<br />
<b>BusinessObject</b><br />
This would return the Business Object of the view active at the time of invoking this Business Service.</p>
<p><b>IsAdminMode</b><br />
This would determine if the current view works in Admin Mode. Admin Mode gives you extra priviledges on a particular view.<br />
The Admin Mode is defined by the &#8220;Admin Mode Flag&#8221; on the property corresponding to the View in the Siebel Tools Object Explorer.</p>
<p><b>Screen</b><br />
The name of the screen that the current view is a part of.</p>
<p><b>ThreadApplet</b><br />
Name of the Thread Applet in the current focus.</p>
<p><b>View</b><br />
The name of the active view.</p>
<p><b>ViewModeCode</b><br />
This is returned in the form of a Code (a number). This defines the View Mode of the current view in focus.</p>
<p>I feel this post is getting too long. I&#8217;ll post a follow-up post with a practical example.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/24/siebel-fetch-active-view-properties-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties &#8211; III'>Siebel &#8211; Fetch Active view properties &#8211; III</a> <small>I will discuss a practical example, and the corresponding Inputs...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
<li><a href='http://geeksbloggingat.com/2010/05/17/siebel-admin-mode-flag-ii-issue-log/' rel='bookmark' title='Permanent Link: Siebel Admin Mode Flag &#8211; II &#8211; Issue Log'>Siebel Admin Mode Flag &#8211; II &#8211; Issue Log</a> <small>In the last post I described about Admin Mode Flag....</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/' rel='bookmark' title='Permanent Link: Siebel Assets List view &#8211; Performance issue / Cannot display records'>Siebel Assets List view &#8211; Performance issue / Cannot display records</a> <small>Assets Screen Load is a major problem in Siebel, and...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/15/siebel-forcing-user-logoff/' rel='bookmark' title='Permanent Link: Siebel &#8211; Forcing User Logoff'>Siebel &#8211; Forcing User Logoff</a> <small>Hi all, Somebody recently asked me if there is a...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/07/23/siebel-fetch-active-view-properties-ii/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Refresh Applet retaining existing context</title>
		<link>http://geeksbloggingat.com/2009/07/15/siebel-refresh-applet-retaining-existing-context/</link>
		<comments>http://geeksbloggingat.com/2009/07/15/siebel-refresh-applet-retaining-existing-context/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 02:34:09 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Workarounds]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=615</guid>
		<description><![CDATA[RefreshRecord() does not work in all cases, does it? This is a very common requirement I have seen in almost all Siebel EAI implementations. We have data flowing IN and OUT of the Siebel CRM system. It is updated in the Database alright, but, how do we update the user on the UI. I am [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/16/siebel-millisecond-dates-on-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; millisecond dates on Applet'>Siebel &#8211; millisecond dates on Applet</a> <small>I had discussed in my previous posts about invoking a...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>RefreshRecord() does not work in all cases, does it? <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This is a very common requirement I have seen in almost all Siebel EAI implementations. We have data flowing IN and OUT of the Siebel CRM system. It is updated in the Database alright, but, how do we update the user on the UI. I am assuming a quick data interchange in Real-time using a VBC or a Web Service or something similar. Whenever we update the Database using a Workflow or a script here, the UI will not refresh automatically, and though the process would end successfully (I hope it does), the user would never come to know about the successful updation until he manually does a Query + Go on the Applet, or uses the famed Alt+Enter Hotkey.</p>
<p><span id="more-615"></span>Above is the problem. What is the potential solution to it? A number of solutions actually. Some of the most common solutions to this problem that I have seem so far are:</p>
<p><b>1) RefreshRecord()</b><br />
This is a vanilla method declared at the Business Component level. You can directly use it in script in certain events as per the requirement, in BC Server Script to achieve the desired objective of refreshing the applet, on a specific event. Siebel says this will work on all Account based BCs (if I recollect clearly). However, by my experience, two major issues:<br />
Not all BCs I want to update fall in this category.<br />
Even the BCs where I expect it to work, the approach doesn&#8217;t work.</p>
<p><b>2) Query and Go</b><br />
This is basically a very baad and performance hit simulation of the vanilla Query and Go functionality. Try using Alt+R and Enter functionality on a particular screen in Siebel. Issues with this approach are:<br />
The performance is Bad.<br />
It loses the context from the existing record. The focus will be placed on the first record in a list of records.<br />
I have never taken a liking for it somehow! I use it only when absolutely necessary. (my personal opinion)</p>
<p><b>3) SIS OM PMT Service</b><br />
By now, all of us know the wonders associated with the goddess, &#8220;SIS OM PMT Service&#8221;, and its capabilities. It has a vanilla BS Method, &#8220;Refresh Business Component&#8221;. Try using this. I have seen it work beautifully! Issues with this approach:<br />
Performance is still a pain! Solution: Use Performance BCs in Siebel.<br />
It retains the context of the current view, but, loses the context of the current record, and, places the focus on the first record in the list.<br />
I enjoyed using this after some minor tweaks!</p>
<p><b>4) FINS Teller UI Navigation</b><br />
Get to it in Siebel Tools, and notice the method, &#8220;RefreshCurrentApplet&#8221;. It seems it refreshes the Applet, and not the Business Component context as in (3) above. It could possibly retain the context of the current record. I never tried it, just found it out during some research. Try it at your end, and do advise if I should consider using it in my future implementations! <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Feel free to add to the above. Cheers!</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/16/siebel-millisecond-dates-on-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; millisecond dates on Applet'>Siebel &#8211; millisecond dates on Applet</a> <small>I had discussed in my previous posts about invoking a...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/07/15/siebel-refresh-applet-retaining-existing-context/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</title>
		<link>http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/</link>
		<comments>http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 02:30:02 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Workarounds]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=565</guid>
		<description><![CDATA[This is a follow-up post on the post, Siebel &#8211; Looping Multiple Records &#8211; III. We are looking at possibly more conventional methods to loop through multiple records in Siebel, than the SIA BC Utility Service. We will make use of EAI Siebel Adapter&#8217;s QueryPage method to achieve the same. Knowledge of Siebel Workflow processes [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is a follow-up post on the post, <a href="http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii">Siebel &#8211; Looping Multiple Records &#8211; III</a>. We are looking at possibly more conventional methods to loop through multiple records in Siebel, than the SIA BC Utility Service.</p>
<p>We will make use of EAI Siebel Adapter&#8217;s QueryPage method to achieve the same. Knowledge of Siebel Workflow processes is essential to understanding this post.<br />
The QueryPage method allows us to input an additional parameter, NumOutputObjects, to define the number of records that we want to output. Why not set this value to &#8217;1&#8242;?</p>
<p>Following is an outline of the Dummy Workflow I used to achieve this.</p>
<p><span id="more-565"></span><div id="attachment_584" class="wp-caption aligncenter" style="width: 459px"><a href="http://geeksbloggingat.com/blog/wp-content/uploads/2009/07/geek-siebel-eai-siebel-adapter-looping-multiple-records1.jpg"><img src="http://geeksbloggingat.com/blog/wp-content/uploads/2009/07/geek-siebel-eai-siebel-adapter-looping-multiple-records1.jpg" alt="Siebel EAI Adapter - Looping Multiple Records" title="geek-siebel-eai-siebel-adapter-looping-multiple-records1" width="449" height="152" class="size-full wp-image-584" /></a><p class="wp-caption-text">Siebel EAI Adapter - Looping Multiple Records</p></div></p>
<p>Following are the Custom Process Properties and their default values at the time of starting the workflow.</p>
<table border="1">
<tbody>
<tr>
<th>Process Property</th>
<th>Default Value</th>
</tr>
<tr>
<td>Last Record</td>
<td> </td>
</tr>
<tr>
<td>New Query</td>
<td>Y</td>
</tr>
<tr>
<td>Number of Output Objects</td>
<td> </td>
</tr>
<tr>
<td>Order Type</td>
<td> </td>
</tr>
<tr>
<td>SiebelMessage</td>
<td> </td>
</tr>
<tr>
<td>Status</td>
<td> </td>
</tr>
<tr>
<td>XMLHierarchy</td>
<td> </td>
</tr>
</tbody>
</table>
<p> </p>
<p>The outline of the Individual Steps is as follows.<br />
<strong>1) START &#8211; The starting step in the workflow</strong></p>
<p><strong>2) Query Records</strong></p>
<table border="1">
<tbody>
<tr>
<td>Business Service Name</td>
<td>EAI Siebel Adapter</td>
</tr>
<tr>
<td>Business Service Method</td>
<td>QueryPage</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Input Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>OutputIntObjectName</td>
<td>Literal</td>
<td>7.7 Order Entry Integration Object</td>
</tr>
<tr>
<td>PageSize</td>
<td>Literal</td>
<td>1</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Output Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>OutputIntObjectName</td>
<td>Output Argument</td>
<td>SiebelMessage</td>
</tr>
<tr>
<td>Last Record</td>
<td>Output Argument</td>
<td>LastPage</td>
</tr>
<tr>
<td>Number of Output Objects</td>
<td>Output Argument</td>
<td>NumOutputObjects</td>
</tr>
<tr>
<td>New Query</td>
<td>Literal</td>
<td>N</td>
</tr>
</tbody>
</table>
<p><strong><br />
3) Convert to XML Hier<br />
</strong></p>
<table border="1">
<tbody>
<tr>
<td>Business Service Name</td>
<td>EAI Integration Object to XML Hierarchy Converter</td>
</tr>
<tr>
<td>Business Service Method</td>
<td>IntObjHierToXMLHier</td>
</tr>
</tbody>
</table>
<p></p>
<p>Input Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>SiebelMessage</td>
<td>Process Property</td>
<td>SiebelMessage</td>
</tr>
</tbody>
</table>
<p></p>
<p>Output Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>XMLHierarchy</td>
<td>Output Argument</td>
<td>XMLHierarchy</td>
</tr>
</tbody>
</table>
<p></p>
<p><strong><br />
4) Extract Values<br />
</strong></p>
<table border="1">
<tbody>
<tr>
<td>Business Service Name</td>
<td>FINS Industry XML Query Service</td>
</tr>
<tr>
<td>Business Service Method</td>
<td>Execute</td>
</tr>
</tbody>
</table>
<p></p>
<p>Input Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>Status</td>
<td>Literal</td>
<td>.//Status</td>
</tr>
<tr>
<td>XMLHierarchy</td>
<td>Process Property</td>
<td>XMLHierarchy</td>
</tr>
</tbody>
</table>
<p></p>
<p>Output Arguments:</p>
<table border="1">
<tbody>
<tr>
<td>Status</td>
<td>Output Argument</td>
<td>Status</td>
</tr>
</tbody>
</table>
<p></p>
<p>We have covered the FINS Industry XML Business Service in detail <a href="http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/">here</a> on <a href="http://geeksbloggingat.com">GeeksBlogging@dotCOM</a>.</p>
<p><strong><br />
5) Process Record Data<br />
</strong></p>
<table border="1">
<tbody>
<tr>
<td>Sub Process</td>
<td>Dummy Processing Sub Process</td>
</tr>
</tbody>
</table>
<p></p>
<p>Input Arguments:<br />
As per requirement<br />
</p>
<p>Output Arguments:<br />
As per requirement<br />
</p>
<p><strong><br />
6) Last Record?<br />
</strong></p>
<p>Decision Point<br />
</p>
<p>Branch Conditions:</p>
<table border="1">
<tbody>
<tr>
<td>Process Property</td>
<td>All Must Match(Ignore Case)</td>
<td>Last Record</td>
<td>FALSE</td>
</tr>
</tbody>
</table>
<p></p>
<p><strong><br />
7) END &#8211; The Standard Siebel END Step<br />
</strong></p>
<p>The Workflow ends successfully. We have successfully retrieved the data from each of the successive records one by one, and passed on the data for further processing to a Sub-process.</p>
<p>This post wouldn&#8217;t be complete without referring <a href="http://siebel-essentials.blogspot.com" nofollow="TRUE" target="_blank">the source</a> which gave me my first hints to implementing this. Thanks, Alex.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Looping Multiple Records &#8211; III</title>
		<link>http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/</link>
		<comments>http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 02:30:44 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=560</guid>
		<description><![CDATA[Looping through multiple records is a requirement we come across multiple times in almost all Siebel Implementations. And, I can&#8217;t recall how many times I have seen dirty scripts to achieve the objective. I call this Part III, as we have already covered this before on GeeksBlogging@dotCOM, in the articles, Siebel &#8211; Looping multiple records [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Looping through multiple records is a requirement we come across multiple times in almost all Siebel Implementations. And, I can&#8217;t recall how many times I have seen dirty scripts to achieve the objective.</p>
<p>I call this Part III, as we have already covered this before on GeeksBlogging@dotCOM, in the articles,<br />
<a href="http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/">Siebel &#8211; Looping multiple records &#8211; Query and Process</a><br />
<a href="http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/">Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a></p>
<p><span id="more-560"></span>The above two posts also achieve the same same objects, albeit in a different way.<br />
In my list of preferences, I rate the solution, Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records the highest. The only problem is that the Business Service, &#8220;SIA BC Utility Service&#8221; is not all that well documented by Siebel / Oracle. Developers are often sceptical of using a component which does not have sufficient official documentation to support it.</p>
<p>As a solution to the above, I will introduce looping through multiple records using the coventional Siebel methods.<br />
I am sure everybody who has ever worked in Siebel EAI, would have heard about the Siebel Vanilla Service, &#8220;EAI Siebel Adapter&#8221;. However, not all of us are aware of the true power of this BS. Yes, we will be using EAI Siebel Adapter BS to loop through multiple records in Siebel in the following posts!</p>
<p>EAI Siebel Adapter has many supported methods:<br />
&nbsp;&nbsp;Delete<br />
&nbsp;&nbsp;Execute<br />
&nbsp;&nbsp;Insert<br />
&nbsp;&nbsp;Query<br />
&nbsp;&nbsp;QueryPage<br />
&nbsp;&nbsp;Synchronize<br />
&nbsp;&nbsp;Update<br />
&nbsp;&nbsp;Upsert</p>
<p>The details of each of these methods and their usage calls for a separate post in itself. I strongly believe that and Siebel EAI professional should make himself very comfortable with this BS, as you would soon notice how much of Siebel EAI revolves around it.</p>
<p>Keep watching this space for the actual usage info. The above should be enough to get the grey cells going!</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; FINS Industry XML Query Service</title>
		<link>http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/</link>
		<comments>http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/#comments</comments>
		<pubDate>Sat, 30 May 2009 21:05:22 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Siebel Secrets]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Workarounds]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=387</guid>
		<description><![CDATA[&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221; How many times have you come across this problem, and how many times have you wished that Siebel has an OOB method to help you extract these values? Well, here it is. The &#8220;FINS Industry XML Query Service&#8221; in Siebel does just that. I am [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/17/siebel-fins-teller-ui-navigation/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Teller UI Navigation'>Siebel &#8211; FINS Teller UI Navigation</a> <small>Siebel is POWERFUL! Now, need I even say that? And,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221; How many times have you come across this problem, and how many times have you wished that Siebel has an OOB method to help you extract these values?</p>
<p>Well, here it is. The &#8220;FINS Industry XML Query Service&#8221; in Siebel does just that. I am covering this here because of lack of documentation on the same by Oracle, and the immense use that this can be put to. This BS can save you a lot of headache of writing custom scripts to parse the entire XML Hierarchy in Siebel eScript, which can be a real pain in the neck.</p>
<p>This blog post will target the detailed usage of the BS, &#8220;FINS Industry XML Query Service&#8221; in Siebel CRM. This BS can be used directly in a Siebel Workflow, since this is vanilla. No scripting is needed which is as per the recommendations of Siebel Best Practices.</p>
<p><span id="more-387"></span>To catch the implementation details of this BS, log into Siebel Tools, query for &#8220;FINS Industry XML Query Service&#8221; in the Business Services in Object Explorer.</p>
<p>Business Service:	FINS Industry XML Query Service<br />
Method:			Execute<br />
Input Arguments:	XMLHierarchy<br />
Output Arguments:	<none></p>
<p>Please note that this BS takes only the XMLHierarchy type of Hierarchy input. So, in case you have some other hierarchy available in your implementation, you would need to convert it into XMLHierarchy. I can suggest one of the following in this case which mostly save the day:<br />
EAI XML Converter<br />
XML Hierarchy Converter<br />
EAI Integration Object to XML Hierarchy Converter</p>
<p>There is already sufficient documentation for the above.</p>
<p>Now that you have the XML Hierarchy available, you can feed this into the service, &#8220;FINS Industry XML Query Service&#8221; as an input from a Worfklow Process Property, in the Input Argument, &#8220;XMLHierarchy&#8221;.</p>
<p>Create a new Input argument. Let&#8217;s call it &#8220;TestProperty&#8221;. Set the Input Type as &#8220;Literal&#8221;.<br />
In the Value column, you need to pass the location of the tag in the entire hierarchy, from which you wish to extract the value. This location is specified in terms of the XML XPath notation, or the more commonly called Dot Notation. If the tag in question exists only once in the entire length of the XML, we can set the XPath as, &#8220;.//<tag name>&#8221; which we used in our example. In case of repeating tags, use the notation, &#8220;./<root tag name>/<child tag name>/<grandchild tag name>&#8220;.<br />
You can further create new Input Arguments as above, to extract multiple values from multiple tags at the same time.</p>
<p>Now that the inputs have been provided, we need to set the output arguments from this BS in the workflow.<br />
Create a new Process Property by the name, &#8220;TestProperty&#8221;. (I have named this same as the Input Argument just for the ease of use. You can always select a different name).<br />
Create a new &#8220;FINS Industry XML Query Service&#8221; BS Output Argument, and set the following values:<br />
Property Name:	 TestProperty<br />
Type:		 Output Argument<br />
Output Argument: TestProperty (Please note that this value must be same as the name given to the Input Argument above.)</p>
<p>Now, you are ready to go. Simulate this workflow to see the Output arguments being extracted from the input XML Hierarchy in the Watch Window during simulation.</p>
<p>One of the limitations that I have come across for this BS is that it cannot fetch value from a tag in case of repeating instances of ICs in the same XML, typically a case of repeating instances of child objects with the same tag name.</p>
<p>Let&#8217;s have cleaner Siebel, better Siebel. Let&#8217;s aim for Scriptless Siebel.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/17/siebel-fins-teller-ui-navigation/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Teller UI Navigation'>Siebel &#8211; FINS Teller UI Navigation</a> <small>Siebel is POWERFUL! Now, need I even say that? And,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; changing Textbox height</title>
		<link>http://geeksbloggingat.com/2009/05/18/siebel-changing-textbox-height/</link>
		<comments>http://geeksbloggingat.com/2009/05/18/siebel-changing-textbox-height/#comments</comments>
		<pubDate>Mon, 18 May 2009 04:58:16 +0000</pubDate>
		<dc:creator>Prachi Sharma</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Property]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=303</guid>
		<description><![CDATA[There are a number of HTML controls available in Siebel. One such control is the Textbox, or the Textarea. This is generally displayed as a big box on the screen having a height spanning multiple rows. There was a requirement from my client to modify the number of rows being displayes on the Textbox. He [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/17/siebel-defaultfocus-user-property/' rel='bookmark' title='Permanent Link: Siebel &#8211; DefaultFocus &#8211; User Property'>Siebel &#8211; DefaultFocus &#8211; User Property</a> <small>In Siebel Application, whenever you navigate to a screen, the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/19/siebel-about-srf-window-remove-data/' rel='bookmark' title='Permanent Link: Siebel &#8211; About SRF Window &#8211; Remove data'>Siebel &#8211; About SRF Window &#8211; Remove data</a> <small>Okay. This is something those who like to toy with...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/20/siebel-remove-about-srf-window/' rel='bookmark' title='Permanent Link: Siebel &#8211; Remove About SRF Window'>Siebel &#8211; Remove About SRF Window</a> <small>In my previous post, I had discussed as to how...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There are a number of HTML controls available in Siebel. One such control is the Textbox, or the Textarea. This is generally displayed as a big box on the screen having a height spanning multiple rows.</p>
<p>There was a requirement from my client to modify the number of rows being displayes on the Textbox. He wanted this textarea on the Applet to be 6 rows tall, such that most of the text is directly visible to the Customer Support guy using this view. I will discuss the solution that we implemented to this problem here.</p>
<p><span id="more-303"></span>Navigate to the Applet in Siebel Tools, where you need to show this textbox of height equal to 6 rows.<br />
In the Object Explorer, select Controls.<br />
Navigate to the Control which has the Textbox / Textarea.<br />
In the corresponding columns, you will find a property called, &#8220;HTML Height&#8221;. Set this value as 100.<br />
Compile into the Siebel SRF, and restart Siebel Web Client. You should now see the Textbox with a large height as desired.</p>
<p>Siebel seems to take this value in terms of pixels on the screen. 100 seemed to be reasonable in our case.</p>
<p>Similarly, if you want to change the width of the Textbox, there is another property corresponding to the Textarea control called, &#8220;HTML Width&#8221;. You can change the width of this textarea to as much as your requirements.</p>
<p>We tried doing this on the Form Applet and it worked.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/17/siebel-defaultfocus-user-property/' rel='bookmark' title='Permanent Link: Siebel &#8211; DefaultFocus &#8211; User Property'>Siebel &#8211; DefaultFocus &#8211; User Property</a> <small>In Siebel Application, whenever you navigate to a screen, the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/19/siebel-about-srf-window-remove-data/' rel='bookmark' title='Permanent Link: Siebel &#8211; About SRF Window &#8211; Remove data'>Siebel &#8211; About SRF Window &#8211; Remove data</a> <small>Okay. This is something those who like to toy with...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/20/siebel-remove-about-srf-window/' rel='bookmark' title='Permanent Link: Siebel &#8211; Remove About SRF Window'>Siebel &#8211; Remove About SRF Window</a> <small>In my previous post, I had discussed as to how...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/18/siebel-changing-textbox-height/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; DefaultFocus &#8211; User Property</title>
		<link>http://geeksbloggingat.com/2009/05/17/siebel-defaultfocus-user-property/</link>
		<comments>http://geeksbloggingat.com/2009/05/17/siebel-defaultfocus-user-property/#comments</comments>
		<pubDate>Sun, 17 May 2009 04:59:26 +0000</pubDate>
		<dc:creator>Prachi Sharma</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[User Property]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=300</guid>
		<description><![CDATA[In Siebel Application, whenever you navigate to a screen, the default focus of the cursor is set to the first editable field. You may have a requirement to instead set the default focus to a more commonly used field. So, whenever you navigate to that screen, the curson focus will be on the client required [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/05/siebel-automatic-user-logout/' rel='bookmark' title='Permanent Link: Siebel &#8211; Automatic User Logout'>Siebel &#8211; Automatic User Logout</a> <small>Logging out a user automatically, when the user does not...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/15/siebel-forcing-user-logoff/' rel='bookmark' title='Permanent Link: Siebel &#8211; Forcing User Logoff'>Siebel &#8211; Forcing User Logoff</a> <small>Hi all, Somebody recently asked me if there is a...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/' rel='bookmark' title='Permanent Link: Siebel &#8211; HTML Code displayed in Error Message'>Siebel &#8211; HTML Code displayed in Error Message</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In Siebel Application, whenever you navigate to a screen, the default focus of the cursor is set to the first editable field. You may have a requirement to instead set the default focus to a more commonly used field. So, whenever you navigate to that screen, the curson focus will be on the client required field first up, and the user will have to navigate to reach some other field in the applet.</p>
<p>This can be done easily by using a Siebel vanilla Applet level User Property called, DefaultFocus.</p>
<p><span id="more-300"></span>In order to use this, simply navigate to the &#8216;Applets&#8217; object manager in Siebel Tools. Navigate to &#8216;Applet User Prop&#8217; under the &#8216;Applets&#8217; Object Manager.</p>
<p>Do a NewRecord and set the following values:<br />
Name : DefaultFocus<br />
Value : <Control></p>
<p>Here, <Control> is the name of the column where you want to set the Default focus.</p>
<p>Compile your changes into the Siebel SRF and run. You will now see that the default focus whenever you navigate to the screen, has been set on the required column in the Applet.</p>
<p>This will run for both Form and List Applets. But, somehow this does not run in High Interactivity mode! This works in Standard Interactivity mode only. I hope this article helps somebody someday.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/05/siebel-automatic-user-logout/' rel='bookmark' title='Permanent Link: Siebel &#8211; Automatic User Logout'>Siebel &#8211; Automatic User Logout</a> <small>Logging out a user automatically, when the user does not...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/15/siebel-forcing-user-logoff/' rel='bookmark' title='Permanent Link: Siebel &#8211; Forcing User Logoff'>Siebel &#8211; Forcing User Logoff</a> <small>Hi all, Somebody recently asked me if there is a...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/' rel='bookmark' title='Permanent Link: Siebel &#8211; HTML Code displayed in Error Message'>Siebel &#8211; HTML Code displayed in Error Message</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/17/siebel-defaultfocus-user-property/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</title>
		<link>http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/</link>
		<comments>http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/#comments</comments>
		<pubDate>Thu, 14 May 2009 04:39:35 +0000</pubDate>
		<dc:creator>Ankit Bhardwaj</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=292</guid>
		<description><![CDATA[I had discussed about the vanilla Business Service, &#8220;SIA BC Utility Service&#8221;, method &#8220;Next Record&#8221; in my previous post. Today, I will discuss the other method that this BS supports, &#8220;Invoke Method&#8221;. This method provides the functionality of invoking a particular method of the specified Business Component i.e. a method of that particular BC for [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/17/siebel-fins-teller-ui-navigation/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Teller UI Navigation'>Siebel &#8211; FINS Teller UI Navigation</a> <small>Siebel is POWERFUL! Now, need I even say that? And,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I had discussed about the vanilla Business Service, &#8220;SIA BC Utility Service&#8221;, method &#8220;Next Record&#8221; in my previous post. Today, I will discuss the other method that this BS supports, &#8220;Invoke Method&#8221;.</p>
<p>This method provides the functionality of invoking a particular method of the specified Business Component i.e. a method of that particular BC for which this business service is used for can be called using this method. This method requires two input arguments for the same:</p>
<p><span id="more-292"></span>i) BusComp Name :- This argument requires the bus component name whose method needs to be invoked.<br />
ii) Method Name :- This argument requires the name of the method that has to be invoked.</p>
<p>Once you specify these input values, the BS will work and will save a lot of scripting which may otherwise needed to be done.</p>
<p>Hope you have enjoyed my series on the BS, &#8220;SIA BC Utility Service&#8221;.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/17/siebel-fins-teller-ui-navigation/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Teller UI Navigation'>Siebel &#8211; FINS Teller UI Navigation</a> <small>Siebel is POWERFUL! Now, need I even say that? And,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</title>
		<link>http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/</link>
		<comments>http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/#comments</comments>
		<pubDate>Wed, 13 May 2009 05:27:00 +0000</pubDate>
		<dc:creator>Ankit Bhardwaj</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=288</guid>
		<description><![CDATA[This is a vanilla business service which provides an extensive functionality that can be used at the BC level for performing the tasks like querying and invoking a BC method. It is very useful as it provides many powerful features that can not be done through Siebel operation. One of the methods it supports is, [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is a vanilla business service which provides an extensive functionality that can be used at the BC level for performing the tasks like querying and invoking a BC method. It is very useful as it provides many powerful features that can not be done through Siebel operation. One of the methods it supports is, &#8220;BCNextRecord&#8221;.</p>
<p>This method is used to query the records in the BC. Unlike Siebel Operation, this method provides the feature of searching the records sequentially in the queried records. It has the following arguments:</p>
<p><span id="more-288"></span>i) Business Component Name :- This argument requires the Business component name on which the query has to be made.<br />
ii) Forward Only :- This argument specifies the mode of execution.<br />
iii) From First :- This argument specifies that the query needs to be run from first record in the BC.<br />
iv) Row Id :- This is an output argument that gives the row id of the record.<br />
v) Search Specification :- This argument takes the search specification on the basis of which the query is executed.<br />
vi) Total :- This argument is an Input/Output and gives the total records found in the query.<br />
vii) Total Field :- This argument receives the fields of the BC in which the query is to be executed.</p>
<p>But there is a main disadvantage of using this BS is that if it does not find any record in the stated query, it raises an error.</p>
<p>Illustration of this BS by an example</p>
<p>To make the working clear of this Business Service, the following workflow is made that query a BC using this</p>
<p><!-- img class="aligncenter size-full wp-image-242" src="http://geeksbloggingat.com/blog/wp-content/uploads/2009/05/sia-bc-utility-service-wf.jpg" alt="SIA BC Utility Service Sample WF" / --></p>
<p><!-- a href="http://geeksbloggingat.com/blog/wp-content/uploads/2009/05/sia-bc-utility-service-wf_2009_05_20.jpg"><img src="http://geeksbloggingat.com/blog/wp-content/uploads/2009/05/sia-bc-utility-service-wf_2009_05_20.jpg" alt="SIA BC Utility WF - Looping Records" title="sia-bc-utility-service-wf_2009_05_20" class="aligncenter size-full wp-image-336" /></a --></p>
<div id="attachment_628" class="wp-caption aligncenter" style="width: 504px"><a href="http://geeksbloggingat.com/blog/wp-content/uploads/2009/05/sia-bc-utility-service-example1.jpg"><img src="http://geeksbloggingat.com/blog/wp-content/uploads/2009/05/sia-bc-utility-service-example1.jpg" alt="SIA BC Utility Service Demo WF" title="sia-bc-utility-service-example1" width="494" height="200" class="size-full wp-image-628" /></a><p class="wp-caption-text">SIA BC Utility Service Demo WF</p></div>
<p><!-- style="text-align: center;">SIA BC Utility Service Demo WF</p -->
<p>In the above figure, there is a workflow “Vanilla BS Workflow” which is used to elaborate the use of this BS. In this example, the workflow is made to query on the “Order Entry &#8211; Orders” BC. The BS must be provided with certain input arguments and on the basis of which the query is executed on the mentioned BC and flow is further taken on the basis of the query results. The processing of this workflow can be given step by step as follows:</p>
<p><b>1. Query Records</b> :- This step uses the “SIA BC Utility Service” which is called for executing a query on the BC. This service, in this WF, is used to query on the “Order Entry &#8211; Orders” BC. The arguments provided to the BS are:</p>
<p>Input Arguments:-</p>
<p>i.) Business Component Name :- This argument takes the literal value for the BC on which the query needs to be run. The value provided in this WF is “Order Entry &#8211; Orders”.<br />
ii.) From First :- This argument is mapped with the process property and it executes the query from the first record in the BC. Here, it is mapped with the WF process property “ExecuteQuery” which has the default string set as ‘Y’. This WF process property is to be set as to control the functioning of the BS<br />
iii.) Search Specification :- This argument takes the search specification by which the query will be run. In this WF, the search specification is given as “[Status] &lt;&gt; &#8216;Completed&#8217; AND [Price List] IS NOT NULL AND [Agreement Name] IS NOT NULL”.</p>
<p>Output Arguments:-<br />
i.) Row Id :- This output argument is mapped with the “Siebel Operation Object Id” WF process property that will store the Row Id of the record found in the Query.<br />
ii.) Total :- This output argument is mapped with the “RecFound” WF process property that will store the total number of records found in the query.<br />
iii.) ExecuteQuery:- This output argument has the literal value set to ‘N’ which was ‘Y’ in the input.</p>
<p><b>2. IsRecord?</b> :- This is a decision point which checks the value of “Siebel Operation Object Id” and routes the flow accordingly. This decision point actually checks if the record found in the query. If the record exists, then it moves to the “Set Line Item Status” step otherwise the flow will end.</p>
<p><b>3. Process Records</b> :- We are using a Siebel vanilla Subprocess step to process the data from different fields from each of the records one by one. It could be anything as per the business requirements, eg. sending outbound XMLs through B2B.</p>
<p>Input Arguments:-</p>
<p>i.) Header Id (example) :- This argument takes the value from the “Siebel Operation Object Id” and on the basis of this, the status will be set on the corresponding line item according to the code in the BS.</p>
<p>And, also many other field values from step (1) as per the business requirement.</p>
<p>Output Arguments:-</p>
<p>i.) Message :- This is an output argument that gives the error message that occurs in the BS. It is mapped with the “Error Message” process property of the WF.</p>
<p><b>4. Error Handling: Subprocess</b> :- This is a subprocess which is called to catch an exception and to log the error in the “Error Logs” BC. The WF steps are connected to this subprocess. This subprocess have the following arguments:-</p>
<p>Input Arguments:-</p>
<p>i.) Error Message:- This argument takes the value from the “Error Message” process property of the WF and on the basis of this, the error will be logged in the custom BC named as “Error Logs” BC.<br />
ii.) WF Name :- This argument takes the literal value of the WF name itself. The value passed in the property is “Vanilla BS Workflow”.</p>
<p>So, in this way, this BS will work. Keep using it!!!!!! <img src='http://geeksbloggingat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/14/siebel-sia-bc-utility-service-invoke-bc-method/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method'>Siebel &#8211; SIA BC Utility Service &#8211; Invoke BC Method</a> <small>I had discussed about the vanilla Business Service, &#8220;SIA BC...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; FINS Industry XML Query Service'>Siebel &#8211; FINS Industry XML Query Service</a> <small>&#8220;Extracting values from a tag deep down in the Hierarchy.&#8221;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Looping multiple records &#8211; Update records</title>
		<link>http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/</link>
		<comments>http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/#comments</comments>
		<pubDate>Mon, 11 May 2009 13:56:51 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=283</guid>
		<description><![CDATA[Hi, We often come across a requirement where we need to loop through multiple records satisfying a certain search spec on a particular BC. Let&#8217;s assume a simple search spec, for eg. to update the Status of all Sales Orders to Submitted which have their Account as &#8220;Nitin Test Account&#8221;. One easy way to do [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>We often come across a requirement where we need to loop through multiple records satisfying a certain search spec on a particular BC.</p>
<p>Let&#8217;s assume a simple search spec, for eg. to update the Status of all Sales Orders to Submitted which have their Account as &#8220;Nitin Test Account&#8221;.</p>
<p><span id="more-283"></span>One easy way to do it through Siebel scripts is maybe a pseudocode as follows:</p>
<p>var bo_Order = TheApplication().GetBusObject ( &#8220;Order Entry (Sales)&#8221; );<br />
var bc_Order = bo_Order.GetBusComp ( &#8220;Order Entry &#8211; Orders&#8221; );</p>
<p>with (bc_Order)<br />
{<br />
ClearToQuery();<br />
SetViewMode(AllView);<br />
ActivateField ( &#8220;Status&#8221; );<br />
SetSearchSpec ( &#8220;Account&#8221;, &#8220;Nitin Test Account&#8221; );<br />
ExecuteQuery ( ForwardOnly );</p>
<p>var IsRecord = FirstRecord();</p>
<p>while (IsRecord)<br />
	{<br />
	SetFieldValue ( &#8220;Status&#8221;, &#8220;Submitted&#8221; );<br />
	IsRecord = NextRecord();<br />
	}<br />
}<br />
return (CancelOperation);</p>
<p>Or, a more elegant approach which I personally prefer for the above solution, use a workflow. Use the step Siebel Operation.<br />
The Siebel Operation, Update operation, will automatically update all the records satisfying that particular Search Spec fed in as Input.</p>
<p>One line solution to nearly 10-15 lines of script!</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/12/siebel-looping-multiple-records-query-and-process/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Query and Process'>Siebel &#8211; Looping multiple records &#8211; Query and Process</a> <small>In my last post, I discussed as to how we...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/08/siebel-looping-multiple-records-iii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping Multiple Records &#8211; III'>Siebel &#8211; Looping Multiple Records &#8211; III</a> <small>Looping through multiple records is a requirement we come across...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2010/04/07/eai-siebel-adapter-bs-upsert-multiple-child-records/' rel='bookmark' title='Permanent Link: EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records'>EAI Siebel Adapter BS &#8211; Upsert Multiple Child Records</a> <small>EAI Siebel Adapter finds its usage in almost all integration...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; EAI Queue &#8211; a Critique&#8217;</title>
		<link>http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/</link>
		<comments>http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/#comments</comments>
		<pubDate>Mon, 04 May 2009 13:38:40 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Critique]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=220</guid>
		<description><![CDATA[I had introduced the Siebel EAI Queue and its usage in my last articles. Though Siebel EAI Queue is a very good Siebel feature, there are some serious shortcomings as well. An architect would, thus, need to critically evaluate all the pros and cons before deciding to implement the OOB EAI Queue or a custom [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/10/07/query-on-the-long-column-or-field/' rel='bookmark' title='Permanent Link: Query on the Long Column or Field'>Query on the Long Column or Field</a> <small>A typical problem in any EAI project. Others too!! One...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/05/eai-jms-transport/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI JMS Transport'>Siebel &#8211; EAI JMS Transport</a> <small>Hi All, After being a mere spectator and a regular...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I had introduced the Siebel EAI Queue and its usage in my last articles. Though Siebel EAI Queue is a very good Siebel feature, there are some serious shortcomings as well. An architect would, thus, need to critically evaluate all the pros and cons before deciding to implement the OOB EAI Queue or a custom solution in a Siebel EAI project.</p>
<p>First let&#8217;s look at all the areas where Siebel EAI Queues stand strong.</p>
<p>1) No customisation needed<br />
This is an OOB fucntionality. So, no custom coding is necessary. The vanilla BS can directly be called from the WF to help operate the EAI Queues. Custom code comes with its own sets of problems &#8211; dedicated human resources, architecting, implementing, testing,  debugging, performance, scalability, expandability, robustness.</p>
<p><span id="more-220"></span>2) Reduced Implementation time<br />
Implementation time is zero for Logging module. The only effort is to call the vanilla BS at all the places where we want to log messages.</p>
<p>3) Almost no debugging needed.<br />
It is a Siebel OOB functionality. So, I can be sure there are no code glitches and resulting mishaps. If something doesn&#8217;t work as it says in the Bookshelf, either my usage is faulty, or it is a Siebel Product Defect</p>
<p>4) Lesser Team size as no concentrated effort on this module of the project.<br />
Why have dedicated human resources working on the Logging and Error Handling mechanism?</p>
<p>5) Robustness<br />
Extremely robust. It works with the file system. So, I don&#8217;t think there is a limit on as to how big a file can be stored here. The BS should ideally not fail unless some Siebel Server component itself is down.</p>
<p>6) Performance<br />
Best performance you can ever get I guess. Mother knows best! If Siebel has designed and developed this, I guess, this is as good as it gets.</p>
<p>Do drop in some comments in case you feel I have not done justice to the positives part, and that there are points that I have missed out on. I will update the post accordingly.</p>
<p>But then, as with everything else on Earth, nothing is perfect. I am looking at a very simple requirement &#8211; I need to point out as to which message is an Inbound message, and which one, and Outbound. How do I implement it with the EAI Queue architecture?</p>
<p>Think, think, think&#8230;</p>
<p>The best I can think of is to extend the corresponding table for the EAI Queue, and the corresponding Business Components. I can also expose them on the UI for better handling. Question &#8211; After extending the Siebel objects, how do I use them. How do I populate this new flag called &#8220;Inbound Message&#8221; for eg, to TRUE or FALSE? The Logging of messages is being done through the vanilla BS. There is no code exposed. Now, if I have to populate this new column, I may be able to do it by scripting the vanilla BS &#8211; &#8220;EAI XML Queuing Service&#8221; after some work with the BS analysing Inputs and Outputs. Maybe, better still, just use a Siebel Operation step after the vanilla BS to update all the custom columns. But then, double query on the same record of the same BC, it&#8217;s a performance issue.</p>
<p>This is only one example when I could need to extend the objects with many different custom columns.</p>
<p>Let&#8217;s start playing! I want to link the Inbound and the Outbound messages. In a sense, there was an Outbound response to an Inbound request to Siebel. We should map which Inbound maps to which Outbound. Else, we may just be drowned in a deluge of messages. More custom columns, Siebel Links, MVLs, etc. as a solution to this. Maybe with some effort, it&#8217;s feasible.</p>
<p>I want to store many different types of files and many different types of messages &#8211; as in Erroneous Messages, Error Messages, Log Messages. More extensions.</p>
<p>Generally, all projects have a retry mechanism for all the erronous messages. I have seen SAP Business Services being integrated directly with Siebel EAI Queues. But, for custom queues, customization is the answer I guess.</p>
<p>With time, lots of useful and non useful data gets cluttered up in the Queue. A custom cleaning-up and archiving mechanism is thus inevitable.</p>
<p>Single most important issue I personally see with the vanilla EAI Queue approach is the fact that it interacts with the Siebel Filesystem and not the Siebel Database! The messages are stored in form of files in the Siebel Filesystem, eventually with the large number of Siebel messages coming in, the valuable hard disk space will be cluttered quickly. The Siebel FS size will increase. If there is a Siebel project I am working on, I would not mind having a slightly bigger database. But, unnecassary increase in the Siebel Filesystem is the last thing in the world that I would recommend. Don&#8217;t even get me started on the many of the file handling issues with many different flavours of UNIX in the market. I once ran into an implementation wherein I had to change the complete architecture from File based to DB based because the OS as a limitation could only accept at max 256 open file handles! Ridiculous as it may seem, it entailed many sleepless nights on my part to get everything up and woring within a week without any glitches &#8211; just can&#8217;t forget those!</p>
<p>All in all, my point of view is that, though you may use this implementation as an immediate quick fix, or a nice to have feature, Siebel EAI Queues feature fares horrendously on the Scalability and Expandability front.</p>
<p>If you are willing to play around with Siebel vanilla objects and extend them to suit you requirement no end, this may just be the solution for you. However, please do a deep insight and analysis of your requirements and other available options (basically custom, I guess) to get over this. It is more of an Analysts&#8217; point of view to go with either of the two approaches.</p>
<p>Let me see if I can rope in somebody to explain in detail a nice custom Logging, Error Handling, Retry and clean-up / archiving mechanism.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/10/07/query-on-the-long-column-or-field/' rel='bookmark' title='Permanent Link: Query on the Long Column or Field'>Query on the Long Column or Field</a> <small>A typical problem in any EAI project. Others too!! One...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/05/eai-jms-transport/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI JMS Transport'>Siebel &#8211; EAI JMS Transport</a> <small>Hi All, After being a mere spectator and a regular...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; EAI Queue &#8211; Usage</title>
		<link>http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/</link>
		<comments>http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/#comments</comments>
		<pubDate>Sun, 03 May 2009 17:03:54 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=202</guid>
		<description><![CDATA[I had introduced the concept of Siebel EAI Queues in my last post. You can read it here. Today, I would discuss its usage, as to how we can use it in our implementations. A simple &#8216;About View&#8217; of the EAI Queue screen shows us that the two applets are based on the following - [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; a Critique&#8217;'>Siebel &#8211; EAI Queue &#8211; a Critique&#8217;</a> <small>I had introduced the Siebel EAI Queue and its usage...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/15/siebel-getmilliseconds-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; getMilliseconds() usage'>Siebel &#8211; getMilliseconds() usage</a> <small>Siebel by default displays all dates in the system accurate...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I had introduced the concept of Siebel EAI Queues in my last post. You can read it <a href="http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/" target="_blank">here</a>.</p>
<p>Today, I would discuss its usage, as to how we can use it in our implementations.</p>
<p>A simple &#8216;About View&#8217; of the EAI Queue screen shows us that the two applets are based on the following -</p>
<table>
<tr>
<td width="150">Business Component</td>
<td width="150">Table</td>
</tr>
<tr>
<td width="150">EAI Queue</td>
<td width="150">S_EAI_QUEUE</td>
</tr>
<tr>
<td width="150">EAI Queue Item </td>
<td width="150">S_EAI_QUEUE_ITM</td>
</tr>
<tr></tr>
<tr></tr>
</table>
<p><span id="more-202"></span>The usage of these Siebel EAI Queues is through the vanilla Business Service, &#8220;EAI XML Queuing Service&#8221;. The various self explanatory methods on this Business Service are:<br />
AddMessage &#8211; Add message to the EAI Queue<br />
DeleteMessage &#8211; Delete message from the EAI Queue<br />
GetMessage &#8211; Retrieve a message from the EAI Queue<br />
UpdateStatus &#8211; Update the status of an existind message on the queue<br />
GetStatus &#8211; Get the Status of a particular message on the queue. The messages supported OOB are &#8211; Confirmed, Error in Processing, Error in Sending, Initial, Processed, Sent</p>
<p>I will try to demonstrate the usage through a TEST queue.</p>
<p>Navigate to the screen Administration &#8211; Integration -&gt; EAI Queue.<br />
Do a NewRecord with the Queue name of your choice. I gave the name, &#8220;Nitin Test Queue&#8221;.</p>
<p>To use it, I created a simple two step workflow-<br />
<span style="text-decoration: underline;">Step 1:</span><br />
Query step using EAI Siebel Adapter. I made a simple query on Order Header. This returned a SiebelMessage.</p>
<p><span style="text-decoration: underline;">Step 2:</span><br />
Use the Business Service, &#8220;EAI XML Queuing Service&#8221;, method &#8220;AddMessage&#8221;.<br />
Input Paramters:<br />
QueueName Nitin Test Queue<br />
ReferenceID Dummy-01<br />
SiebelMessage<br />
Status Initial</p>
<p>You will notice that a new record will be created on the EAI Queue screen. I noticed that Siebel uses the Windows temp directory as a temporary storage area. The working is something similar to the way Siebel handles the Attachments. Siebel creates separate attachment files in the Siebel Filesystem and exposes that through an interface. Siebel will autogenerate a Sequence Number everytime a new message is inserted into the EAI Queue.</p>
<p>Voila! No need for any customization. I have a ready made OOB solution which is scalable, robust and can be used for for Logging and Error Handling purposes. The best part is, I got it up and working in say about 5-10 minutes. Any other custom architecture could possibly take 2-3 resources working on it maybe for Weeks, if not months. They could be covering phases like conceptualizing, architecting, prototyping, implementing, testing, embedding in our flows, testing again, etc. However, a custom architecture comes with its own set of pros and cons. This may not just be the best of solutions after all. Stay tuned for my critique on EAI Queues..</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue'>Siebel &#8211; EAI Queue</a> <small>Okay, what are you thinking about? Is it Middlewares in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; a Critique&#8217;'>Siebel &#8211; EAI Queue &#8211; a Critique&#8217;</a> <small>I had introduced the Siebel EAI Queue and its usage...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/15/siebel-getmilliseconds-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; getMilliseconds() usage'>Siebel &#8211; getMilliseconds() usage</a> <small>Siebel by default displays all dates in the system accurate...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; EAI Queue</title>
		<link>http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/</link>
		<comments>http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/#comments</comments>
		<pubDate>Fri, 01 May 2009 18:26:31 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=196</guid>
		<description><![CDATA[Okay, what are you thinking about? Is it Middlewares in EAI with their queue managers and queues? No, those are not the ones I am talking about. Every EAI professional knows about those. Siebel provides an Out of the Box Message Logging mechanism for Siebel EAI messages. This is done through a Siebel feature called [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; a Critique&#8217;'>Siebel &#8211; EAI Queue &#8211; a Critique&#8217;</a> <small>I had introduced the Siebel EAI Queue and its usage...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Okay, what are you thinking about? Is it Middlewares in EAI with their queue managers and queues? No, those are not the ones I am talking about. Every EAI professional knows about those. </p>
<p>Siebel provides an Out of the Box Message Logging mechanism for Siebel EAI messages. This is done through a Siebel feature called &#8216;EAI Queue&#8217; which I would be discussing in detail in this article.</p>
<p>I have tried to provide a basic idea about message interchange in EAI in my last post. You can read it by <a href="http://geeksbloggingat.com/2009/04/30/a-meeting-with-siebel-eai/" target="_blank">clicking here</a>.</p>
<p><span id="more-196"></span>Let&#8217;s consider a typical EAI scenario wherein we are exchanging data between two different systems. Assume the format of message interchange to be XML.<br />
Point to point contacts risk losing the data, or overheads in case the other system is down. Generally, the robust and stable Middlewares are used as a solution to this problem, one of them being the IBM MQ Series. However, sitting at Siebel end, we always need to have a Logging mechanism which will log all the inbound and outbound messages in Siebel. Generally, this always calls for a lot of overhead in every implementation if you go in for a custom approach. Custom tables, BCs, BOs, Applets, Access controls of these logs, Business Services to log and see, testing, defect fixing, etc. need to be created and maintained.</p>
<p>This is a perfect scenario for usage of EAI Queue feature. To view this in action, navigate to the screen Administration &#8211; Integration -> EAI Queue. Please note that you may need special licenses to have this feature enabled in your installation.</p>
<p>In this screen, you would see all Siebel queues listed in the top applet. Some of the vanilla queues you can see and test out on Sample DB installation are:</p>
<ul>
tRFC Outbound to SAP<br />
tRFC Inbound from SAP<br />
HA Upgrade Receiver Log Queue<br />
S2S Outbound Sub-Process Log Queue<br />
and many more..</ul>
<p>
In the bottom applet, you would see all the messages which have been placed corresponding to the record in the top applet. Every record stored here will have a new record corresponding to it. Following message details are stored:</p>
<ul>
Sequence #<br />
Reference Id<br />
Status<br />
Queued Timestamp<br />
Comments<br />
Attachment Name<br />
Message File Size</ul>
<p>As you can see, this covers most of the functionality that you would ever come across to log messages. This is a complete OOB feature which would eliminate large scale customizations, and thus, would save large scale project time and resources to a great extent. If need be, we can always go in for some customizations to this to suit the corresponding project requirements.</p>
<p>We have discovered and viewed the details of Siebel&#8217;s own EAI Queues in this article. In my next post, I will cover the usage of this feature in Siebel as to how it can be incorporated in your Siebel architecture in your implementation.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; a Critique&#8217;'>Siebel &#8211; EAI Queue &#8211; a Critique&#8217;</a> <small>I had introduced the Siebel EAI Queue and its usage...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/' rel='bookmark' title='Permanent Link: Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages'>Siebel &#8211; EnableServiceArgTracing &#8211; Logging Messages</a> <small>Hi, We have already discussed at quite a length the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/13/siebel-sia-bc-utility-service-loop-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records'>Siebel &#8211; SIA BC Utility Service &#8211; Loop multiple records</a> <small>This is a vanilla business service which provides an extensive...</small></li>
<li><a href='http://geeksbloggingat.com/2009/08/13/siebel-symbolic-strings-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; Symbolic Strings &#8211; Usage'>Siebel &#8211; Symbolic Strings &#8211; Usage</a> <small>Symbolic Strings appear directly in Siebel Tools&#8217; Object Explorer, an...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; HTML Code displayed in Error Message</title>
		<link>http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/</link>
		<comments>http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 03:45:13 +0000</pubDate>
		<dc:creator>Madhvi Arora</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[User Property]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=119</guid>
		<description><![CDATA[There was a requirement in our project to make Account Field required in Quote entity conditionally. I have already discussed the solution to this and to show the red asterisk in my previous posts below: Making a field conditionally required Showing * on a conditionally required field When user was creating record from list applet [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make a field Required, conditionally'>Siebel &#8211; Make a field Required, conditionally</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/28/siebel-autosave-opportunity-data-sample-code/' rel='bookmark' title='Permanent Link: Siebel &#8211; Autosave Opportunity data &#8211; Sample Code'>Siebel &#8211; Autosave Opportunity data &#8211; Sample Code</a> <small>This is a follow up post on my previous post,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There was a requirement in our project to make Account Field required in Quote entity conditionally. I have already discussed the solution to this and to show the red asterisk in my previous posts below:</p>
<p><a href="http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/">Making a field conditionally required</a><br />
<a href="http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/">Showing <font color="red">*</font> on a conditionally required field</a></p>
<p>When user was creating record from list applet and on saving the record he got the right message as “Account is a required field”.<br />
But to our surprise, when record was being created from form applet and now if the user saves the record, he got the following message.. </p>
<p><span id="more-119"></span><i>img src=&#8221;images/icon_req.gif&#8221; alt=&#8221;Code Validated&#8221; border=&#8221;0&#8243; space=&#8221;0&#8243; hspace=&#8221;0&#8243;>Account is a required field.</i> </p>
<p>We always thought that required field message is displayed with the name of the field which is in the BC. But after getting this message, it made me think that this error message takes the reference of the caption for the field in the applet. </p>
<p>This is the expected Siebel behavior to show the full caption of the field that is set to require so if the caption is different than the field name the user will be notified about the field name they see through the user interface.<br />
The workaround to our problem was to either use scripting or do some configuration.<br />
Using scripting was not a good idea, so I used configuration and it worked.</p>
<p>I followed following configuration steps which are described below:<br />
(Note: This is for the case for form applet which uses Grid Layout)</p>
<p>1. Remove caption from the control for the field which is needed to be required.<br />
2. Create a new record in Control in that applet with HTML Type as Label with just the html in the  caption to show the asterisk with the name.eg. <i>img src=&#8221;images/icon_req.gif&#8221; alt=&#8221;Code Validated&#8221; border=&#8221;0&#8243; space=&#8221;0&#8243; hspace=&#8221;0&#8243;>Account</img>.</i><br />
3. Place this next to the label of the required field so the required field does not need the html in the caption property</p>
<p>Then when the error is displayed you will not need to worry about the html because it&#8217;s in a different control.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make a field Required, conditionally'>Siebel &#8211; Make a field Required, conditionally</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/28/siebel-autosave-opportunity-data-sample-code/' rel='bookmark' title='Permanent Link: Siebel &#8211; Autosave Opportunity data &#8211; Sample Code'>Siebel &#8211; Autosave Opportunity data &#8211; Sample Code</a> <small>This is a follow up post on my previous post,...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/06/siebel-custom-applet-title/' rel='bookmark' title='Permanent Link: Siebel &#8211; Custom Applet Title'>Siebel &#8211; Custom Applet Title</a> <small>There is an Applet title on the top of the...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; Make a field Required, conditionally</title>
		<link>http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/</link>
		<comments>http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 10:51:29 +0000</pubDate>
		<dc:creator>Madhvi Arora</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Calculated Function]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[User Property]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=124</guid>
		<description><![CDATA[There was a requirement in our project to make Account Field required in Quote entity conditionally. Had it not been optional, we would have done this by the setting the &#8216;Required&#8217; property to TRUE for the field in the applet. But, then it would not be conditional, and would always be required. So, we used [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/22/siebel-make-mvg-field-required/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required'>Siebel &#8211; Make MVG Field required</a> <small>Siebel supports the concept of Multi Valued Fields, or the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/23/siebel-make-mvg-field-required-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required &#8211; II'>Siebel &#8211; Make MVG Field required &#8211; II</a> <small>Hi friends, This is a follow-up post of the post...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/' rel='bookmark' title='Permanent Link: Siebel &#8211; HTML Code displayed in Error Message'>Siebel &#8211; HTML Code displayed in Error Message</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2010/05/02/siebel-admin-mode-flag/' rel='bookmark' title='Permanent Link: Siebel &#8211; Admin Mode Flag'>Siebel &#8211; Admin Mode Flag</a> <small>In my last project,we had a requirement of Admin Views,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There was a requirement in our project to make Account Field required in Quote entity conditionally. Had it not been optional, we would have done this by the setting the &#8216;Required&#8217; property to TRUE for the field in the applet. But, then it would not be conditional, and would always be required.</p>
<p><span id="more-124"></span>So, we used an BC field level User Property, &#8216;Required&#8217;. We created an expression which conditionally evaluated to TRUE or FALSE as per our requirement, and we used this against the Required User Property.</p>
<p>Thus, we were able to set the field to required successfully. Though this solved our problem initially, it brought with itself another set of problems which I will discuss in the posts to come.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/04/23/siebel-showing-red-asterisk-on-a-conditional-required-field/' rel='bookmark' title='Permanent Link: Siebel &#8211; Showing red asterisk on a conditionally required field'>Siebel &#8211; Showing red asterisk on a conditionally required field</a> <small>In Siebel vanilla Application, we see a red asterisk (...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/22/siebel-make-mvg-field-required/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required'>Siebel &#8211; Make MVG Field required</a> <small>Siebel supports the concept of Multi Valued Fields, or the...</small></li>
<li><a href='http://geeksbloggingat.com/2009/06/23/siebel-make-mvg-field-required-ii/' rel='bookmark' title='Permanent Link: Siebel &#8211; Make MVG Field required &#8211; II'>Siebel &#8211; Make MVG Field required &#8211; II</a> <small>Hi friends, This is a follow-up post of the post...</small></li>
<li><a href='http://geeksbloggingat.com/2009/04/24/html-code-in-error-message/' rel='bookmark' title='Permanent Link: Siebel &#8211; HTML Code displayed in Error Message'>Siebel &#8211; HTML Code displayed in Error Message</a> <small>There was a requirement in our project to make Account...</small></li>
<li><a href='http://geeksbloggingat.com/2010/05/02/siebel-admin-mode-flag/' rel='bookmark' title='Permanent Link: Siebel &#8211; Admin Mode Flag'>Siebel &#8211; Admin Mode Flag</a> <small>In my last project,we had a requirement of Admin Views,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/04/22/siebel-make-a-field-require-conditionally/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Siebel &#8211; LookUpName() and LookUpValue()</title>
		<link>http://geeksbloggingat.com/2009/04/17/siebel-lookupname-and-lookupvalue/</link>
		<comments>http://geeksbloggingat.com/2009/04/17/siebel-lookupname-and-lookupvalue/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 03:47:21 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Calculated Function]]></category>
		<category><![CDATA[eScript]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=66</guid>
		<description><![CDATA[Hi all, I was working for a multi lingual implementation recently. This means, the Status on the Order Header was in English if the language selection of logged in user was English, and in Swedish if the language of the logged in user was Swedish. I came across this problem that at times when the [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/06/24/siebel-lov-number-limitation/' rel='bookmark' title='Permanent Link: Siebel &#8211; LOV Number Limitation'>Siebel &#8211; LOV Number Limitation</a> <small>Siebel List of Values is probably the most commonly used...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>I was working for a multi lingual implementation recently. This means, the Status on the Order Header was in English if the language selection of logged in user was English, and in Swedish if the language of the logged in user was Swedish.</p>
<p>I came across this problem that at times when the user invoked my custom method on the Orders screen by clicking a button, the Order Status value was passed in his native language &#8211; English (ENU) or Swedish (SVE). </p>
<p><span id="more-66"></span><br />
The requirement was to<br />
1) read the existing status,<br />
2) do some processing based on as to what the status was, and<br />
3) then reset the Order Status to some new value.</p>
<p>The setting of the Status (3) was not a major issue, as I directly used LookUpValue() function for that which is used very commonly in the Siebel community. </p>
<p>The LookUpValue() function in Siebel queries the S_LST_OF_VAL table in Siebel DB with a combination of TYPE and the LIC (Language Independent Code), and returns the Display Value of that particular LOV.</p>
<p>Step (2) was also not a major issue, achieved through custom workflows.</p>
<p>However, when reading the value in the step (1) to do some processing, it became difficult. The problem was that the Status field could return either of the Swedish or the English value when invoking the custom workflow in step (2). The only option that seemed to be working at the moment was to hard code the values from both the languages, both ENU and SVE. I felt this as a very bad solution. That is when I came across this vanilla Siebel function called LookUpName() which in principle works exactly opposite to LookUpValue().</p>
<p>The function LookUpName() queries on S_LST_OF_VAL table with a combination of TYPE and Display Value (or LIC Code too) and returns the LIC Code in return. This meant, I need not hard code the Order status values in my workflow processing in step (2) for branching. I just started running a LookUpName() on the Order Status received in the beginning, which returned me the LIC code corresponding to that Status. </p>
<p>This LIC code is Language Independent and thus, same in all languages. Thus, I can now do all branching in my custom workflow based on only one LIC code value, and thus it becomes much cleaner! </p>
<p>This also had an added advantage that if the client (CRM owner) decides to implement more languages to this multilingual application, he just needs to apply the corresponding language pack. No changes to script or Workflows are needed.</p>
<p>Please note that I did this using Workflow Output step which meant no Scripting was needed.</p>
<p>Thus, my problem was resolved.</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/06/24/siebel-lov-number-limitation/' rel='bookmark' title='Permanent Link: Siebel &#8211; LOV Number Limitation'>Siebel &#8211; LOV Number Limitation</a> <small>Siebel List of Values is probably the most commonly used...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2010/03/20/siebelsis-om-pmt-service/' rel='bookmark' title='Permanent Link: Siebel &#8211; SIS OM PMT Service'>Siebel &#8211; SIS OM PMT Service</a> <small>There are lots of vanilla business services available in Siebel...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/09/siebel-eai-siebel-adapter-looping-multiple-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records'>Siebel &#8211; EAI Siebel Adapter &#8211; Looping Multiple Records</a> <small>This is a follow-up post on the post, Siebel &#8211;...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/' rel='bookmark' title='Permanent Link: Siebel &#8211; EAI Queue &#8211; Usage'>Siebel &#8211; EAI Queue &#8211; Usage</a> <small>I had introduced the concept of Siebel EAI Queues in...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/04/17/siebel-lookupname-and-lookupvalue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siebel Assets List view &#8211; Performance issue / Cannot display records</title>
		<link>http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/</link>
		<comments>http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 08:00:57 +0000</pubDate>
		<dc:creator>Himanshu Bajpai</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Scriptless solutions]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[User Property]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=15</guid>
		<description><![CDATA[Assets Screen Load is a major problem in Siebel, and a major pain area for the concerned developer.
Here I present one solution that we implemented to get over this problem.


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2010/05/17/siebel-admin-mode-flag-ii-issue-log/' rel='bookmark' title='Permanent Link: Siebel Admin Mode Flag &#8211; II &#8211; Issue Log'>Siebel Admin Mode Flag &#8211; II &#8211; Issue Log</a> <small>In the last post I described about Admin Mode Flag....</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2011/08/31/login-failed-in-dedicated-web-client-mvf-issue/' rel='bookmark' title='Permanent Link: Login Failed in Dedicated Web Client : MVF Issue'>Login Failed in Dedicated Web Client : MVF Issue</a> <small>Recently I have met with the Problem in form of...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Assets Screen Load is a major problem in Siebel, and a major pain area for the concerned developer. I am sure many of you would have come across it in one implementation or the other.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">If there are more than 10,000 records in Assets screen, vanilla Siebel Application will not load the screen.</span></span></p>
<p><span id="more-15"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Application will hang for some time and after that it will show an error message similar to the following -</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><em style="mso-bidi-font-style: normal;"><span style="font-size: small;"><span style="font-family: Calibri;">“There were more rows returned than can be shown on the screen. Please ask the System Administrator for support.”</span></span></em></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;"> </span><span style="font-size: small;"><span style="font-family: Calibri;">In a typical CRM software, Order Management cycle, we start from an opportunity, and proceed to Quote, Order and finally a billable Asset in that Order. Then Asset to Opportunity, and the cycle repeats itself.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Assets are end results and in all probability, Assets are in million of numbers. </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">The problem being discussed is that the user has to see All Assets or some cases At least All Asset headers.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: small;"><span style="font-family: Calibri;">Approach 1-</span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">If User can restrict his search, we can go in for a PDQ that return lesser number of records (&lt;10000). This will ensure at least the first load is quick. However, on Blank Query it will again return the same error described above.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: small;"><span style="font-family: Calibri;">Approach 2 (Preferred Approach) -</span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">So, if the developer needs a permanent solution to this problem, he can follow the steps below to show millions of assets without any error-</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Login Siebel Tools&gt;</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Query for Asset Mgmt &#8211; Asset List Applet Applet.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">Go To Applet User prop&gt;search for “Disable Buscomp Hierarchy”.If it is set to “FALSE”, make it “TRUE”. <span style="mso-spacerun: yes;"> </span>After compilation Assets screen will show millions of records without any error. Voila! Problem solved.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;">This property would be even more helpful for performance if used to show Asset Headers Only.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small; font-family: Calibri;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 10pt;"><span style="font-size: small;"><span style="font-family: Calibri;"><br />
<em>Please put in your comments. Feel free to add your solution, in case you have come across a different one.</em><br />
</span></span></p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2010/05/17/siebel-admin-mode-flag-ii-issue-log/' rel='bookmark' title='Permanent Link: Siebel Admin Mode Flag &#8211; II &#8211; Issue Log'>Siebel Admin Mode Flag &#8211; II &#8211; Issue Log</a> <small>In the last post I described about Admin Mode Flag....</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/08/siebel-number-of-rows-displayed-in-list-applet/' rel='bookmark' title='Permanent Link: Siebel &#8211; Number of rows displayed in List Applet'>Siebel &#8211; Number of rows displayed in List Applet</a> <small>Siebel Web Client by default shows only the first 7...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/11/siebel-looping-multiple-records-update-records/' rel='bookmark' title='Permanent Link: Siebel &#8211; Looping multiple records &#8211; Update records'>Siebel &#8211; Looping multiple records &#8211; Update records</a> <small>Hi, We often come across a requirement where we need...</small></li>
<li><a href='http://geeksbloggingat.com/2011/08/31/login-failed-in-dedicated-web-client-mvf-issue/' rel='bookmark' title='Permanent Link: Login Failed in Dedicated Web Client : MVF Issue'>Login Failed in Dedicated Web Client : MVF Issue</a> <small>Recently I have met with the Problem in form of...</small></li>
<li><a href='http://geeksbloggingat.com/2009/07/22/siebel-fetch-active-view-properties/' rel='bookmark' title='Permanent Link: Siebel &#8211; Fetch Active view properties'>Siebel &#8211; Fetch Active view properties</a> <small>Hi, Working on a typical requirement recently, I came across...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/04/14/siebel-assets-list-view-performance-issue-cannot-display-records/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

