<?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; workflows</title>
	<atom:link href="http://geeksbloggingat.com/topics/workflows/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; 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; 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; EAI Siebel Adapter Search Spec</title>
		<link>http://geeksbloggingat.com/2009/06/08/siebel-eai-siebel-adapter-search-spec/</link>
		<comments>http://geeksbloggingat.com/2009/06/08/siebel-eai-siebel-adapter-search-spec/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 07:43:14 +0000</pubDate>
		<dc:creator>Vikas Luthra</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Workarounds]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=431</guid>
		<description><![CDATA[Hi, I can bet that for anybody who has worked on Siebel EAI, &#8216;EAI Siebel Adapter&#8217; is not an Alien term. This post is about EAI Siebel Adapter&#8217;s Query method. How to restrict the number of Child records returned in Siebel adapter&#8217;s Query. Scenario &#8211; Order and related Order Line Items The way EAI Siebel [...]


<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/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>
<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/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/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>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I can bet that for anybody who has worked on Siebel EAI, &#8216;EAI Siebel Adapter&#8217; is not an Alien term. This post is about EAI Siebel Adapter&#8217;s Query method.</p>
<p>How to restrict the number of Child records returned in Siebel adapter&#8217;s Query.</p>
<p>Scenario &#8211; Order and related Order Line Items</p>
<p><span id="more-431"></span>The way EAI Siebel Adapter&#8217;s Query method works is that, you specify the name of the IO in &#8216;OutputIntObjectName&#8217; argument and row id of the parent record in &#8216;PrimaryRowId&#8217; argument. However this way the query method will fetch all the Line Items for that Order.</p>
<p>So here, to restrict the number of Line Items returned (at the child Line Item level) in the EAI Siebel Adapter Query, we can use another input argument of Query method, which is &#8216;SearchSpec&#8217;.</p>
<p>The value for the &#8216;SearchSpec&#8217; argument is an expression based on any field from the IC&#8217;s of the integration Object, with the dot notation. Not all of us would know that we can use it to restrict the number of child records returned.</p>
<p>Sample Expression: [Order Entry - Line Items.Source] = &#8216;Testing&#8217;</p>
<p>This expression means only the line itemitems where the field &#8216;Source&#8217; of  &#8216;Order Entry &#8211; Line Items&#8217; BC has value &#8216;Testing&#8217;, will be retrieved  in the output Siebel Message.</p>
<p>Just creating the expression for the &#8216;SearchSpec&#8217; argument is a trick here.</p>
<p>In our requirement the user can select multiple line items, say out of 14 line items he has selected only 5 and clicks on &#8216;Sync Selected&#8217; button. Now we have to create an expression based on selected line items and then pass it as a process property to the workflow where we are using the Siebel Adapter. The sample script for creating expression is pasted below:-</p>
<p>(Note: Here the variable SearchSp is an expression string which will be passed as an input to the workflow)</p>
<p>RecExists = this.BusComp().FirstSelected();<br />
      while (RecExists)<br />
        {<br />
         rec[i] = this.BusComp().GetFieldValue(&#8220;Id&#8221;);<br />
          RecExists = this.BusComp().NextSelected();<br />
            i++;<br />
           }<br />
           SearchSp = &#8220;[Order Entry - Line Items.Id]=&#8217;&#8221; + selrec[0] + &#8220;&#8216;&#8221;;<br />
         <br />
           for(x = 1; x &lt; selrec.length; x++)<br />
           {<br />
            SearchSp = SearchSp + &#8221; OR &#8221; + &#8220;[Order Entry - Line Items.Id]=&#8217;&#8221; + selrec[x] + &#8220;&#8216;&#8221;;<br />
           <br />
           }</p>
<p>That&#8217;s it! We hope this helps somebody someday.</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/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>
<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/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/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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/06/08/siebel-eai-siebel-adapter-search-spec/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XPath Expressions in XML &#8211; Part I</title>
		<link>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/</link>
		<comments>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 05:28:21 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[EAI]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=410</guid>
		<description><![CDATA[This post has a broad focus, not just Siebel CRM. I have briefly alluded to the XML structures in EAI in some of my previous posts: A meeting with Siebel EAI FINS Industry XML Query Service One of the interesting things that came out of the feedback was parsing the XML and the XPath expressions. [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/' rel='bookmark' title='Permanent Link: Siebel &#8211; Left, Right and from the Middle'>Siebel &#8211; Left, Right and from the Middle</a> <small>Extracting a sub string from a lengthy string in Siebel....</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>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This post has a broad focus, not just Siebel CRM. I have briefly alluded to the XML structures in EAI in some of my previous posts:<br />
<a href="http://geeksbloggingat.com/2009/04/30/a-meeting-with-siebel-eai/" target="_blank">A meeting with Siebel EAI</a><br />
<a href="http://geeksbloggingat.com/2009/05/31/siebel-fins-industry-xml-query-service/" target="_blank">FINS Industry XML Query Service</a></p>
<p>One of the interesting things that came out of the feedback was parsing the XML and the XPath expressions. This is exactly what I will be covering in my blog post today.</p>
<p>The XPath defines the path, or the way that you parse/read/traverse through an XML. The concept is generic in nature. However, Siebel in itself has some limitations in the way that it handles these expressions. I will try to cover both these scenarios here. I will take the following small XML Snippet as an example for better understanding of the same. One of the best ways to understanding this is to refer this structure of the XML is a popular XML Editor like Internet Explorer, Oxygen Editor, Editplus, Altova XML Spy (I like this the best), or any other supported browser.</p>
<p><span id="more-410"></span>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;snackbar&gt;<br />
&nbsp;&nbsp;&lt;fastfood&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;name id=&#8221;10&#8243;&gt;burger&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;price&gt;10&lt;/price&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;calories&gt;1000&lt;/calories&gt;<br />
&nbsp;&nbsp;&lt;/fastfood&gt;<br />
&nbsp;&nbsp;&lt;drink&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;name id=&#8221;20&#8243;&gt;pepsi&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;price&gt;5&lt;/price&gt;<br />
&nbsp;&nbsp;&lt;/drink&gt;<br />
&lt;/snackbar&gt;</p>
<p>Following is the terminology that I will be using:<br />
roottag:                                snackbar<br />
childtag:                               fastfood<br />
grandchildtag:                        name, price<br />
attribute:                              id (this is the attribute of the grandchild element in the XML)</p>
<p>The line on the top (&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;) defines that the structure is of an XML, and helps the browser parse it. One of the best ways to validate a valid XML is to try and open it in a web browser like Internet Explorer. In case of any discrepancies, the document will throw an error and will not open in the Browser.</p>
<p>Following are some of the common XPath expressions:<br />
/     forward slash &#8211; used to differentiate between parent and child tags one level deep<br />
//    two forward slashes &#8211; indicate searches anywhere in the XML, typically more than one level deep<br />
./    indicates the currect XML document passed an input.<br />
.//   indicates the need to search multiple levels deep in the document<br />
@     indicates the attribute to a particular tag<br />
*     wildcard character to match any tag/element in the XML</p>
<p>Using the above table, if for eg. I need to retrieve the value in the name tag for burger object, I would build the expression as:<br />
./snackbar/fastfood/name</p>
<p>Similarly, for getting the price of &#8216;pepsi&#8217;, I would write:<br />
./snackbar/drink/price</p>
<p>&#8216;Calories&#8217; tag appears just once in the structure, so I can directly use double slashes to retrieve the value &#8217;1000&#8242;:<br />
.//calories</p>
<p>To retrieve the value of the attribute for the name &#8216;pepsi&#8217;, I could use:<br />
./snackbar/drink/name/@id</p>
<p>Note: It has been noted that in case a particular tag does not have a value, instead of returning NULL, in some cases Siebel returns the whitespace character, &#8216; &#8216;.</p>
<p>There is more to this. However, what I have covered above are the only ones I have seen working in Siebel successfully.<br />
I have split this blog into parts because of the length. Part II of this article will follow.<!--subscribe2--></p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/08/12/siebel-left-right-and-from-the-middle/' rel='bookmark' title='Permanent Link: Siebel &#8211; Left, Right and from the Middle'>Siebel &#8211; Left, Right and from the Middle</a> <small>Extracting a sub string from a lengthy string in Siebel....</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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geeksbloggingat.com/2009/06/03/xpath-expressions-in-xml-part-1/feed/</wfw:commentRss>
		<slash:comments>4</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; EnableServiceArgTracing &#8211; Logging Messages</title>
		<link>http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/</link>
		<comments>http://geeksbloggingat.com/2009/05/26/siebel-enableserviceargtracing-logging-messages/#comments</comments>
		<pubDate>Tue, 26 May 2009 06:51:54 +0000</pubDate>
		<dc:creator>Nitin Jain</dc:creator>
				<category><![CDATA[Siebel CRM]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[CFG file]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[EAI]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[workflows]]></category>

		<guid isPermaLink="false">http://geeksbloggingat.com/?p=369</guid>
		<description><![CDATA[Hi, We have already discussed at quite a length the logging methods, the most prominent of these being the usage of vanilla Siebel EAI Queues. You can read about the entire series through the following links: A meeting with Siebel EAI Siebel &#8211; EAI Queue Siebel &#8211; EAI Queue &#8211; Usage Siebel &#8211; EAI Queue [...]


<b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/' rel='bookmark' title='Permanent Link: Siebel &#8211; Enable Detailed Logging &#8211; Local'>Siebel &#8211; Enable Detailed Logging &#8211; Local</a> <small>Very often we come across scenarios wherein the process is...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<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/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,</p>
<p>We have already discussed at quite a length the logging methods, the most prominent of these being the usage of vanilla Siebel EAI Queues. You can read about the entire series through the following links:<br />
<a href="http://geeksbloggingat.com/2009/04/30/a-meeting-with-siebel-eai/" target="_blank">A meeting with Siebel EAI</a><br />
<a href="http://geeksbloggingat.com/2009/05/01/siebel-eai-queue/" target="_blank">Siebel &#8211; EAI Queue</a><br />
<a href="http://geeksbloggingat.com/2009/05/03/siebel-eai-queue-usage/" target="_blank">Siebel &#8211; EAI Queue &#8211; Usage</a><br />
<a href="http://geeksbloggingat.com/2009/05/04/siebel-eai-queue-a-critique/" target="_blank">Siebel &#8211; EAI Queue &#8211; a Critique’</a></p>
<p>I recently came across another vanilla method (EnableServiceArgTracing) to log the messages. Using this, the various Siebel logs can be created, and the Input and the Output messages to some of the Business Services can be written in XML format to a file. These XML files would appear as Siebel Dump files with a &#8220;.dmp&#8221; extension. These can be read off any standard text reading tool like Notepad, Editplus, Notepad++, etc. This process works with EAI Siebel Adapter and EAI Dispatcher business services.</p>
<p><span id="more-369"></span><b>Usage</b><br />
Read about the detailed Local logging in Siebel <a href="http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/" target="_blank">here</a>.<br />
Set the Siebel SIEBEL_LOG_EVENTS environment variable value to:<br />
	3 &#8211; Input property set as Output in case of Error will be received<br />
	4 &#8211; Both Input and Output property set would be received</p>
<p>Be ready to receive huge Log files in your Siebel Log directory, and exceptionally slow Siebel performance after enabling this. Logs are now being created for every step, so this is all the more logical.</p>
<p>Set the Server parameter, &#8220;EnableServiceArgTracing&#8221; to &#8220;TRUE&#8221;.<br />
In case of dedicated, local, or sample based testing, edit the following sections in the <clientapp>.cfg and set the following:</p>
<p>	[EAISubsys]<br />
	EnableServiceArgTracing = TRUE</p>
<p>Restart Siebel and you are ready to go.</p>
<p>Now, whenever a process is run, it would create logs. Also, in the same directory you would see .dmp, or the Siebel Dump files being created. These are XML files which would have the Input and Output property sets contained. You can open and view these in any text editor.</p>
<p>The names of the files created are in the format:<br />
<BS Name>_input_args_<number>.dmp   OR,<br />
<BS Name>_output_args_<number>.dmp</p>
<p>The main advantage of this method is that it does not require any changes, or switches in the main process to get the debugigng information. So, it is as clean as can be. Also, we can do this easily on any environment, TEST or any other.</p>
<p>The main disadvantage I see with this approach is that it logs Inputs and Outputs of only the EAI Siebel Adapter and the EAI Dispatcher Business Services. More usually, the integration is done using many other services, wherein a proper logging and error handling architecture becomes mandatory. So, I cannot do away with the other fancy stuff I generally incorporate into my architecture for that reason I guess! </p>
<p>I wish Siebel provided an easy way except studying Logs, to know which all Business Services or Workflows were invoked, and what all inputs and outputs were provided, whenever a complex process was invoked. It would make my life so much easier..</p>


<p><b>Related posts:<b><ol><li><a href='http://geeksbloggingat.com/2009/05/25/siebel-enable-detailed-logging-local/' rel='bookmark' title='Permanent Link: Siebel &#8211; Enable Detailed Logging &#8211; Local'>Siebel &#8211; Enable Detailed Logging &#8211; Local</a> <small>Very often we come across scenarios wherein the process is...</small></li>
<li><a href='http://geeksbloggingat.com/2009/05/22/siebel-close-browser-window-when-logging-off/' rel='bookmark' title='Permanent Link: Siebel- Close Browser window when logging off'>Siebel- Close Browser window when logging off</a> <small>In case of standard interactivity applications like eSales , eService,...</small></li>
<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/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/05/26/siebel-enableserviceargtracing-logging-messages/feed/</wfw:commentRss>
		<slash:comments>1</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; 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>
	</channel>
</rss>

