<?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>Notes On Siebel &#187; Integration</title>
	<atom:link href="http://blog.notesonsiebel.com/category/siebel/integration/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.notesonsiebel.com</link>
	<description>Technical advice, help and instruction with Siebel Systems</description>
	<lastBuildDate>Wed, 13 Aug 2008 23:24:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Shell command for Browser Script</title>
		<link>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/</link>
		<comments>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/#comments</comments>
		<pubDate>Mon, 05 May 2008 00:18:00 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=58</guid>
		<description><![CDATA[A question on the Oracle discussion forum last week prompted me to dig out a MetaLink article that I&#8217;ve never noted here. The question was &#8220;How to call a local executable from the browser&#8221;: the answer is to use browser script to instantiate a Windows Scripting Host &#8216;Shell&#8217; ActiveX object, like so:
var objWSH = new [...]]]></description>
			<content:encoded><![CDATA[<p>A question on the Oracle discussion forum <a title="Oracle Discussion Form" href="http://forums.oracle.com/forums/thread.jspa?messageID=2499916&amp;tstart=0#2499916" target="_blank">last week</a> prompted me to dig out a MetaLink article that I&#8217;ve never noted here. The question was &#8220;How to call a local executable from the browser&#8221;: the <a title="MetaLink3 Login required" href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=546014.1&amp;h=Y" target="_blank">answer</a> is to use browser script to instantiate a Windows Scripting Host &#8216;Shell&#8217; ActiveX object, like so:</p>
<p><code>var objWSH = new ActiveXObject("WScript.Shell");</code><br />
<code>objWSH.Run("notepad.exe"); </code></p>
<p>More detail on using the ActiveXObject is available in the post on <a title="Client side DLLS" href="http://blog.notesonsiebel.com/2007/04/17/client-side-dlls/" target="_blank">Client-side DLLS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/05/05/shell-command-for-browser-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phone Number fields in Integration Objects</title>
		<link>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/</link>
		<comments>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 00:16:05 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/?p=56</guid>
		<description><![CDATA[I&#8217;ve mentioned previously that Siebel&#8217;s handling of phone numbers can cause havoc for EAI. The post on  International Phone Formats outlines how Siebel stores phone numbers as a continuous string including the country code (+610298767654), appending a new line and format string to store special formats (+61041234567890&#60;CR&#62;&#60;LF&#62;0000 0000 0000).
This fancy footwork works nicely in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve mentioned previously that Siebel&#8217;s handling of phone numbers can cause havoc for EAI. The post on  <a title="Siebel Phone Formats" href="http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/">International Phone Formats</a> outlines how Siebel stores phone numbers as a continuous string including the country code (<span style="color: #808080;">+610298767654</span>), appending a new line and format string to store special formats (<span style="color: #808080;">+61041234567890<em>&lt;CR</em></span><span style="color: #808080;">&gt;&lt;<em>LF</em>&gt;0000 0000 0000</span>).</p>
<p>This fancy footwork works nicely in the UI, (mostly) displaying numbers in the expected format for the current country. However, imagine a standard Integration Object defined on business component <em>Account</em>, with a component field mapped to the <em>Main Phone Number</em> . Invoke an EAI Siebel Adapter Query for this integration object and the phone number result will be the <strong>database</strong> <strong>value</strong> &#8211; rather awkwardly including that unpleasant format string.</p>
<p>In older versions of Siebel, the only way around this &#8216;feature&#8217; was to pass the integration object through a custom business service, stripping those format strings and rendering the phone number as desired: effectively, re-coding the function that Siebel apply at the UI. This was a pain.</p>
<p>Fortunately, Siebel 7.8 saw the introduction of the Integration Object User Property <strong>UseFormattedValues</strong> to force the EAI Siebel Adapter to use formatted values. If we add this undocumented user property to our <em>Account</em> Integration Object and set the value to <strong>Y</strong>, then the Siebel Adapter uses formatted values and <em>Main Phone Number</em> will contain exactly what you see in the UI. This eases the pain nicely.</p>
<p>If you&#8217;re more familiar with Siebel Scripting, this UseFormattedValues property forces the EAI Adapter to use Get/SetFormattedFieldValue-type requests, rather than Get/SetFieldValue. One restriction is that the User Property can only be applied to the whole Integration Object, not to individual fields &#8211; the property doesn&#8217;t work as an Integration Object Component User Property, nor as an Integration Object Component Field User Property. That&#8217;d be a feature request for future versions&#8230;</p>
<p>MetaLink mentions of UseFormattedValues are sparse, but there is a <a title="MateLink login required" href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=484743.1&amp;h=Y" target="_blank">thin definition</a>, plus a complaint about the inbound <a title="MetaLink login required" href="https://metalink3.oracle.com/od/faces/secure/km/DocumentDisplay.jspx?id=541405.1&amp;h=Y" target="_blank">error handling</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2008/04/29/phone-number-fields-in-integration-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>International Phone Formats</title>
		<link>http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/</link>
		<comments>http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 22:45:40 +0000</pubDate>
		<dc:creator>stuandgravy</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Siebel]]></category>

		<guid isPermaLink="false">http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/</guid>
		<description><![CDATA[Since version 7, Siebel has had a somewhat confusing treatment of international phone numbers: numbers entered in the default format are stored simply with the country code, while numbers entered in any other format have a format string appended after a character return. All phone numbers are then displayed in either the default format or [...]]]></description>
			<content:encoded><![CDATA[<p>Since version 7, Siebel has had a somewhat confusing treatment of international phone numbers: numbers entered in the default format are stored simply with the country code, while numbers entered in any other format have a format string appended after a character return. All phone numbers are then displayed in either the default format <i>or</i> with their specific format string applied. You with me?</p>
<p>To illustrate with some examples&#8230;.</p>
<p>Suppose the following default formats are defined using the PHONE_FORMAT LOVs:</p>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="142"><b>Type</b></td>
<td width="117"><b>Display Value</b></td>
<td width="180"><b>Language-Independent   Code</b></td>
<td width="60"><b>Order</b></td>
</tr>
<tr>
<td width="142">PHONE_FORMAT</td>
<td width="117">(000) 000-0000</td>
<td width="180">(000) 000-0000</td>
<td width="60">1</td>
</tr>
<tr>
<td width="142">PHONE_FORMAT</td>
<td width="117">(00) 0000 0000</td>
<td width="180">(00) 0000 0000</td>
<td width="60">61</td>
</tr>
</table>
<p>The Display Value defines the format for the number, while the Order equates to a country code &#8211; so +1 for US, +61 for AUS.</p>
<p>Now, let&#8217;s assume we&#8217;re running the Siebel Client on an Australian workstation. How do different numbers get treated?</p>
<table border="1" cellpadding="0" cellspacing="0" width="451">
<tr>
<td width="136"><b>User Entered</b></td>
<td width="136"><b>Displayed As</b></td>
<td width="147"><b>Stored As</b></td>
</tr>
<tr>
<td width="136">0298766543</td>
<td width="136">(02) 9876 6543</td>
<td width="147">+610298766543</td>
</tr>
<tr>
<td width="136">(02) 9876 7654</td>
<td width="136">(02) 9876 7654</td>
<td width="147">+610298767654</td>
</tr>
<tr>
<td width="136">+610298768765</td>
<td width="136">(02) 9876 8765</td>
<td width="147">+610298768765</td>
</tr>
<tr>
<td width="136">+61 02 9876 5432</td>
<td width="136">02 9876 5432</td>
<td width="147">+610298765432<br />
00 0000 0000</td>
</tr>
<tr>
<td width="136">0412 3456 7890</td>
<td width="136">0412 3456 7890</td>
<td width="147">+61041234567890<br />
0000 0000 0000</td>
</tr>
<tr>
<td width="136">(0423) 3456-5678</td>
<td width="136">(0423) 3456-5678</td>
<td width="147">+61042334565678<br />
(0000) 0000-0000</td>
</tr>
<tr>
<td width="136">+14321239876</td>
<td width="136">+1(432) 123-9876</td>
<td width="147">4321239876</td>
</tr>
<tr>
<td width="136">+1 432 123 8765</td>
<td width="136">+1(432) 123-8765</td>
<td width="147">4321238765</td>
</tr>
</table>
<p>Essentially, non-American numbers get stored as a continuous string of numbers, including the country code and &#8216;+&#8217; international indicator. If the number is entered in a format that matches the default format, then that&#8217;s it. If the number is entered with a specific format, then this format is appended to the phone number. The separator between the actual phone number and the format string is a character return plus line feed [CHAR(13) || CHAR(10)].</p>
<p>This vanilla behaviour causes all sort of problems with integration &#8211; CTI, EAI, SQL etc &#8211; to the extent that most 7+ implementations I&#8217;ve worked on have ended up with some form of scripting to get around it. I&#8217;ll talk about some of the impacts and workarounds in more detail in future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.notesonsiebel.com/2007/11/13/phone-numbers-and-integration-objects/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
