<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Dk8FR30yeCp7ImA9WhBbGEs.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101</id><updated>2013-05-18T10:13:36.390+02:00</updated><category term="Personal" /><category term="Task UI" /><category term="siebel.exe" /><category term="Performance" /><category term="Notification" /><category term="SQL" /><category term="Rich Enterprise Applications" /><category term="Data Lineage" /><category term="Outlook" /><category term="Runtime Events" /><category term="Google Docs" /><category term="Oracle Public Cloud" /><category term="CAF" /><category term="internet archive" /><category term="Bruce Daley" /><category term="projects" /><category term="Windows" /><category term="OBIEE" /><category term="Fusion Middleware" /><category term="upgrade" /><category term="WebLogic" /><category term="JDeveloper" /><category term="Siebel Query Language" /><category term="Scripting" /><category term="Mei Lin Fung" /><category term="Siebel Tools" /><category term="travel" /><category term="Tom Siebel" /><category term="standard" /><category term="webcast" /><category term="Event Handlers" /><category term="Marketing" /><category term="business analyst" /><category term="app" /><category term="JMS" /><category term="CDI" /><category term="SARM" /><category term="BI Forum" /><category term="Administration Tool" /><category term="blogs" /><category term="Enterprise Manager" /><category term="iHelp" /><category term="rant" /><category term="Quick Fill" /><category term="Bookshelf" /><category term="Open UI" /><category term="Quiz" /><category term="Web Center" /><category term="sample database" /><category term="UPK" /><category term="Loyalty" /><category term="CRM Desktop" /><category term="OOW 2011" /><category term="List of Values" /><category term="Revolution" /><category term="Marketing Segmentation" /><category term="Presentation Table" /><category term="DAC" /><category term="Logging" /><category term="Design" /><category term="Siebel Observer" /><category term="Astronomy" /><category term="Access Control" /><category term="Acquisitions" /><category term="Open Office" /><category term="guest blogger" /><category term="Web service" /><category term="Oracle Business Analytics" /><category term="Symbolic URL" /><category term="Portal Framework" /><category term="iPhone" /><category term="SOD" /><category term="JMX" /><category term="Pricing" /><category term="Fusion Applications" /><category term="Picklist" /><category term="OUI" /><category term="Oracle BI EE" /><category term="Haley" /><category term="Q and A" /><category term="Installation" /><category term="Dashboards" /><category term="BSL" /><category term="OSES" /><category term="Wireless" /><category term="Roadshow" /><category term="Google Maps" /><category term="Quick Print" /><category term="H.U.G." /><category term="Analytics" /><category term="User Properties" /><category term="ETL" /><category term="State Model" /><category term="Patch" /><category term="consoleapp.exe" /><category term="The Siebel Observer" /><category term="OpenWorld" /><category term="Deployment" /><category term="BI Composer" /><category term="UCM" /><category term="Oracle" /><category term="SOA" /><category term="Answers" /><category term="Interview" /><category term="Tutorials" /><category term="Assignment Manager" /><category term="Oracle Cloud" /><category term="Oracle BI Applications" /><category term="General" /><category term="siebel.com" /><category term="Personalization" /><category term="Language" /><category term="start" /><category term="browser" /><category term="Variables" /><category term="siebdev.exe" /><category term="OOW 2010" /><category term="MBeans" /><category term="off topic" /><category term="EAI" /><category term="JSON" /><category term="CRM Composer" /><category term="customization" /><category term="edelivery.oracle.com" /><category term="Base64" /><category term="My Oracle Support" /><category term="OLAP" /><category term="Certification" /><category term="Siebel CRM" /><category term="Endeca" /><category term="Office" /><category term="MDM" /><category term="business service" /><category term="ADM" /><category term="Server" /><category term="Sybase" /><category term="Gadgets" /><category term="Audit Trail" /><category term="Workflow" /><category term="OASIS" /><category term="ADF" /><category term="oc4j" /><category term="Rainer" /><category term="Node Manager" /><category term="BPSL" /><category term="Linux" /><category term="BI Office" /><category term="twitter" /><category term="BI Publisher" /><category term="Hardware" /><category term="IE" /><category term="Oracle VM" /><category term="Training" /><category term="OBIEE 11g" /><category term="Data Quality" /><category term="Books" /><title>Siebel Essentials</title><subtitle type="html">The intention of this blog is to share findings about Oracle applications like Siebel CRM, Oracle Business Intelligence or Fusion Applications from technical and other (sometimes unprecedented) perspectives.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://siebel-essentials.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>603</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/lKUrt" /><feedburner:info uri="blogspot/lkurt" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>blogspot/lKUrt</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DUEFQHc7fyp7ImA9WhBbFkU.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-8411644591821819995</id><published>2013-05-16T09:00:00.000+02:00</published><updated>2013-05-16T09:00:11.907+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-16T09:00:11.907+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><title>Spring Cleaning in Siebel CRM</title><content type="html">In the northern hemisphere, &lt;a href="http://theothersideof55.wordpress.com/2011/04/03/spring-has-sprung/" target="_blank"&gt;spring has sprung&lt;/a&gt;&amp;nbsp;and many people use their renewed energy to clean up their houses and do their gardens.&lt;br /&gt;
&lt;br /&gt;
For the ambitious Siebel administrator, there might be reason to do some spring cleaning as well. In recent discussions with students we found out several functional areas of Siebel CRM where data could pile up over the years.&lt;br /&gt;
&lt;br /&gt;
As a spring cleaning admin you might want to know where to look and clean up those tables. Here is an (incomplete) list of areas which are known to amass records in the number of millions quite easily which could make you look like James T. Kirk in "&lt;a href="http://en.wikipedia.org/wiki/The_Trouble_With_Tribbles" target="_blank"&gt;Trouble with Tribbles&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wFZEcqFX3a0/UYDm_W4IhpI/AAAAAAAAERI/2WpsbDAJ6uQ/s1600/kirk-tribbles.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="234" src="http://1.bp.blogspot.com/-wFZEcqFX3a0/UYDm_W4IhpI/AAAAAAAAERI/2WpsbDAJ6uQ/s320/kirk-tribbles.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Captain Kirk drowning in &lt;strike&gt;data&lt;/strike&gt; tribbles.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;&lt;u&gt;Audit Trail&lt;/u&gt;&lt;/b&gt;: If your company has enabled &lt;a href="http://docs.oracle.com/cd/E14004_01/books/AppsAdmin/AppsAdminAuditTrail.html" target="_blank"&gt;Siebel Audit Trail&lt;/a&gt;&amp;nbsp;for tracking changes to records or even read and export operations, and you have a large amount of those operations and end users or external interfaces it is very likely that huge amounts of data are sitting in the respective tables (&lt;b&gt;&lt;i&gt;S_AUDIT_ITEM&lt;/i&gt;&lt;/b&gt; or &lt;b&gt;&lt;i&gt;S_AUDIT_READ&lt;/i&gt;&lt;/b&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Data Validation Manager&lt;/u&gt;&lt;/b&gt;: While it is quite clear that a feature like Audit Trail tends to accumulate &amp;nbsp;hoardes of data, it is unbeknownst to many that &lt;a href="http://docs.oracle.com/cd/E14004_01/books/OrderMgtInfra/OrdMgtInfraValidation.html" target="_blank"&gt;Data Validation Manager&lt;/a&gt; can do this too. The &lt;a href="http://siebel-essentials.blogspot.com/2010/11/siebel-business-service-library-part-3.html" target="_blank"&gt;well-established business service&lt;/a&gt; has an input argument which enables or disables the logging of validation events. The default is &lt;i&gt;true&lt;/i&gt;. So if you make use of Data Validation Manager in your project, check the amount of records in&amp;nbsp;&lt;b&gt;&lt;i&gt;S_VALDN_INST&lt;/i&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;EAI Queues&lt;/u&gt;&lt;/b&gt;: Many Siebel developers working on EAI solutions involving EAI Siebel Adapter swear by the &lt;a href="http://siebel-essentials.blogspot.com/2010/12/siebel-business-service-library-part-9.html" target="_blank"&gt;EAI XML Queueing Service&lt;/a&gt;&amp;nbsp;which makes it easy to place Siebel messages in a "queue" and retrieve them later. This could not only clog the table named&amp;nbsp;&lt;b&gt;&lt;i&gt;S_EAI_QUEUE_ITM&lt;/i&gt;&lt;/b&gt; but also the Siebel File System as the messages are uploaded as XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Workflow Monitoring&lt;/u&gt;&lt;/b&gt;: With higher monitoring levels set for active workflows, the&amp;nbsp;&lt;b&gt;&lt;i&gt;S_WFA_INSTP_LOG&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(step instances) and&amp;nbsp;&lt;b&gt;&lt;i&gt;S_WFA_STPRP_LOG&lt;/i&gt;&lt;/b&gt;&amp;nbsp;(properties) can become quite saturated very quickly. So make sure that on production systems, workflow monitoring is only enabled in exceptional situations and for a very short time. Siebel even provides OOB "Purge" functionality to erase all recorded instances with a cut-off date from the web user interface.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Siebel Remote Transactions&lt;/u&gt;&lt;/b&gt;: Quite notoriously, the &lt;a href="http://docs.oracle.com/cd/E05553_01/books/RRAdm/RRAdmTR_RemRepComp12.html" target="_blank"&gt;&lt;b&gt;&lt;i&gt;S_DOCK_TXN_LOG&lt;/i&gt;&lt;/b&gt;&lt;/a&gt; table is filled pretty quickly when Siebel Remote is enabled. Not only do Siebel Remote admins fear the ungracious backlog (see photo above) but sometimes, the feature is enabled without any transactions ever being consumed by mobile clients.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;"Big Data" by design (or no design)&lt;/u&gt;&lt;/b&gt;: Sometimes, developers go the easy way and use some well known business components such as &lt;i&gt;Action&lt;/i&gt;&amp;nbsp;(aka &lt;i&gt;Activities&lt;/i&gt;) to track system events. In addition to the out-of-the-box generated activities ,for example with Computer Telephony Integration (CTI) or when sending mass e-mails, the result is often that the poor &lt;b&gt;&lt;i&gt;S_EVT_ACT&lt;/i&gt;&lt;/b&gt; table is suffering a case of morbid obesity.&lt;br /&gt;
&lt;br /&gt;
Do you find this list too incomplete? Please find the comment section and share your insight.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Clean-up Strategies&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Of course, we cannot just &lt;a href="http://en.wikipedia.org/wiki/Truncate_(SQL)" target="_blank"&gt;truncate&lt;/a&gt; those tables or delete all files in the file system and call it a day. Instead we must find a suitable housekeeping strategy which allows the business or the system to find all the data it needs and archive and subsequently delete data which we no longer need. There is no single best solution but to arrange a meeting with the leading developers and architects and find one. This is an ongoing process and should not be neglected.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/GpSVVF6BKmc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/8411644591821819995/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=8411644591821819995&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8411644591821819995?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8411644591821819995?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/GpSVVF6BKmc/spring-cleaning-in-siebel-crm.html" title="Spring Cleaning in Siebel CRM" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-wFZEcqFX3a0/UYDm_W4IhpI/AAAAAAAAERI/2WpsbDAJ6uQ/s72-c/kirk-tribbles.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/spring-cleaning-in-siebel-crm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UAQH0-fCp7ImA9WhBbFUw.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-5118435778566697145</id><published>2013-05-14T09:00:00.000+02:00</published><updated>2013-05-14T09:07:21.354+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-14T09:07:21.354+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle BI Applications" /><title>Oracle BI Apps 11.1.1.7.1 and Why Fusion is More than just Applications</title><content type="html">The arrival of the latest version of &lt;a href="http://www.oracle.com/technetwork/middleware/bi-enterprise-edition/downloads/bus-intelligence-applications-1942275.html" target="_blank"&gt;Oracle Business Intelligence Applications&lt;/a&gt;, namely 11.1.1.7.1 has ignited quite a buzz (and a bit of &lt;a href="http://obiee911.blogspot.co.at/2013/05/obiee-111171-released.html?showComment=1368120248149" target="_blank"&gt;confusion&lt;/a&gt;) in the OBI community.&lt;br /&gt;
&lt;br /&gt;
Fellow &lt;a href="http://shivabizint.wordpress.com/2013/05/09/bi-apps-11-1-1-7-1-architecture-overview/" target="_blank"&gt;bloggers&lt;/a&gt; and the &lt;a href="http://www.oracle.com/technetwork/middleware/bi-foundation/documentation/bi-apps-098545.html" target="_blank"&gt;Oracle documentation&lt;/a&gt;&amp;nbsp;as well as the &lt;a href="http://www.oracle.com/us/solutions/business-intelligence/whats-new-oracle-bi-apps-1940791.pdf" target="_blank"&gt;official data sheet&lt;/a&gt;&amp;nbsp;do a good job &lt;a href="http://www.rittmanmead.com/2013/05/introduction-to-the-bi-apps-11-1-1-7-1-release-overview/" target="_blank"&gt;explaining&lt;/a&gt; what the major new features of this milestone release are.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-SgL9pzBOmB8/UY9fqeX7DkI/AAAAAAAAEYA/5aN_HtsTk98/s1600/obi-apps-11.1.1.7.1-budgetary-control-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="290" src="http://2.bp.blogspot.com/-SgL9pzBOmB8/UY9fqeX7DkI/AAAAAAAAEYA/5aN_HtsTk98/s400/obi-apps-11.1.1.7.1-budgetary-control-1.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Image source: Oracle data sheet&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
It is truly worthwhile to spend a few minutes to marvel at the new features:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;E-T-L is now E-L-T and done by &lt;a href="http://www.oracle.com/technetwork/middleware/data-integrator/overview/index.html" target="_blank"&gt;Oracle Data Integrator&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;, the former Sunopsis product and data integration platform of choice for Oracle customers. Yes, loading the Oracle Business Analysis Warehouse is&amp;nbsp;no longer performed by &lt;b&gt;Informatica &lt;/b&gt;which is used in the 7.9.x and previous 11.1.1 product lines (see below).&lt;br /&gt;
&lt;br /&gt;
Of course this raises a few eyebrows especially among customers who intend to upgrade from Informatica-based OBI Apps 7.9.x to the new architecture introduced with 11.1.1.7.1. As Mark Rittman &lt;a href="http://www.rittmanmead.com/2013/05/introduction-to-the-bi-apps-11-1-1-7-1-release-overview/" target="_blank"&gt;reports&lt;/a&gt;, customers will have to migrate existing customizations from Informatica to ODI on their own, or start from scratch with 11.1.1.7.1. Nonetheless both paths (Informatica and ODI) will be supported by Oracle for a while.&lt;br /&gt;
&lt;br /&gt;
Time to say goodbye also for &lt;b&gt;DAC&lt;/b&gt;, the Datawarehouse Administration Console which was developed by Siebel Systems. The new tools on the block are &lt;b&gt;&lt;a href="http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e16814/app_ui_ref.htm" target="_blank"&gt;Oracle BI Configuration Manager&lt;/a&gt; (BICAM)&lt;/b&gt; and &lt;b&gt;&lt;u&gt;Functional Setup Manager (FSM)&lt;/u&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Mentioning the latter will ring some bells for Oracle applications professionals who spent time with Oracle Fusion Applications recently. Both FSM and BICAM are around since the first release of Fusion Apps which came with - you guess - &lt;a href="http://www.oracle.com/technetwork/middleware/bi-foundation/documentation/bi-apps-098545.html#genfa" target="_blank"&gt;Oracle BI Applications 11.1.x&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So Oracle has been working a while on OBI Applications 11.1.x and I think it is safe to say that the development of the new general release 11.1.1.7.1 has greatly benefited from the the Fusion Applications development initiatives.&lt;br /&gt;
&lt;br /&gt;
Interestingly, the Oracle BI Apps for Fusion Applications still use Informatica for ETL.&lt;br /&gt;
&lt;br /&gt;
Besides the new &lt;strike&gt;ETL&lt;/strike&gt; E-L-T tool and administrative components like BICAM and FSM, the &lt;a href="http://www.oracle.com/us/solutions/business-intelligence/whats-new-oracle-bi-apps-1940791.pdf" target="_blank"&gt;data sheet&lt;/a&gt; points out the other new features which shall be listed quickly below to make this post complete.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A new planning application - &lt;b&gt;&lt;a href="http://www.oracle.com/us/solutions/business-analytics/analytic-applications/business-role/indirect-spend-planning/overview/index.html" target="_blank"&gt;Indirect Spend Planning&lt;/a&gt;&lt;/b&gt; - directed at procurement users.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://www.oracle.com/us/solutions/ent-performance-bi/business-intelligence/student-info-analytics-1923440.pdf" target="_blank"&gt;Student Information Analytics&lt;/a&gt;&lt;/b&gt; for academic institutions.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Enhancements &lt;/b&gt;in many analytic applications such as HR analytics.&lt;/li&gt;
&lt;li&gt;Optional deployment of &lt;b&gt;Oracle Golden Gate&lt;/b&gt; for real-time ETL.&lt;/li&gt;
&lt;li&gt;And, last but not least, a new &lt;b&gt;Data Lineage&lt;/b&gt; tool (in a future patch release, thanks to &lt;a href="https://twitter.com/florianschouten" target="_blank"&gt;Florian&lt;/a&gt; for the update on that).&lt;/li&gt;
&lt;/ul&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/s2EU9f6PZgs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/5118435778566697145/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=5118435778566697145&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5118435778566697145?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5118435778566697145?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/s2EU9f6PZgs/oracle-bi-apps-111171-and-why-fusion-is.html" title="Oracle BI Apps 11.1.1.7.1 and Why Fusion is More than just Applications" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-SgL9pzBOmB8/UY9fqeX7DkI/AAAAAAAAEYA/5aN_HtsTk98/s72-c/obi-apps-11.1.1.7.1-budgetary-control-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/oracle-bi-apps-111171-and-why-fusion-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMEQnYycCp7ImA9WhBbFE8.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-437585484225641125</id><published>2013-05-13T09:00:00.002+02:00</published><updated>2013-05-13T09:00:03.898+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-13T09:00:03.898+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bruce Daley" /><category scheme="http://www.blogger.com/atom/ns#" term="guest blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Observer" /><title>The Future of Siebel</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;
With the discussion (&lt;a href="http://siebel-essentials.blogspot.com/2013/05/the-future-of-siebel-crm-community-poll.html" target="_blank"&gt;and poll&lt;/a&gt;) in full spin on the future of Siebel CRM, here are some thoughts from fellow Siebel observer Bruce Daley on the (inevitable) future of Oracle's flagship CRM product.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
***&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ZGkwvUYUW0M/UYvexJRlIBI/AAAAAAAAAEo/Gv6XJItEiHY/s1600/Conversion+Overveiw+Slide+Deck+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-ZGkwvUYUW0M/UYvexJRlIBI/AAAAAAAAAEo/Gv6XJItEiHY/s400/Conversion+Overveiw+Slide+Deck+(1).jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
All good things must come to an end. The fact that there must be a last cookie in the jar, a last day of vacation, a last Iron Man movie is as certain as it is inevitable. Even our own sun will disintegrate in a hot helium flash&amp;nbsp;someday. Since this is not predicted to happen for another 7 billion years, I am not very worried about the effect it will have on my career as a ski instructor (although it would have a big impact if it happened during ski season).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Similar to these other good things coming to an end we all know the clock will run out for Siebel technology at some point. Like cookies, vacations, and suns; Siebel too will eventually disappear. Will the demise of Siebel impact your career? The simple answer is only if you decide to let it change the course your career. For like the sun, and unlike cookies, the end of Siebel is not likely to happen soon enough to force you to abandon your skills unless that is your choice. To understand the future of Siebel we must begin with the last&amp;nbsp;foreseeable&amp;nbsp;point and work backwards and begin with the end in mind.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://2.bp.blogspot.com/-5Qn7YQf40Kg/UYvOLBKn6UI/AAAAAAAAAEY/-znKPsr9aDk/s1600/red+giant.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="230" src="http://2.bp.blogspot.com/-5Qn7YQf40Kg/UYvOLBKn6UI/AAAAAAAAAEY/-znKPsr9aDk/s320/red+giant.png" width="320" /&gt;&lt;/a&gt;Someday, and I predict a day very far in the future (so far in fact that I doubt anyone reading this now will be alive to see it) the very last instance of Oracle Siebel will be turned off. &amp;nbsp; Although some backup tapes with&amp;nbsp;executable code will still slowly be&amp;nbsp;disintegrating in tape vaults, Oracle Siebel technology will, for all intents and purposes, be consigned to the&amp;nbsp;rubbish&amp;nbsp;heap of history along with the stone axe, the chariot, the trebuchet and all the other tools man has invented to make life easier. Siebel technology could be build into&amp;nbsp;interplanetary spaceships that&amp;nbsp;&amp;nbsp;carry CRM to the far ends of the galaxy, but the end of Oracle Siebel will still happen. Although it is likely to go unnoticed, the stopping of the last instance will also mark the end of the labor of tens of thousands of individuals who devoted millions and millions of man hours which is&amp;nbsp;poignant.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Before the last instance is turned off, all the other instances must be turned off. The last support call must be answered, the last&amp;nbsp;maintenance&amp;nbsp;release must be installed, the last enhancement made, the last update made available, the last support contract signed, the last new installation, the last Siebel job posting, the last new licence sold, the last appearance of Oracle Siebel on a product roadmap.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Since Oracle's current roadmap for Siebel extends until 2020 it is safe to say that if you are 40 years old and you retire at 65, Siebel will still be in use in 2038. There are three reason why I am confident in making this prediction, COBOL, the mainframe, and current job market.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;50 years after it was first developed and 40 years after it was first declared obsolete the demand for people with COBOL skills has continued to grow and has never been greater.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;IBM now sells more mainframes (by dollar value) now than it did in 1980. Year after year those companies that&amp;nbsp;standardized&amp;nbsp;on mainframes have found it more cost effective to continue to run than replace them with newer architectures.&lt;/li&gt;
&lt;li&gt;The demand for people with Siebel skills continues to grow as more people leave the field than are&amp;nbsp;entering it.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Although you might have to change the company you are working for, or the location where you work, &amp;nbsp;or way you go about your work, if you choose you can do Siebel work for the rest of your&amp;nbsp;career.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: center;"&gt;
***&lt;/div&gt;
&lt;br /&gt;
Bruce Daley's &lt;a href="http://siebelobserver.com/" target="_blank"&gt;Siebel Observer&lt;/a&gt; site's mission is to help Siebel professionals fully achieve their career potential and Siebel customers realize the full value of their investment in Oracle.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/YKhAkFS909E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/437585484225641125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=437585484225641125&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/437585484225641125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/437585484225641125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/YKhAkFS909E/the-future-of-siebel.html" title="The Future of Siebel" /><author><name>J. Bruce Daley</name><uri>https://plus.google.com/102958155580433430986</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-ylPeOLh07FY/AAAAAAAAAAI/AAAAAAAAADY/CietU_unnn8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ZGkwvUYUW0M/UYvexJRlIBI/AAAAAAAAAEo/Gv6XJItEiHY/s72-c/Conversion+Overveiw+Slide+Deck+(1).jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/the-future-of-siebel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYARXo_eyp7ImA9WhBbEk0.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-3961227849308147653</id><published>2013-05-09T09:00:00.000+02:00</published><updated>2013-05-10T18:09:04.443+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-10T18:09:04.443+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><title>The Future of Siebel CRM: Community Poll</title><content type="html">This year marks the 20th anniversary of the founding of &lt;a href="http://en.wikipedia.org/wiki/Siebel_Systems" target="_blank"&gt;Siebel Systems&lt;/a&gt;. After being acquired by Oracle in 2005, &lt;b&gt;Siebel CRM&lt;/b&gt; and the successor of Siebel Analytics, &lt;b&gt;Oracle Business Intelligence,&lt;/b&gt; are still flagship products. Thousands of IT professionals worldwide make a living from these two systems.&lt;br /&gt;
&lt;br /&gt;
Siebel CRM itself has been on the market for 17 years, and in the Siebel community there is much excitement about Oracle's commitment to strengthen the product's position, for example by delivering the Open UI framework. At the same time, many people wonder &lt;b&gt;how many years Siebel has left&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Always with our fingers on the pulse of the Siebel community, we - a group of dedicated Siebel bloggers* - are working together to conduct a poll to find out public opinion on that question.&lt;br /&gt;
&lt;br /&gt;
If you want to cast your vote on the poll, you can do it right here. Alternatively you can use &lt;a href="http://www.easypolls.net/poll.html?p=517ebd56e4b0bd1609c6acea" target="_blank"&gt;this link&lt;/a&gt; to access the poll in a separate window or on a mobile device.&lt;br /&gt;
&lt;br /&gt;
Thanks for your vote&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;*The following blogs are hosting this poll:&lt;br /&gt;(in alphabetical order)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://siebelish.blogspot.com/" target="_blank"&gt;&lt;span style="font-size: x-small;"&gt;CRM Conundrum&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.impossiblesiebel.com/" target="_blank"&gt;&lt;span style="font-size: x-small;"&gt;Impossible Siebel&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;a href="http://www.ondemand-education.com/blog/" target="_blank"&gt;On Demand Education&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;a href="http://onlysiebel.blogspot.com/" target="_blank"&gt;Only Siebel&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.brucedaley.com/siebelobserver/" target="_blank"&gt;&lt;span style="font-size: x-small;"&gt;Siebel Observer&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.mroshaw.co.uk/OllerenshawIT/" target="_blank"&gt;&lt;span style="font-size: x-small;"&gt;Siebel Tech Blog&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;a href="http://siebelunleashed.com/" target="_blank"&gt;Siebel Unleashed&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;a href="http://wentari.blogspot.com/" target="_blank"&gt;Wentari&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-size: x-small;"&gt;Did we miss your blog from this list? Do you want to participate? Then please contact Alex via &lt;a href="https://twitter.com/siebel_ess" target="_blank"&gt;twitter&lt;/a&gt; or &lt;a href="https://plus.google.com/u/0/101106391252120435100/posts" target="_blank"&gt;Google+&lt;/a&gt;.&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/7DX9ZFBqkOw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/3961227849308147653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=3961227849308147653&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/3961227849308147653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/3961227849308147653?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/7DX9ZFBqkOw/the-future-of-siebel-crm-community-poll.html" title="The Future of Siebel CRM: Community Poll" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/the-future-of-siebel-crm-community-poll.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFQX0yfip7ImA9WhBUGE8.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-4356916324074324143</id><published>2013-05-06T09:00:00.002+02:00</published><updated>2013-05-06T09:00:10.396+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-06T09:00:10.396+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI: See-Through Applets (A Post Load Update)</title><content type="html">Thanks for all the nice comments on the &lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part.html" target="_blank"&gt;"see-through" applet prototype&lt;/a&gt; I published a while ago. And special thanks to all those who commented on my pain point with having to modify the out-of-the-box &lt;i&gt;phyrenderer.js&lt;/i&gt;&amp;nbsp;file (which is a non-supported modification and not safe for production).&lt;br /&gt;
&lt;br /&gt;
Many commentators pointed out to use the &lt;i&gt;&lt;b&gt;postload.js&lt;/b&gt;&lt;/i&gt;&amp;nbsp;file which is loaded by the Open UI framework at the end of the view load cycle, but &lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part.html?showComment=1367461508892#c1118101119963625519" target="_blank"&gt;Ravi&lt;/a&gt; earns all the kudos for pointing me in the right direction. Thanks, Ravi.&lt;br /&gt;
&lt;br /&gt;
His solution involves the following loop (pseudo-code):&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;for(var applet in appletArray)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;target = $("#" + appletArray[applet].GetFullId());&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;target.jQuerymagic();&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So I decided to give it (another) try and implemented the following in the &lt;i&gt;postload.js&lt;/i&gt;&amp;nbsp;file:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pRFKn-dY2Qk/UYKMZwz2TiI/AAAAAAAAETE/cOQLP_OWthg/s1600/open-ui-label-toggle-12.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="278" src="http://4.bp.blogspot.com/-pRFKn-dY2Qk/UYKMZwz2TiI/AAAAAAAAETE/cOQLP_OWthg/s400/open-ui-label-toggle-12.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The following lines are of particular interest:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var view = SiebelApp.S_App.GetActiveView();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Using the &lt;i&gt;SiebelApp.S_App&lt;/i&gt;&amp;nbsp;object (equivalent to &lt;i&gt;theApplication() &lt;/i&gt;in traditional Siebel browser script), we can use the &lt;i&gt;GetActiveView()&lt;/i&gt;&amp;nbsp;method to get the &lt;b&gt;view &lt;/b&gt;object.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var arrApplets = view.GetAppletMap();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Among other useful methods, the view object has the &lt;i&gt;GetAppletMap()&lt;/i&gt;&amp;nbsp;method which returns an &lt;b&gt;object array&lt;/b&gt; with all applets in the view.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var theApplet = arrApplets[a];&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In the loop we can access each applet individually.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var target = $("#" + theApplet.GetFullId());&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We can use the applet object's &lt;i&gt;GetFullId()&lt;/i&gt;&amp;nbsp;method to create a jQuery selector.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;theApplet = view.GetActiveApplet();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In the &lt;i&gt;dblclick &lt;/i&gt;event handler, we must ensure that we grab the applet which was clicked using the view's &lt;i&gt;GetActiveApplet()&lt;/i&gt;&amp;nbsp;method.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var myPM = theApplet.GetPModel();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
As my custom method expects the current presentation model as a parameter, I use the &lt;i&gt;GetPModel()&lt;/i&gt;&amp;nbsp;(not &lt;i&gt;GetPM()!&lt;/i&gt;) of the applet object to get it into a variable.&lt;br /&gt;
&lt;br /&gt;
The remainder of the code is unchanged and documented in the &lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part.html" target="_blank"&gt;first post of this series&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Note&lt;/u&gt;: The above code snippet contains a quite clumsy approach to determine whether the applet is a form applet or not. If anyone has some better approach, please share.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Test&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I removed the custom code from &lt;i&gt;phyrenderer.js&lt;/i&gt;&amp;nbsp;(still feeling a bit guilty), emptied the browser cache and restarted the application. And - lo and behold - double-clicking on a form applet still made the labels toggle with BC field and database information as intended.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
With a hat-tip to Ravi and all others who pointed me to the &lt;i&gt;postload.js&lt;/i&gt;&amp;nbsp;file, I believe that this file will be a first safe haven for all developers who wish to implement Siebel Open UI extensions which are not limited to a certain applet. But I hear through the grapevine that we should expect something official in the next versions...&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/MK4MX9xuxs4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/4356916324074324143/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=4356916324074324143&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4356916324074324143?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4356916324074324143?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/MK4MX9xuxs4/siebel-open-ui-see-through-applets-post.html" title="Siebel Open UI: See-Through Applets (A Post Load Update)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-pRFKn-dY2Qk/UYKMZwz2TiI/AAAAAAAAETE/cOQLP_OWthg/s72-c/open-ui-label-toggle-12.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/siebel-open-ui-see-through-applets-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIBSHo9fSp7ImA9WhBUFEU.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-7403267368245168516</id><published>2013-05-02T09:00:00.002+02:00</published><updated>2013-05-02T09:42:39.465+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-02T09:42:39.465+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OASIS" /><category scheme="http://www.blogger.com/atom/ns#" term="guest blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Observer" /><category scheme="http://www.blogger.com/atom/ns#" term="Mei Lin Fung" /><category scheme="http://www.blogger.com/atom/ns#" term="Tom Siebel" /><title>The Very Best of Tom Siebel - A Memoir</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-e_fApwLNouw/UYEPCobvzPI/AAAAAAAAESY/23ChD_9NJno/s1600/mei-lin-fung.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-e_fApwLNouw/UYEPCobvzPI/AAAAAAAAESY/23ChD_9NJno/s1600/mei-lin-fung.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
By &lt;a href="http://www.linkedin.com/in/meilinfungcie" target="_blank"&gt;Mei Lin Fung&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Editor's Note: Mei Lin Fung's career as a organizer, entrepreneur, and author has spanned the non-profit, technology, and finance worlds. Tom Siebel hired her at Oracle to implement his initial vision of an enterprise CRM system. She has been kind enough to share with us that experience:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
*****&lt;/div&gt;
&lt;br /&gt;
Tom Siebel interviewed me for a job working for him in August 1988. A headhunter set up the interview. Apparently he had interviewed many people and none fit the bill for what he wanted in a Division Controller for the Direct Marketing Division. Well that's because he expected a weird combination of skills. Finance, Marketing, Sales, Software, Good people skills and a propensity for risk-taking.&lt;br /&gt;
&lt;br /&gt;
It was a pivotal hour in my life to interview with him. He talked about what he wanted to do: REALLY make it possible for technology to transform sales and marketing. A vision of the future where technology could support the prima donnas of sales in a way that was completely supportive of the quirks of the individual salesperson.&lt;br /&gt;
&lt;br /&gt;
My most recent work at Intel up to that point had been as the alpha user for the Intel Distribution Marketing System - which involved setting up the Intel methodology of forecasting for distribution sales out and bookings. Stagger charts, Actuals vs Forecast variance analysis, rigorous accountability for making projections and tying them to what actually happened.&lt;br /&gt;
&lt;br /&gt;
Tom's boss was head of US Sales, Gary Kennedy who had been an ex-Intel guy. In a way, it was a marriage made in heaven, I was perfectly matched to what he needed. What he wanted to do was make into reality what he had been selling to Oracle customers: The ability of the relational database to truly transform business practice in sales and marketing to support customers in a way they had never before experienced or imagined.&lt;br /&gt;
&lt;br /&gt;
When he told me his vision, I could see that it involved taking what I had just done at Intel and applying it to direct B2B sales - an extraordinary exciting vision.&lt;br /&gt;
&lt;br /&gt;
That was the beginning of the best working experience I ever had, the two years working for Tom Siebel - and the skunkworks project that Kevin Kraemer and I kicked off in September 1988. Oracle MIS told Tom it was impossible, fergedaboutit.&lt;br /&gt;
&lt;br /&gt;
Tom set me, his Division Controller and Kevin Kraemer, the top pre-sales technical guy in the group on moonlighting to create the first integrated sales and marketing application, OASIS, which was the genesis of the CRM industry.&lt;br /&gt;
&lt;br /&gt;
Direct Marketing Division spawned two billionaires so far: Tom Siebel and Vinny Smith, and transformed software sales and marketing, making telemarketing and telesales the most critical sales function for all software companies. People who worked for DMD - Direct Marketing Division and who had used OASIS - the Oracle Automated Sales Information System, were recruited by software companies in order to replicate the "Oracle Sales Model". The next potential billionaire of course is Marc Benioff who took over from Tom when he left Oracle.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
*****&lt;/div&gt;
&lt;br /&gt;
This content was originally posted on the &lt;a href="http://meilinfung.blogspot.de/2006/05/very-best-of-tom-siebel-memoir.html" target="_blank"&gt;Global Connections, Eclectic Selections blog&lt;/a&gt; on May 20, 2006. This article has also been published on Bruce Daley's&amp;nbsp;&lt;a href="http://www.siebelobserver.com/" target="_blank"&gt;Siebel Observer&lt;/a&gt; site whose mission is to help Siebel professionals fully achieve their career potential and Siebel customers realize the full value of their investment in Oracle.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/O1U6GcVUJok" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/7403267368245168516/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=7403267368245168516&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/7403267368245168516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/7403267368245168516?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/O1U6GcVUJok/the-very-best-of-tom-siebel-memoir.html" title="The Very Best of Tom Siebel - A Memoir" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-e_fApwLNouw/UYEPCobvzPI/AAAAAAAAESY/23ChD_9NJno/s72-c/mei-lin-fung.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/05/the-very-best-of-tom-siebel-memoir.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8EQ309eSp7ImA9WhBUEkw.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-8376367414759517181</id><published>2013-04-29T09:00:00.000+02:00</published><updated>2013-04-29T09:00:02.361+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-29T09:00:02.361+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><title>600 Posts - Siebel Essentials Then, Now and in the Future</title><content type="html">&lt;a href="http://vimeo.com/terjes/themountain" target="_blank"&gt;Tempus fugit&lt;/a&gt;, they say and I cannot agree more. My decision to become a tech blogger was taken almost 5 years ago in summer 2008 and so I posted my &lt;a href="http://siebel-essentials.blogspot.com/2008/07/distant-past.html" target="_blank"&gt;first article on the Siebel Essentials blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The article actually deals with the "distant" past of Siebel CRM when Siebel Systems was a bold start-up focusing on delivering "Sales, Marketing and Customer Service" information systems. The &lt;a href="http://siebel-essentials.blogspot.com/2008/07/distant-past-part-2-or-its-still-there.html" target="_blank"&gt;second article&lt;/a&gt; is also worth viewing because you will see Tom Siebel in a TV ad.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-rWGp2XsTcZI/UXkWV1zEjlI/AAAAAAAAEQY/FiZFaIKPkXk/s1600/siebel-tv-ad-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://2.bp.blogspot.com/-rWGp2XsTcZI/UXkWV1zEjlI/AAAAAAAAEQY/FiZFaIKPkXk/s320/siebel-tv-ad-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Looking at the history of a product allows us to learn and understand better what it is today or even in the &lt;a href="http://siebel-essentials.blogspot.com/2012/09/thinking-about-future-of-siebel-crm.html" target="_blank"&gt;future&lt;/a&gt;. The future of Siebel CRM is widely discussed on the internet today and while &amp;nbsp;writing my 600th post today, I can use it to look back and ahead in time.&lt;br /&gt;
&lt;br /&gt;
Looking back, I see a very rewarding time. I am humbled by the impression of being accepted as an authority on Siebel CRM and other Oracle products by the online community. Thanks to all dear readers (of both blog and books) for the great support and informative discussions over the years.&lt;br /&gt;
&lt;br /&gt;
Looking ahead, I and many &lt;a href="http://siebel-essentials.blogspot.com/2013/04/the-siebel-observer-to-relaunch.html" target="_blank"&gt;others&lt;/a&gt;&amp;nbsp;see a prosperous future for Siebel CRM (especially since Open UI is available). 2013 marks the 20th anniversary of the founding of Siebel Systems and it is my pleasure to announce that the within the Siebel community we're brewing some events on this date.&lt;br /&gt;
&lt;br /&gt;
So here's to another 600 posts and more&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/hPKOJkF9eek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/8376367414759517181/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=8376367414759517181&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8376367414759517181?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8376367414759517181?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/hPKOJkF9eek/600-posts-siebel-essentials-then-now.html" title="600 Posts - Siebel Essentials Then, Now and in the Future" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-rWGp2XsTcZI/UXkWV1zEjlI/AAAAAAAAEQY/FiZFaIKPkXk/s72-c/siebel-tv-ad-1.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/600-posts-siebel-essentials-then-now.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUFQ3c-fyp7ImA9WhBVGEo.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-8055284715547564574</id><published>2013-04-25T09:00:00.000+02:00</published><updated>2013-04-25T09:00:12.957+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-25T09:00:12.957+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI: See-Through Applets (Part 2)</title><content type="html">In today's second part of our mini-series on "see-through" applets, we will have a look at how to retrieve server-side data within a custom function in Siebel Open UI.&lt;br /&gt;
&lt;br /&gt;
It is crucial, despite all the exciting "new stuff" that comes with Open UI, not to forget that the underlying architecture of Siebel CRM remains unchanged. "What happens on the server, stays on the server", so they say. So when, for example, we want to retrieve some BC field metadata such as the table and column names which is not reachable through the browser-resident object arrays, we must do what we always do:&amp;nbsp;&lt;b&gt;call a server-side business service&lt;/b&gt; which queries the appropriate business components and returns the desired data nicely wrapped in a property set.&lt;br /&gt;
&lt;br /&gt;
So the only "new" thing to demonstrate today is how to invoke a business service method in Siebel Open UI. And as you might have guessed, there is nothing really spectacular about it.&lt;br /&gt;
&lt;br /&gt;
As discussed in the &lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part.html" target="_blank"&gt;previous post&lt;/a&gt;, the goal of our prototype is to toggle applet labels on a double-click so that instead of the caption, the label reveals the name of the control's underlying field. A second double-click should unveil the database side of things, that is we want to see something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JVmh-OlXIck/UWlzryKugUI/AAAAAAAAEQA/3anD3iURS-0/s1600/open-ui-label-toggle-3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="153" src="http://2.bp.blogspot.com/-JVmh-OlXIck/UWlzryKugUI/AAAAAAAAEQA/3anD3iURS-0/s400/open-ui-label-toggle-3.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In the last post, we learned how to teach form applets to capture the double-clicks and how to invoke a global custom function. Today I will show you my implementation of the database metadata part which has the following cookbook:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Create a server-side business service&lt;/li&gt;
&lt;li&gt;Invoke the server-side business service from the custom function&lt;/li&gt;
&lt;li&gt;Parse the output and toggle labels&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;1. Create a server-side business service&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I must confess, I did not spend too much time to design a truly elegant solution for retrieving repository metadata. I wanted to focus on the Open UI side of things, so I will just describe what my business service does instead of exposing the faint of heart to the awful spaghetti code I concocted in a hurry.&lt;br /&gt;
&lt;br /&gt;
The following will only work if you run on a database which has the repository tables populated, i.e. it will not work on a production mobile web client. But it works on local developer databases and server databases.&lt;br /&gt;
&lt;br /&gt;
The business service method should get a list of BC fields from the Open UI script which we can implement as a simple &lt;b&gt;child property set with one property for each field &lt;/b&gt;used in the applet.&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;applet's business component&lt;/b&gt; is also passed as a property of the main property set.&lt;br /&gt;
&lt;br /&gt;
With the BC name and a list of fields we can implement a loop and retrieve the data we want from the repository.&lt;br /&gt;
&lt;br /&gt;
The following pseudo code listing roughly describes how this is done:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Instantiate the BO "&lt;i&gt;Repository Business Component&lt;/i&gt;"&lt;/li&gt;
&lt;li&gt;Get the BC "&lt;i&gt;Repository Business Component&lt;/i&gt;"&lt;/li&gt;
&lt;li&gt;Query the BC using the BC Name&lt;/li&gt;
&lt;li&gt;Get the base table of the BC (Field "&lt;i&gt;Table&lt;/i&gt;")&lt;/li&gt;
&lt;li&gt;Get the BC "&lt;i&gt;Repository Field&lt;/i&gt;"&lt;/li&gt;
&lt;li&gt;Use &lt;i&gt;GetFirstProperty() &lt;/i&gt;and &lt;i&gt;GetNextProperty()&lt;/i&gt; in a &lt;i&gt;do{}while&lt;/i&gt; loop over the child property set&lt;/li&gt;
&lt;li&gt;Inside the loop, query the Field BC using the field name&lt;/li&gt;
&lt;li&gt;Get the "&lt;i&gt;Column&lt;/i&gt;" and "&lt;i&gt;Table&lt;/i&gt;" names for the field&lt;/li&gt;
&lt;li&gt;Get the "&lt;i&gt;MV Link BusComp Name&lt;/i&gt;" and "&lt;i&gt;Dest Field&lt;/i&gt;" property as well&lt;/li&gt;
&lt;li&gt;If "&lt;i&gt;Join&lt;/i&gt;" is an empty string but "&lt;i&gt;Column&lt;/i&gt;" is not, assign the base table name as the join&lt;/li&gt;
&lt;li&gt;If the field is a MVF, query the "&lt;i&gt;Repository Business Component&lt;/i&gt;" BC in a second instance&lt;/li&gt;
&lt;li&gt;Retrieve the column and table name from the multi-value BC&lt;/li&gt;
&lt;li&gt;Populate a child property set with &lt;b&gt;"table" + "." + "column"&lt;/b&gt; for each field.&lt;/li&gt;
&lt;li&gt;After the loop, add the child PS to the output PS&lt;/li&gt;
&lt;/ul&gt;
Again, please forgive me for not showing any eScript code but this is out of scope of this post. I was also considering using integration objects and EAI Siebel Adapter which would reduce the number of redundant queries but makes it more difficult to parse the results.&lt;br /&gt;
&lt;br /&gt;
But, as we said, it's just a prototype.&lt;br /&gt;
&lt;br /&gt;
Because we will invoke the business service from the "outside" (i.e. a browser script), we must also register the BS with the application using the &lt;i&gt;&lt;a href="http://siebel-essentials.blogspot.com/2009/06/clientbusinessservicen-sequential.html" target="_blank"&gt;ClientBusinessServiceN&lt;/a&gt;&lt;/i&gt; application user property. Don't forget to compile the BS and the application after the changes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Invoke the server-side business service from the custom function&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
So now we can see some code again, which is the &lt;i&gt;ShowTableColumns()&lt;/i&gt; function in the &lt;i&gt;custom_utils.js&lt;/i&gt; file we created in the previous post.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-KzBvmwJmJYg/UWl0rmchBqI/AAAAAAAAEQI/ocufWK0L6gA/s1600/open-ui-label-toggle-11.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="262" src="http://1.bp.blogspot.com/-KzBvmwJmJYg/UWl0rmchBqI/AAAAAAAAEQI/ocufWK0L6gA/s400/open-ui-label-toggle-11.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
As usual, in the following is a discussion of the key lines within that function. You will see that the code is quite similar to the &lt;i&gt;ShowBCFields()&lt;/i&gt; function in the previous post, so I will not repeat this here.&lt;br /&gt;
&lt;br /&gt;
Again, we must use the presentation model to "Get" the BC object. To get the name of the applet's underlying BC we can use the &lt;i&gt;GetName()&lt;/i&gt; function of the BC object.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var sBCName = oBC.GetName();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instantiating business services is accomplished by using the &lt;i&gt;GetService()&lt;/i&gt; function of the application object which is represented in the Open UI API as &lt;b&gt;&lt;i&gt;SiebelApp.S_App&lt;/i&gt;&lt;/b&gt;. So it looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var oSvc = SiebelApp.S_App.GetService("The Business Service");&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instantiating property sets is also quite similar to what we're used to:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var inPS = SiebelApp.S_App.NewPropertySet();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
As is, setting (and getting) properties:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;inPS.SetProperty("BusCompName",sBCName);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
While looping through the controls array we write the BC field name of each control which has a field (i.e. is not a button etc) to a property set. After the loop we add this property set as a child to the input PS and invoke the server-side BS method:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;inPS.AddChild(childPS);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;outPS = oSvc.InvokeMethod("The Method", inPS);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &lt;i&gt;InvokeMethod()&lt;/i&gt; function returns the output PS similar to "traditional" browser scripting.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Parse the output and toggle labels&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The second loop through the controls array is similar to the &lt;i&gt;ShowBCField()&lt;/i&gt; function described in the previous post but of course we have to retrieve the property values from the output property set:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sNewLabel = outPS.GetChild(0).GetChild(0).GetProperty(sNewLabel);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I don't know if this is intentional but I found that the output property set was wrapped in a container property set, hence the two child levels.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In this post we described a prototype of "see-through" applets, which display business layer and data layer metadata instead of captions. As not all metadata is present in the presentation model's object arrays, we learned how to invoke a server-side business service. The technique to do so is practially the same as in "traditional" browser scripting, so the level of re-usability for existing Oracle-provided or custom business services is as very high as usual.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/r5XGZ9znrfA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/8055284715547564574/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=8055284715547564574&amp;isPopup=true" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8055284715547564574?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8055284715547564574?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/r5XGZ9znrfA/siebel-open-ui-see-through-applets-part_25.html" title="Siebel Open UI: See-Through Applets (Part 2)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-JVmh-OlXIck/UWlzryKugUI/AAAAAAAAEQA/3anD3iURS-0/s72-c/open-ui-label-toggle-3.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part_25.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAMQn07fSp7ImA9WhBVFkw.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-4779137296396710345</id><published>2013-04-22T09:01:00.000+02:00</published><updated>2013-04-22T09:13:03.305+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-22T09:13:03.305+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="The Siebel Observer" /><category scheme="http://www.blogger.com/atom/ns#" term="Bruce Daley" /><title>The Siebel Observer to Relaunch</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;
It is an honor to introduce you today to &lt;a href="https://plus.google.com/u/0/102958155580433430986/posts" target="_blank"&gt;Bruce Daley&lt;/a&gt; who has kindly agreed to support the Siebel Essentials blog with his unparalleled insight into Siebel CRM.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;a href="http://2.bp.blogspot.com/-revis4t2f1Q/UXBuJK1QGDI/AAAAAAAAAD0/30iOsbMlMPI/s1600/Bruce+Daley.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-revis4t2f1Q/UXBuJK1QGDI/AAAAAAAAAD0/30iOsbMlMPI/s1600/Bruce+Daley.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
For many years Bruce edited the &lt;a href="http://www.siebelobserver.com/" target="_blank"&gt;Siebel Observer&lt;/a&gt; and developed it into the largest publication dedicated to Siebel Systems. After working in the cloud computing, finance and the investment worlds Bruce decided to re-launch the publication because of the gap he sees between market perception and market reality. The market’s perception is that Siebel is dead technology but the reality is with thousands of companies standardized on it, and Oracle’s full support, Siebel is only half way through its product life cycle.&amp;nbsp;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Bruce’s work is informed by his hands-on experience as a programmer, data base administrator, tester, software developer, project manager, sales representative, sales consultant, and sales manager. During his&amp;nbsp;tenure&amp;nbsp;as editor Bruce was widely quoted in The Wall Street Journal, The New York Times, The Financial Times, The International Herald Tribune, IEEE Spectrum, The San Jose Mercury News, The San Francisco Chronicle, CBS/MarketWatch, The Street.com, The Denver Post, The Rocky Mountain News, Computerland Sweden, The Deal and CNet.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
His new mission at the Siebel Observer is to help Siebel professionals fully achieve their career potential and Siebel customers realize the full value of their investment in Oracle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://www.siebelobserver.com/" target="_blank"&gt;The Siebel Observer&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Welcome, Bruce and Thank You for your support. Please continue to read Bruce's first post on Siebel Essentials on &lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebels-oasis-mother-of-all-crm-systems.html" target="_blank"&gt;OASIS, the mother of all CRM systems&lt;/a&gt;. The Siebel Observer and the Siebel Essentials blog will join forces to keep the Siebel community informed about the future of Siebel CRM.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/6GR9LIJb_9A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/4779137296396710345/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=4779137296396710345&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4779137296396710345?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4779137296396710345?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/6GR9LIJb_9A/the-siebel-observer-to-relaunch.html" title="The Siebel Observer to Relaunch" /><author><name>J. Bruce Daley</name><uri>https://plus.google.com/102958155580433430986</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-ylPeOLh07FY/AAAAAAAAAAI/AAAAAAAAADY/CietU_unnn8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-revis4t2f1Q/UXBuJK1QGDI/AAAAAAAAAD0/30iOsbMlMPI/s72-c/Bruce+Daley.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/the-siebel-observer-to-relaunch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcFQ3s9fCp7ImA9WhBVFkw.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-6715359935497836046</id><published>2013-04-22T09:00:00.001+02:00</published><updated>2013-04-22T09:00:12.564+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-22T09:00:12.564+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OASIS" /><category scheme="http://www.blogger.com/atom/ns#" term="Bruce Daley" /><category scheme="http://www.blogger.com/atom/ns#" term="guest blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Observer" /><category scheme="http://www.blogger.com/atom/ns#" term="Tom Siebel" /><title>Siebel's OASIS: The Mother of All CRM Systems</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;
An article by J. Bruce Daley, &lt;a href="http://www.brucedaley.com/siebelobserver/" target="_blank"&gt;Siebel Observer&lt;/a&gt;.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-DP84qWbArkc/UWcjKsmaf-I/AAAAAAAAADk/pIfj0GW1raY/s1600/DanishModernSiebelAd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-DP84qWbArkc/UWcjKsmaf-I/AAAAAAAAADk/pIfj0GW1raY/s320/DanishModernSiebelAd.jpg" width="246" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
When Tom Siebel first appeared on the CRM* scene in 1993, his arrival caused a sensation. The market (such as it was) was dominated by early pioneers like Brock Control Systems, SaleSoft, and SalesBook. When I say early pioneers, you should picture in your mind covered wagons, mules, and six shooters. &amp;nbsp;In the early nineties startups had not quite transitioned from the garage on Addison Avenue in Palo Alto where Bill Hewlett and David Packard had founded HP to the palatial offices off Sand Hill Road and the precocious Facebookie entrepreneur of today. Most of the companies had a home brew, seat of the pants, mom and pop feel because they were personally bootstrapped by their founders. Decisions at Aurum Software were sometimes more influenced by the relationship between Sue and David Buchanan, who were then husband and wife, than by market considerations. Another pioneer, Richard Brock made a series of unfortunate speeches where he claimed the Internet was mostly hype and prophesied it would never amount to much and naturally led his company in that direction.&lt;br /&gt;
&lt;br /&gt;
Into this proto-market marched &lt;a href="http://en.wikipedia.org/wiki/Thomas_Siebel" target="_blank"&gt;Tom Siebel&lt;/a&gt;. Before his company even had a product Siebel had credibility. At every industry conference he attended, Siebel radiated confidence that not only did he understand the problem but he could deliver the solution. Siebel had every reason to be confident because he had already built a CRM system at Oracle better than anything then available on the market.&lt;br /&gt;
&lt;br /&gt;
My first encounter with Siebel had taken place a few years earlier when I joined Oracle and was going through sales training. At the time I was working as a database sales engineer and was about employee 2,500. Siebel had joined the company earlier (also as a presales engineer) and was employee number 40. He was hired, at least in part, on the strength of his master’s thesis &lt;i&gt;Concurrent Controlled Algorithms in Distributed Database Systems&lt;/i&gt;. Siebel had worked in the Washington, DC office under the tutelage of Gary Kennedy and quickly transitioned from sales engineer to sale representative where he made his mark as a top sales producer.&lt;br /&gt;
&lt;br /&gt;
By the time I arrived at Oracle, Gary Kennedy was Vice President of Sales and Siebel was Vice President of Inside Sales. When Siebel got up to address our training program I, for one, was surprised. He did not sound like any sales manager I had ever heard – instead Siebel sounded more like a system architect as he drew flow charts describing &lt;b&gt;OASIS &lt;/b&gt;(Oracle Advanced Sales Information System), which was the internal system he had developed to gather, order, incubate, and disseminate leads. Siebel described to our training class how contact information about potential prospects were gathered from various sources – the figure 10,000 sticks in my mind even after all these years – and then how these leads were &amp;nbsp;validated, prioritized, qualified, and eventually disseminated to the Oracle field reps to close.&lt;br /&gt;
&lt;br /&gt;
Oracle was one of the few companies in the world where Siebel could have taken this approach to his job. First of all, as a billion-dollar software vendor, Siebel had access to talent, resources, and technology unavailable to other Vice Presidents of Sales. For a big company, Oracle also had an almost uniquely entrepreneurial culture that did not provide much direction but also did not put any fences around how you got your job done. All that counted was results. Siebel was able to build OASIS without any of the red tape and bureaucracy that surround the development of most internal systems even today.&lt;br /&gt;
&lt;br /&gt;
Siebel also spent some time selling the class on the idea that by his implementing OASIS our cups would overflow with leads. As I found out later, both Kennedy and Siebel were under tremendous pressure. I had arrived at Oracle at a very bad time. My first quarter working for the company Oracle “hit the wall” and missed projections, and later was even said to be in danger of missing payroll. Soon after the bad earnings announcement Gary Kennedy himself was out, the first in a long series of Larry Ellison successors to be summarily fired. &lt;br /&gt;
&lt;br /&gt;
Some months later, Siebel also left the company to join Gain Technology, a vendor of object-based, multimedia application development tools. Soon after joining Gain, Siebel was running the company. Only a few years Gain was sold to Sybase for a premium, which provided Siebel with the seed capital he needed to found Siebel Systems in 1993.&lt;br /&gt;
&lt;br /&gt;
Siebel’s personality and confidence quickly established Siebel Systems as the industry leader, but he also &lt;a href="http://money.cnn.com/magazines/fortune/fortune_archive/2000/09/04/286824/index.htm" target="_blank"&gt;delivered&lt;/a&gt;. Revenues for 1994 were only $50,000 but only four years later, in 1998, Siebel Systems had 1,600 employees, revenues had grown to $391 million, and net income was a handsome $43 million.&lt;br /&gt;
&lt;br /&gt;
In retrospect Siebel had some significant advantages over his competition. At Oracle he was able to play with the house’s money and develop his first CRM system almost as a prototype. Since Siebel was a successful salesman working for a big company he knew what he needed to build to attract other big companies. Most of his competitors where small companies trying to solve big company problems. Siebel also developed some strong working relationships with some very talented executives at Oracle, most notably with his co-founder Pat House (of whom one head of a major system integrator said "if you bring Pat into a deal, the chances it will close are 100%"). Siebel also had a deep intellectual and academic understanding of the technology behind his solution which proved very helpful overcoming some of the more difficult technical challenges the company faced.&lt;br /&gt;
&lt;br /&gt;
All these advantages were not lost on Siebel’s successor at Oracle as Vice President of Inside Sales. The man who assumed responsibility for the development of OASIS after Siebel left the company was none other than &lt;a href="http://en.wikipedia.org/wiki/Marc_Benioff" target="_blank"&gt;Marc Benioff&lt;/a&gt;, the current darling of Wall Street, who would later found and run today’s CRM market share leader, Salesforce.com.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*In those days the CRM market was not yet called CRM. That name would come later. &amp;nbsp;At the time it was divided into two markets Sales Force Automation and Customer Service. It was not until Siebel System's &lt;a href="http://news.cnet.com/Short-Take-Siebel-Systems-to-buy-Scopus/2110-1001_3-208699.html" target="_blank"&gt;acquisition of Scopus&lt;/a&gt; in 1998 that the two markets would converge into what it is today. &lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/rT889EZ2IKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/6715359935497836046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=6715359935497836046&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6715359935497836046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6715359935497836046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/rT889EZ2IKw/siebels-oasis-mother-of-all-crm-systems.html" title="Siebel's OASIS: The Mother of All CRM Systems" /><author><name>J. Bruce Daley</name><uri>https://plus.google.com/102958155580433430986</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-ylPeOLh07FY/AAAAAAAAAAI/AAAAAAAAADY/CietU_unnn8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-DP84qWbArkc/UWcjKsmaf-I/AAAAAAAAADk/pIfj0GW1raY/s72-c/DanishModernSiebelAd.jpg" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>San Mateo, CA, USA</georss:featurename><georss:point>37.56199695314352 -122.3272705078125</georss:point><georss:box>37.15952245314352 -122.9727175078125 37.96447145314352 -121.6818235078125</georss:box><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/siebels-oasis-mother-of-all-crm-systems.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADSXc5eSp7ImA9WhBVEko.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-1878234615671505599</id><published>2013-04-18T09:00:00.000+02:00</published><updated>2013-04-18T09:56:18.921+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-18T09:56:18.921+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI: See-Through Applets (Part 1)</title><content type="html">Have you ever asked yourself: "Wouldn't it be nice to be able to inspect an applet so that it reveals the underlying business component fields or even the tables and columns where the data is stored?"&lt;br /&gt;
&lt;br /&gt;
You haven't? Well, I know, I have. ;-)&lt;br /&gt;
&lt;br /&gt;
I believe every determined Siebel developer or analyst gets a bit weary over time with the limited amount of information in the &lt;i&gt;About View&lt;/i&gt;&amp;nbsp;dialog box. Of course, we can always use Siebel Tools and navigate through the layers to retrieve the information. But this is a bit time consuming.&lt;br /&gt;
&lt;br /&gt;
What I am talking about is something similar to the following scenario. Here is a typical Siebel form applet (in all its Open UI glory, needless to say):&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-eBL774vY84E/UWZ6Vn1MdYI/AAAAAAAAEOo/T3GYbWQPNpk/s1600/open-ui-label-toggle-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="172" src="http://4.bp.blogspot.com/-eBL774vY84E/UWZ6Vn1MdYI/AAAAAAAAEOo/T3GYbWQPNpk/s400/open-ui-label-toggle-1.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Now, let's imagine you can double-click anywhere in the applet to make it "see-through". The labels now display field name, type, length and whether they are calculated and/or required.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yyKs5ul4nKA/UWZ6V_E-LSI/AAAAAAAAEOs/JXg4RGNf2RM/s1600/open-ui-label-toggle-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="145" src="http://3.bp.blogspot.com/-yyKs5ul4nKA/UWZ6V_E-LSI/AAAAAAAAEOs/JXg4RGNf2RM/s400/open-ui-label-toggle-2.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;A see-through applet, kinda NSFW. Click to enlarge.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Let's drive our imagination further into the wild and double-click the applet again. Now the labels display the tables and columns where the data comes from.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oHuS4h_INfk/UWZ6V_R7k2I/AAAAAAAAEOw/gC8qL-uwQe4/s1600/open-ui-label-toggle-3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="153" src="http://1.bp.blogspot.com/-oHuS4h_INfk/UWZ6V_R7k2I/AAAAAAAAEOw/gC8qL-uwQe4/s400/open-ui-label-toggle-3.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The naked truth. Click to enlarge if you dare.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
And just for the sake of usability, another double-click restores the original applet labels (see first screenshot).&lt;br /&gt;
&lt;br /&gt;
Of course, all screenshots above are just taken out of my wild imagination. But I have been able - thanks to the new Siebel Open UI scripting framework - to create a prototype which implements this imagination quite nicely.&lt;br /&gt;
&lt;br /&gt;
I will tell you a bit about this prototype in this and the next post. In the first part, I will introduce how to capture the double-click on any given applet and how to display the field information instead of the label. The next post will discuss how to retrieve and display the physical database information.&lt;br /&gt;
&lt;br /&gt;
Let's start with the recipe:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Capturing double-clicks on all form applets&lt;/li&gt;
&lt;li&gt;Creating a custom global utility function&lt;/li&gt;
&lt;li&gt;Get field data from the presentation model and toggle labels&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;1. Capturing double-clicks on all form applets&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: red;"&gt;Please note: The following prototype has been implemented with the sole purpose of demonstrating the capabilities of Siebel Open UI. It is NOT (repeat: "NOT") intended for use in production systems and brainless copying/pasting of code is strongly discouraged.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Having said that, we must find a way to tell all (form) applets to "listen" for double-clicks.&lt;br /&gt;
Thanks to jQuery, we can use the &lt;a href="http://api.jquery.com/dblclick/" target="_blank"&gt;dblclick&lt;/a&gt;&amp;nbsp;event handler similar to the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;$(selector).dblclick(function()&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;//some clever code goes here&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Since Open UI has been released last December, a lot of examples have been written which demonstrate customizing a single applet using a custom presentation model and/or physical renderer. But this time we want to change the behavior of &lt;b&gt;all &lt;/b&gt;form applets at once.&lt;br /&gt;
&lt;br /&gt;
I found only one way to accomplish this, which is by customizing the Oracle-provided &lt;i&gt;phyrenderer.js&lt;/i&gt; file. Knowing that this is a non-standard customization, I fight an internal struggle to publish the prototype like this. If any of the astute readers can share some more insight how to customize all applets, please find the comments section quickly.&lt;br /&gt;
&lt;br /&gt;
So, keeping in mind that we are on thin ice here, here is the code I added to the OOB &lt;i&gt;phyrenderer.js&lt;/i&gt; file&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-f3VGsZfIjb4/UWlvuHLO-fI/AAAAAAAAEPI/ESvYfDRuH5Q/s1600/open-ui-label-toggle-5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="305" src="http://1.bp.blogspot.com/-f3VGsZfIjb4/UWlvuHLO-fI/AAAAAAAAEPI/ESvYfDRuH5Q/s400/open-ui-label-toggle-5.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
As you see, I modified the &lt;b&gt;&lt;i&gt;ShowUI &lt;/i&gt;&lt;/b&gt;method which is responsible of rendering the UI for form applets. Here are the key lines of code I added:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var myPM = this.GetPM();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This is just customary as I like to have a handy variable instead of calling the &lt;i&gt;GetPM()&lt;/i&gt; function over and over. The &lt;i&gt;GetPM()&lt;/i&gt; function is a physical renderer function and returns the presentation model object.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target.dblclick( function ()...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I use the OOB jQuery &lt;i&gt;target &lt;/i&gt;variable which is initialized by the Oracle-provided code earlier. It represents the entire applet DIV layer using the applet's unique Id. Using the jQuery &lt;i&gt;dblclick()&amp;nbsp;&lt;/i&gt;event handler I can now define what happens at a double-click.&lt;br /&gt;
&lt;br /&gt;
As you can see in the code snippet, I use the presentation model's &lt;i&gt;Get()&amp;nbsp;&lt;/i&gt;function to "get" the value of a property named &lt;i&gt;SE_ToggleCycle&lt;/i&gt; which is a custom property I intend to use to determine the current toggle cycle ("Display Labels", "Show BC Fields", "Show Tables and Columns").&lt;br /&gt;
&lt;br /&gt;
There might be more elegant ways to accomplish this but a simple switch always does the trick for me.&lt;br /&gt;
&lt;br /&gt;
So for example when the property &lt;i&gt;SE_ToggleCycle&lt;/i&gt; is &lt;i&gt;undefined &lt;/i&gt;(which it is at the time of the first double-click), I set the cycle variable to "&lt;i&gt;ShowBCFields&lt;/i&gt;". So at the next double-click, the cycle variable is set "&lt;i&gt;ShowTableColumns&lt;/i&gt;", etc...&lt;br /&gt;
&lt;br /&gt;
After leaving the switch, we can set the property to the current cycle code using the PM's &lt;i&gt;SetProperty()&amp;nbsp;&lt;/i&gt;function&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;myPM.SetProperty("SE_ToggleCycle",cycle);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So now we have a globally accessible property we can use to determine the current toggle cycle. The logic of retrieving metadata and actually toggling the display labels is done in a custom function which we call as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;SiebelApp.CustomUtils.ToggleLabels(cycle, myPM);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The function accepts the &lt;i&gt;cycle &lt;/i&gt;variable and the current PM object as input and we will have a look at it in a few moments.&lt;br /&gt;
&lt;br /&gt;
Before we leave the custom code we could trace the cycle variable to the JavaScript console using a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;SiebelJS.Log("Current double click cycle: " + cycle);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;SiebelJS.Log()&lt;/i&gt; is a function provided by the Open UI framework and should be used instead of the native &lt;i&gt;console.log()&lt;/i&gt; function. Of course this is optional, but a bit of tracing should always be done in a prototype for the sake of easier debugging.&lt;br /&gt;
&lt;br /&gt;
For now, when we save the file and restart the Siebel application, we can actually double-click anywhere in the applet (preferably the title bar) and inspect the console log:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-yiRB2aLMNoM/UWlwjMNSUhI/AAAAAAAAEPQ/0aajSQaBX5o/s1600/open-ui-label-toggle-6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="288" src="http://4.bp.blogspot.com/-yiRB2aLMNoM/UWlwjMNSUhI/AAAAAAAAEPQ/0aajSQaBX5o/s400/open-ui-label-toggle-6.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;2. Creating a custom global utility function&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As the requirement for our prototype is to provide global behavior, we also must implement the logic on a global scale. When you take a few minutes to inspect the Oracle-provided JavaScript files you will stumble upon a &lt;i&gt;utils.js&lt;/i&gt; file which obviously contains a lot of utility functions.&lt;br /&gt;
&lt;br /&gt;
I thought it would be a good idea to mimic this approach and created my own &lt;i&gt;custom_utils.js&lt;/i&gt; file (of course in the custom folder). Before we forget, let's ensure that this file is always loaded by adding it to the &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;lt;ROOT&amp;gt;&amp;lt;COMMON&amp;gt;&lt;/span&gt; section of the &lt;i&gt;custom_manifest.xml&lt;/i&gt; file.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PS5M518Y7bw/UWlw8-WjySI/AAAAAAAAEPY/QLIpYLyMUc4/s1600/open-ui-label-toggle-7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="80" src="http://4.bp.blogspot.com/-PS5M518Y7bw/UWlw8-WjySI/AAAAAAAAEPY/QLIpYLyMUc4/s400/open-ui-label-toggle-7.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Here is a screenshot of the custom code and I will explain the key lines below.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-secv7Mias6k/UWlxF2A1QwI/AAAAAAAAEPg/F9yzbRJz7-Y/s1600/open-ui-label-toggle-8.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="328" src="http://3.bp.blogspot.com/-secv7Mias6k/UWlxF2A1QwI/AAAAAAAAEPg/F9yzbRJz7-Y/s400/open-ui-label-toggle-8.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
As is customary for good citizens in the Open UI framework, this code adds our CustomUtils namespace to the SiebelApp realm.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;if(typeof (SiebelApp.CustomUtils) === "undefined"){&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; Namespace("SiebelApp.CustomUtils");&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now we can declare the &lt;i&gt;ToggleLabels()&lt;/i&gt; function in the new namespace&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;SiebelApp.CustomUtils.ToggleLabels = function(cycle, myPM){};&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After declaring some variables we use the current applet's presentation model (passed by the myPM variable to get the array of controls for the applet.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var arrControls = myPM.Get("GetControls");&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Let's spend a minute on the topic of &lt;b&gt;object arrays&lt;/b&gt; within Open UI. If you inspect the above code in the browser's developer tools, you can see the content of the &lt;i&gt;arrControls &lt;/i&gt;variable. The below screenshot is taken in Google Chrome but in other browsers it might be similar.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kHaXR39NNAA/UWlxdFTVz1I/AAAAAAAAEPo/OzcdQ2u6gjI/s1600/open-ui-label-toggle-9.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="237" src="http://2.bp.blogspot.com/-kHaXR39NNAA/UWlxdFTVz1I/AAAAAAAAEPo/OzcdQ2u6gjI/s400/open-ui-label-toggle-9.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
In the screenshot I have expanded the &lt;i&gt;Account &lt;/i&gt;control. For each control of the current applet you can clearly see the available methods such as &lt;i&gt;GetFieldName &lt;/i&gt;or &lt;i&gt;GetDisplayName&lt;/i&gt;. Inspecting object arrays using the browser's developer tools provides deep insight into the Open UI framework, a little bit deeper than the documentation writers would probably like...&lt;br /&gt;
&lt;br /&gt;
The next part of the code is similar to what we have seen in the &lt;i&gt;phyrenderer.js &lt;/i&gt;file customization. Depending on the value of the &lt;i&gt;cycle &lt;/i&gt;variable (passed to the custom function) we call different local functions. In today's post I will further explain the first one, namely &lt;i&gt;ShowBCFields().&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Get field data from the presentation model and toggle labels&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As discussed above, the goal of the prototype is to demonstrate that - with Siebel Open UI - it is fairly easy to accomplish a "see-through" applet. So the &lt;i&gt;ShowBCFields()&lt;/i&gt; function should retrieve BC level metadata from the presentation model and manipulate the browser's DOM (Document Object Model) so that the labels for each control display the underlying BC field name, logical type, length and whether it is required or calculated.&lt;br /&gt;
&lt;br /&gt;
We might first be tempted to retrieve that information from the repository but that would require a server round-trip. Good to know that the presentation model can provide us with all this information, so we can reduce load on the server.&lt;br /&gt;
&lt;br /&gt;
Here is the code for the &lt;i&gt;ShowBCFields()&lt;/i&gt; function. I will discuss the key lines below.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Pl9OQnspCdU/UWlx5LlprqI/AAAAAAAAEPw/tk_ZyhQTzTE/s1600/open-ui-label-toggle-10.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="268" src="http://2.bp.blogspot.com/-Pl9OQnspCdU/UWlx5LlprqI/AAAAAAAAEPw/tk_ZyhQTzTE/s400/open-ui-label-toggle-10.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The first two lines actually show how to get BC level information. If you pass "&lt;i&gt;&lt;b&gt;GetBusComp&lt;/b&gt;&lt;/i&gt;" to the PM's&lt;i&gt; Get() &lt;/i&gt;function, it will return the current applet's underlying business component as an object.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var oBC = myPM.Get("GetBusComp");&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We can use the &lt;i&gt;&lt;b&gt;GetFieldMap()&lt;/b&gt; &lt;/i&gt;function of the BC object to retrieve an object array which contains each field used in the current applet (so its comparatively small).&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var oBCFieldMap = oBC.GetFieldMap();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Again, inspecting the object arrays in the browser's developer tools provides us with a lot of insight.&lt;br /&gt;
&lt;br /&gt;
Because we have to manipulate each control's label, we must implement a for loop for each control in the &lt;b&gt;controls array&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;for(sControlName in arrControls){}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This will populate the &lt;i&gt;sControlName&lt;/i&gt; variable with the name of the current control in the loop.&lt;br /&gt;
&lt;br /&gt;
After checking that the control is really a member of the array, we can instantiate the &lt;b&gt;current control&lt;/b&gt; as an object by accessing it by name in the controls array:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;oControl = arrControls[sControlName];&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now we can retrieve the name of the underlying &lt;b&gt;BC field&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sNewLabel = oControl.GetFieldName();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If the control is a button, there is no underlying BC field, so we should exclude those:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;if (sNewLabel != ""){}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now we can use the field map array to retrieve the desired information. The following lines get the field's logical &lt;b&gt;data type&lt;/b&gt;, its &lt;b&gt;length &lt;/b&gt;and in addition we inspect whether the field is &lt;b&gt;required &lt;/b&gt;and/or &lt;b&gt;calculated&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;oField = oBCFieldMap[sNewLabel];&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sDataType = oField.GetDataType();&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sLength = oField.GetLength();&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sReq = oField.IsRequired() ? "*" : "";&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sCalc = oField.IsCalc() ? "C" : "";&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Open UI renders &lt;b&gt;control labels&lt;/b&gt; by replacing characters such as spaces with underscores and appending "&lt;i&gt;_Label&lt;/i&gt;". So in order to be able to target the label using jQuery we must do something like the following, showing off our regexp skills with the &lt;i&gt;replace()&lt;/i&gt;&amp;nbsp;function.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sLabelName = sControlName.replace(/ /g,"_") + "_Label";&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This works for most of the labels, but not for those with brackets or hash (#) in the name BTW.&lt;br /&gt;
&lt;br /&gt;
Labels are rendered as &lt;i&gt;&amp;lt;span&amp;gt;&lt;/i&gt; elements, so we must create a similar element but with different enclosed text.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;sLabelHTML = "&amp;lt;span id='" + sLabelName + "'&amp;gt;" + sNewLabel + " (" + sDataType + "/" + sLength + ")" + sReq + sCalc + "&amp;lt;/span&amp;gt;";&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
As you see, we concatenate the variables collected above to a new label which looks like this for a calculated field:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;BCFieldName (type/length)C&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now we are ready to swipe the &lt;b&gt;jQuery &lt;/b&gt;magic wand. We declare the parent element of the label the current target:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target = $("span#" + sLabelName).parent();&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
then we &lt;b&gt;replace the HTML&lt;/b&gt; with our concoction:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target.html(sLabelHTML);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and finally (just for the sake of demo) apply some makeup. In a real life implementation, please do not use hard-coded &lt;b&gt;styles&lt;/b&gt;, instead use proper CSS classes.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target.css({'font-style': 'italic', 'color': '#FF0000'});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And that's it!&lt;br /&gt;
&lt;br /&gt;
We already know how the result looks like but it's really stunning that it works on almost every form applet and is super-fast thanks to the Open UI framework.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RaM3QKxgnuU/UWly1PEaStI/AAAAAAAAEP4/lJF7yfvOXJo/s1600/open-ui-label-toggle-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="145" src="http://1.bp.blogspot.com/-RaM3QKxgnuU/UWly1PEaStI/AAAAAAAAEP4/lJF7yfvOXJo/s400/open-ui-label-toggle-2.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to enlarge&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In today's part of a two-post mini-series we explored how to teach all form applets at once to capture double-clicks. Furthermore, we introduced the comfort zone of the presentation model which allows us to retrieve all kinds of useful metadata such as BC field properties without a server round-trip.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #990000;"&gt;Again, please understand that all examples and code that I present on this blog are solely for illustrative purposes and that it has &lt;b&gt;NOT &lt;/b&gt;been tested against a production system. So I hold absolutely no liability for any issues or damage should you decide to use the code presented in this blog.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In the next part, we will explore how to actually do a server round-trip in order to retrieve repository metadata which is not available via the presentation model such as table and column names.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/jf5sYf1pRns" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/1878234615671505599/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=1878234615671505599&amp;isPopup=true" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/1878234615671505599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/1878234615671505599?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/jf5sYf1pRns/siebel-open-ui-see-through-applets-part.html" title="Siebel Open UI: See-Through Applets (Part 1)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-eBL774vY84E/UWZ6Vn1MdYI/AAAAAAAAEOo/T3GYbWQPNpk/s72-c/open-ui-label-toggle-1.png" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/siebel-open-ui-see-through-applets-part.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UFQ3k7eSp7ImA9WhBVEE0.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-5378788229853159067</id><published>2013-04-15T09:00:00.000+02:00</published><updated>2013-04-15T09:00:12.701+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-15T09:00:12.701+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><title>A Closer Look at Siebel Incremental Repository Merge (Part 2)</title><content type="html">As promised in my last post, here are some more insights into the new &lt;b&gt;Incremental Repository Merge (IRM)&lt;/b&gt; feature of Siebel CRM 8.1.1.10.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As you can read in &lt;a href="http://www.oracle.com/us/products/applications/atg/siebel-tools-irm-1915961.pdf" target="_blank"&gt;Oracle's data sheet on IRM&lt;/a&gt;,&lt;i&gt; "Incremental Repository Merge is a set of features within Siebel Tools that makes it easier and faster to import Siebel Innovation Packs from Oracle and customer-authored innovations." &lt;/i&gt;So it is a vital part of Oracle's&amp;nbsp;&lt;i&gt;Innovation Pack&lt;/i&gt;&amp;nbsp;initiative for Siebel CRM, following a tight drumbeat schedule of delivering one pack of major innovations for the latest release(s) of Siebel CRM, namely 8.1.1. or 8.2.2.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
According to the data sheet, IRM and other features such as &lt;b&gt;&lt;i&gt;Object Tagging&lt;/i&gt;, &lt;i&gt;Siebel Delta Files (SDF)&lt;/i&gt;&amp;nbsp;&lt;/b&gt;and &lt;i style="font-weight: bold;"&gt;&lt;a href="http://siebel-essentials.blogspot.com/2013/04/siebel-81110-workflow-comparison.html" target="_blank"&gt;visual workflow comparison&lt;/a&gt;&amp;nbsp;&lt;/i&gt;ensure a more agile development environment.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Today, we are going to look at IRM itself and try to find out the differences between this new way of merging repositories and the &lt;a href="http://siebel-essentials.blogspot.com/2009/09/behind-scenes-of-siebel-repository.html" target="_blank"&gt;traditional way&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Before we start, let's get a copy of the latest &lt;i&gt;&lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge.html" target="_blank"&gt;Siebel Database Upgrade Guide&lt;/a&gt;&lt;/i&gt;, which has a new &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge.html" target="_blank"&gt;chapter on IRM.&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The &lt;i&gt;Upgrade Guide&lt;/i&gt;&amp;nbsp;also explains how to set up Siebel Tools for the IRM, as described in my last post. Now we'll focus on the IRM process itself. Here is the cookbook:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Edit the tools.cfg file&lt;/li&gt;
&lt;li&gt;Rename the repository&lt;/li&gt;
&lt;li&gt;Check-in and unlock all projects&lt;/li&gt;
&lt;li&gt;Generate repositories&lt;/li&gt;
&lt;li&gt;Run statistics on the database&lt;/li&gt;
&lt;li&gt;Merge repositories&lt;/li&gt;
&lt;li&gt;Review log files&lt;/li&gt;
&lt;li&gt;Apply schema changes and import seed data&lt;/li&gt;
&lt;li&gt;Review merge conflicts&lt;/li&gt;
&lt;li&gt;Run post-merge utilities&lt;/li&gt;
&lt;li&gt;Full compile&lt;/li&gt;
&lt;li&gt;Delete unneeded repositories&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;1. Edit the tools.cfg file&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Before we start, we should ensure that we have the proper version of Siebel Tools (8.1.1.10 that is, enabled for iPack mode as described in the last post) on a decent Windows workstation (or server) with the appropriate amount of free memory (2 GB to be on the safe side).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ensure that the &lt;i&gt;tools.cfg&lt;/i&gt;&amp;nbsp;file is set up correctly, especially with the following parameters:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;EnableToolsConstrain = FALSE&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;SymStrPrefix = SBL_&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Also, ensure that you add the &lt;i&gt;&lt;b&gt;/iPackMode&lt;/b&gt;&lt;/i&gt;&amp;nbsp;switch to the shortcut you use to launch Siebel Tools. IRM and the other features are only available when Siebel Tools is run in "Innovation Pack Mode".&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. Rename the repository&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
If you are a member of the "lucky team", you might have contributed to a Siebel upgrade project from one major release (e.g. 7.8) to a newer one (e.g. 8.1). Then you probably remember the task of renaming the existing development repository from "&lt;i&gt;Siebel Repository"&amp;nbsp;&lt;/i&gt;to "&lt;i&gt;Prior Customer Repository". &lt;/i&gt;Well, that hasn't changed with IRM.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So we log on to Siebel Tools against the development server database and rename the repository accordingly.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;3.&amp;nbsp;Check-in and unlock all projects&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Ensuring that all developers have checked in their latest changes and all projects are unlocked in the development server database will save us a lot of trouble.&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;4. Generate repositories&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Now the process can start. Open the &lt;i&gt;Prior Customer Repository&lt;/i&gt;&amp;nbsp;if needed and from the &lt;i&gt;Tools &lt;/i&gt;menu, choose &lt;i&gt;Upgrade | iPack Deployment Wizard&lt;/i&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-7EMBTWuYI6Y/UWUv0S4uleI/AAAAAAAAENo/hFmzhO_o66U/s1600/siebel-irm-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://3.bp.blogspot.com/-7EMBTWuYI6Y/UWUv0S4uleI/AAAAAAAAENo/hFmzhO_o66U/s400/siebel-irm-6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
This will launch the new wizard which will guide us through the IRM process. The first part of the process is all about generating (or importing) three additional repositories which are required for the merge. The &lt;i&gt;Database Upgrade Guide&lt;/i&gt;&amp;nbsp;gives us instructions how to apply an Oracle delivered innovation pack using the wizard.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Click the Browse button and locate the \INNOVATION_PACK folder in the Siebel Tools installation directory. This folder is created when you install the Siebel Tools patch (e.g. 8.1.1.10).&lt;/li&gt;
&lt;li&gt;In the next dialog (&lt;i&gt;Database Platform&lt;/i&gt;), select the appropriate database platform&lt;/li&gt;
&lt;li&gt;The next dialog (&lt;i&gt;Choose ACRs&lt;/i&gt;) is obviously intended to allow a selection of ACRs (Advanced Customer Requests, sub-packages of a maintenance release). As of 8.1.1.10 we can only select &lt;i&gt;Siebel Repository.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-V_U2jVdjohc/UWUxEHsWdvI/AAAAAAAAENw/pRs6fDKEbb0/s1600/siebel-irm-8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://2.bp.blogspot.com/-V_U2jVdjohc/UWUxEHsWdvI/AAAAAAAAENw/pRs6fDKEbb0/s400/siebel-irm-8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Next, select the required language packs.&lt;/li&gt;
&lt;li&gt;Then comes the &lt;i&gt;Select Repository(s) &lt;/i&gt;dialog where we choose the repositories according to the instructions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-ALxe5r2NGC4/UWUxVW-D5TI/AAAAAAAAEN4/ycMahSnUMbI/s1600/siebel-irm-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://4.bp.blogspot.com/-ALxe5r2NGC4/UWUxVW-D5TI/AAAAAAAAEN4/ycMahSnUMbI/s400/siebel-irm-10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This dialog has a striking resemblance to the merge dialog used during a full upgrade. The big difference here is that - at this point in time - we only have a single repository (&lt;i&gt;Prior Customer Repository)&lt;/i&gt;&amp;nbsp;in the database. The dropdown box for the prior standard repository allows us to select a &lt;b&gt;&lt;i&gt;Create&lt;/i&gt;&amp;nbsp;&lt;/b&gt;option and the new standard and new customer options are read only. This is because the iPack Deployment Wizard will create (import) three repositories in the next step.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;In the&amp;nbsp;&lt;i&gt;Create Repositories and Merge &lt;/i&gt;dialog, we can now click the &lt;i&gt;Start &lt;/i&gt;button (keeping fingers crossed as usual for quite a while).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
You might ask yourself, where the repository data comes from. In a fashion quite similar to a full upgrade, the Siebel Tools patch installer places the flat files for the prior standard and new standard repositories into the &lt;i&gt;/INNOVATION_PACK&lt;/i&gt; folder. For the 8.1.1.10 maintenance release, this is an 8.1.1.0 ("base") repository and an 8.1.1.10 repository which contains all ACRs delivered by Oracle between the base release and 8.1.1.10.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The import itself is accomplished by invoking the good ol' &lt;i&gt;repimexp&lt;/i&gt;&amp;nbsp;command line utility and you can expect this to take as long as it takes to import three repositories into your server database.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;5. Run statistics on the database&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Once the wizard displays that the import process was completed successfully, we are instructed to hit the &lt;i&gt;Pause&lt;/i&gt;&amp;nbsp;button. To improve the performance of the upcoming merge, the &lt;i&gt;Database Upgrade Guide&lt;/i&gt;&amp;nbsp;explains how to execute the &lt;b&gt;&lt;i&gt;runstats&lt;/i&gt;&amp;nbsp;&lt;/b&gt;command against the development server database.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;6. Merge repositories&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Once the database completes collecting statistics, we can continue (or restart) the &lt;i&gt;Innovation Pack Deployment Wizard &lt;/i&gt;and launch the merge process itself.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-8Om8_vSuaf0/UWU0B4RzbpI/AAAAAAAAEOI/3sjtkZyoWw8/s1600/siebel-irm-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://4.bp.blogspot.com/-8Om8_vSuaf0/UWU0B4RzbpI/AAAAAAAAEOI/3sjtkZyoWw8/s400/siebel-irm-11.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Again, this is technically the same thing that happens during a full upgrade. Siebel Tools executes a three-way repository merge. This usually takes a few hours, so you can read the documentation now and keep your fingers crossed as usual.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;7. Review log files&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Once the merge process is complete, we should inspect the &lt;i&gt;IRM_Merge#.log &lt;/i&gt;file (with #&lt;i&gt;&amp;nbsp;&lt;/i&gt;being a number, usually zero) in the Siebel Tools &lt;i&gt;/log&lt;/i&gt; directory and verify that it doesn't show up with any errors or difficulties.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;8. Apply schema changes and import seed data&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Experienced Siebel upgraders might remember that the full upgrade always includes the &lt;i&gt;Database Upgrade Wizard&lt;/i&gt; which takes care of the database-related stuff such as importing repositories and applying schema changes. Well, here's another difference: The IRM wizard takes care of the schema and also triggers the necessary command line utilities to import the new seed data which comes along with the innovation pack.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This is the final step in the IRM wizard.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;9. Review merge conflicts&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The merge process produces very detailed data (at the property level) about every single difference between the four repositories. We can use the traditional Siebel Tools view (&lt;i&gt;Applications Upgrade Object List&lt;/i&gt;&amp;nbsp;- accessible from the &lt;i&gt;Screens&lt;/i&gt;&amp;nbsp;menu) to look for conflicts as usual or use the new &lt;i&gt;&lt;b&gt;Hierarchical Merge Report&lt;/b&gt;&lt;/i&gt;&amp;nbsp;which is part of the new IRM functionality.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-EZYr9jR1__Q/UWU2dDeyG9I/AAAAAAAAEOY/Qz_uhMU-1Qk/s1600/siebel-irm-12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="363" src="http://2.bp.blogspot.com/-EZYr9jR1__Q/UWU2dDeyG9I/AAAAAAAAEOY/Qz_uhMU-1Qk/s400/siebel-irm-12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As with a full upgrade, a full inspection (involving some SQL select statements directly against the S_MERGE% tables) filtering out unecessary data and diligent analysis of the merge results is the key to a successful upgrade. The outcome of this step (which can take some time) is a list of developer tasks to "repair" objects (hopefully only a handful or none at all) which the merge process has rendered unusable.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;10. Run post-merge utilities&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The &lt;i&gt;Database Upgrade Guide&lt;/i&gt;&amp;nbsp;now instructs us to &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge24.html" target="_blank"&gt;run the post-merge utilities&lt;/a&gt;&amp;nbsp;which are also part of a full upgrade. It might seem an unnecessary step but you would have to decide for or against this step on a project-by-project basis, depending on the customization of standard objects.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;11. Full compile&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The new &lt;i&gt;Siebel Repository&lt;/i&gt;&amp;nbsp;now contains all customizations &lt;b&gt;and &lt;/b&gt;the ACRs delivered by Oracle as part of the innovation pack. Once the developers have finished their "repair" duties, we must run a full compile to produce a brand-new SRF file. Ensure that your project plan allots enough time for testing!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;12. Delete unneeded repositories&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This is the final step in any upgrade, be it "incremental" or "full". To reduce the burden of the database, we (export and archive) and delete the three unused repositories using Siebel Tools.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The new&amp;nbsp;&lt;b&gt;Incremental Repository Merge&lt;/b&gt;&amp;nbsp;bears much similarity to a full version upgrade. The biggest difference is that there is a single wizard which runs in Siebel Tools and takes care of all technical steps as opposed to a multi-utility approach in a "big" upgrade. Nonetheless, the same lengthy import and merge process are executed against the database so there is much room for errors or difficulties. In addition, project teams must be aware that the Oracle delivered repository data might be in conflict with existing customizations, so the same level of scrutiny and diligence must be adhered to as in a "big" upgrade project.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
have a nice day&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
@lex&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/grsAPCdx77Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/5378788229853159067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=5378788229853159067&amp;isPopup=true" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5378788229853159067?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5378788229853159067?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/grsAPCdx77Q/a-closer-look-at-siebel-incremental_15.html" title="A Closer Look at Siebel Incremental Repository Merge (Part 2)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-7EMBTWuYI6Y/UWUv0S4uleI/AAAAAAAAENo/hFmzhO_o66U/s72-c/siebel-irm-6.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/a-closer-look-at-siebel-incremental_15.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEER3s7cCp7ImA9WhBWFks.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-455772580170420366</id><published>2013-04-11T09:00:00.001+02:00</published><updated>2013-04-11T09:00:06.508+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-11T09:00:06.508+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><title>A Closer Look at Siebel Incremental Repository Merge (Part 1)</title><content type="html">One of the new features included in the&amp;nbsp;&lt;a href="http://siebel-essentials.blogspot.com/2013/03/siebel-crm-maintenance-release-81110.html"&gt;Siebel CRM patch 8.1.1.10&lt;/a&gt; is the &lt;b&gt;&lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge.html"&gt;Incremental Repository Merge (IRM)&lt;/a&gt;&lt;/b&gt;. In this and a following post, I would like to describe a new way to merge repositories in order to "upgrade" to a newer Siebel release without the hassle of going through a "major release" upgrade project.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7HO8wLlg1jI/UViHfjFJwvI/AAAAAAAAEMg/QiZ49sFXK-4/s1600/siebel-irm-10.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="233" src="http://2.bp.blogspot.com/-7HO8wLlg1jI/UViHfjFJwvI/AAAAAAAAEMg/QiZ49sFXK-4/s400/siebel-irm-10.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Looks familiar, doesn't it?&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Before you can actually use this feature, you will have to apply the patch to upgrade Siebel Tools. The updated &lt;i&gt;Database Upgrade Guide&lt;/i&gt;&amp;nbsp;provides more documentation how to accomplish this but here is the gist of it:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Apply patch 8.1.1.10 to Siebel Tools&lt;/li&gt;
&lt;li&gt;Create an ODBC connection to the development server database&lt;/li&gt;
&lt;li&gt;Extract the IRM import package&lt;/li&gt;
&lt;li&gt;Review the readme.txt file&lt;/li&gt;
&lt;li&gt;Edit the preference.txt file&lt;/li&gt;
&lt;li&gt;Edit the tools.cfg file&lt;/li&gt;
&lt;li&gt;Create and lock projects&lt;/li&gt;
&lt;li&gt;Run the import utility&lt;/li&gt;
&lt;li&gt;Compile the SRF file and replace the Siebel Tools SRF file&lt;/li&gt;
&lt;li&gt;Prepare the Siebel Tools shortcut for innovation pack mode&lt;/li&gt;
&lt;/ol&gt;
For the remainder of this post, I will go into more detail about each individual step.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Apply patch 8.1.1.10 to Siebel Tools&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Just as usual, run the patch installer for 8.1.1.10 against your Siebel Tools home directories.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Create an ODBC connection to the development server database&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you already have an ODBC connection set up against your development server database, you can skip this step. Otherwise, follow the &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge4.html"&gt;instructions in the Database Upgrade Guide&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Extract the IRM import package&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the Siebel Tools installation directory, you will find a folder named &lt;i&gt;INNOVATION_PACK&lt;/i&gt;. It will contain a zip archive named&amp;nbsp;&lt;i&gt;IRM_811x_822x.zip. &lt;/i&gt;Extract the file keeping the original folder locations.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Review the readme.txt file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
After extracting the zip archive, you will find a &lt;i&gt;readme.txt&lt;/i&gt; file in the&amp;nbsp;&lt;i&gt;IRM_811x_822x&lt;/i&gt; folder. Ensure that you read, understand and follow the instructions in the file. The steps to import the necessary repository objects should be familiar and similar to other recent maintenance releases.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. Edit the preference.txt file&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
The &lt;i&gt;preference.txt&lt;/i&gt; file is located in the same folder as &lt;i&gt;readme.txt&lt;/i&gt;. It must be updated to reference the database you are using. Below is a screenshot of the file from my test system on an Oracle 11g database:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-mD67VE21cAk/UViKwneeryI/AAAAAAAAEMo/n4C5GLC3NkU/s1600/siebel-irm-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="336" src="http://1.bp.blogspot.com/-mD67VE21cAk/UViKwneeryI/AAAAAAAAEMo/n4C5GLC3NkU/s400/siebel-irm-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;6. Edit tools.cfg&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As the documentation specifies, edit the tools.cfg file to use &lt;i&gt;SBL_&lt;/i&gt; as the symbolic string prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7. Create and lock projects&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now it's time to start Siebel Tools again and log in to the server database. The &lt;i&gt;readme.txt&lt;/i&gt;&amp;nbsp;file guides you through creating a new project named &lt;i&gt;Object Tagging &lt;/i&gt;and locking it. Also you should lock the &lt;i&gt;Siebel Tools&lt;/i&gt;&amp;nbsp;project. Exit Siebel Tools when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-qpmVnFwlVQY/UViLZr7nMgI/AAAAAAAAEMw/nqZRYZqyLYY/s1600/siebel-irm-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://4.bp.blogspot.com/-qpmVnFwlVQY/UViLZr7nMgI/AAAAAAAAEMw/nqZRYZqyLYY/s400/siebel-irm-2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
"Object Tagging" is a new feature in Siebel Tools 8.1.1.10 which is worth going into in a future post. In the meantime, &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UsingTools/managing_repositories8.html"&gt;you can read more about it here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8. Run the import utility&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now it's time to run the &lt;i&gt;import.bat&lt;/i&gt;&amp;nbsp;file. As usual, Siebel Tools will flicker while running batch imports of .sif files. In addition, the import utility will apply physical schema changes. Be sure to wait for the utility to finish before stopping the import process and make sure you check the logs for any errors and to ensure the import ran successfully.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-JXQOW-douJ4/UViMW668AhI/AAAAAAAAEM4/z4UPm1tIH1Y/s1600/siebel-irm-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="http://3.bp.blogspot.com/-JXQOW-douJ4/UViMW668AhI/AAAAAAAAEM4/z4UPm1tIH1Y/s400/siebel-irm-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;9. Compile the SRF file and replace the Siebel Tools SRF file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Start Siebel Tools and run a &lt;b&gt;full compile&lt;/b&gt; into a new SRF file. When the compilation is done, stop Siebel Tools and replace the old siebel_sia.srf file in the &lt;b&gt;Siebel Tools /OBJECTS&lt;/b&gt;&amp;nbsp;directory with the new 8.1.1.10&amp;nbsp;one.&lt;br /&gt;
&lt;br /&gt;
You may also want to examine the new vanilla SRF file provided as part of the patch for comparison purposes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10. Prepare the Siebel Tools shortcut for innovation pack mode&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To use IRM and other features of Siebel Tools 8.1.1.10, you must launch them in "Innovation Pack Mode". To do so, prepare a Windows shortcut similar to the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;C:\sia811\tools\BIN\siebdev.exe /c "C:\sia811\tools\bin\enu\tools.cfg" /d serverdatasrc /u SADMIN /p ****** &lt;b&gt;/iPackMode&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(Please note the /iPackMode switch!)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In this post we listed the steps required to enable Siebel Tools for the incremental repository merge feature. You can also find these steps documented in the &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge.html"&gt;Siebel bookshelf&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In my next post, I will look at the IRM feature itself.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/p5GzuWz8WRE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/455772580170420366/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=455772580170420366&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/455772580170420366?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/455772580170420366?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/p5GzuWz8WRE/a-closer-look-at-siebel-incremental.html" title="A Closer Look at Siebel Incremental Repository Merge (Part 1)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-7HO8wLlg1jI/UViHfjFJwvI/AAAAAAAAEMg/QiZ49sFXK-4/s72-c/siebel-irm-10.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/a-closer-look-at-siebel-incremental.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFRnY5fCp7ImA9WhBWFE0.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-513581917050606405</id><published>2013-04-08T09:00:00.001+02:00</published><updated>2013-04-08T09:00:17.824+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-08T09:00:17.824+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Training" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><title>Learn more about Siebel 8.1.1.10 on OLL</title><content type="html">This is a gentle reminder that your efforts to get a grip on the latest and greatest Siebel release (&lt;a href="http://siebel-essentials.blogspot.com/2013/03/siebel-crm-maintenance-release-81110.html"&gt;8.1.1.10&lt;/a&gt;) are supported by the good people at Oracle University who have uploaded a bunch of new free online trainings (or TOIs, as they call them) on &lt;a href="http://apex.oracle.com/pls/apex/f?p=44785:2:0:::2:P2_GROUP_ID:1023"&gt;Oracle Learning Library (OLL)&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-pdPwlx5gdmI/UVqa4--HeCI/AAAAAAAAENY/9p3WDZ366zM/s1600/oll-siebel-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="396" src="http://1.bp.blogspot.com/-pdPwlx5gdmI/UVqa4--HeCI/AAAAAAAAENY/9p3WDZ366zM/s400/oll-siebel-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
So no excuses ;-). You should check OLL frequently or follow them on &lt;a href="https://twitter.com/oracleLL"&gt;twitter&lt;/a&gt; or &lt;a href="https://www.facebook.com/OracleLearningLibrary"&gt;facebook&lt;/a&gt;&amp;nbsp;to get the latest updates.&lt;br /&gt;
&lt;blockquote class="twitter-tweet"&gt;
8.1.1.10 TOI: Siebel Incremental Repository Merge (IRM) Functional Overview &lt;a href="http://t.co/o1gScWTMXz" title="http://nblo.gs/JKYzt"&gt;nblo.gs/JKYzt&lt;/a&gt;&lt;br /&gt;
— Oracle Learning Libr (@OracleLL) &lt;a href="https://twitter.com/OracleLL/status/317691760476295168"&gt;March 29, 2013&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;
have a nice day
&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/3W_7bqVR0ek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/513581917050606405/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=513581917050606405&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/513581917050606405?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/513581917050606405?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/3W_7bqVR0ek/learn-more-about-siebel-81110-on-oll.html" title="Learn more about Siebel 8.1.1.10 on OLL" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-pdPwlx5gdmI/UVqa4--HeCI/AAAAAAAAENY/9p3WDZ366zM/s72-c/oll-siebel-3.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/learn-more-about-siebel-81110-on-oll.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YDRXw4fCp7ImA9WhBXGUo.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-6402175739652771368</id><published>2013-04-03T09:00:00.000+02:00</published><updated>2013-04-03T09:46:14.234+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-03T09:46:14.234+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBIEE 11g" /><title>Oracle Business Intelligence 11.1.1.7 Available</title><content type="html">It seems that holidays are becoming a preferred time slot for Oracle engineering to release new versions of software. Just before Easter, Siebel 8.1.1.10 was released and in addition, Oracle released a new version of Oracle Business Intelligence, with a lot of 1's in the name as well: 11.1.1.7.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-c82yp7p6_Bc/UVqYyvCvupI/AAAAAAAAENI/_0C2nZdwsWg/s1600/obiee-11.1.1.7-screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://1.bp.blogspot.com/-c82yp7p6_Bc/UVqYyvCvupI/AAAAAAAAENI/_0C2nZdwsWg/s400/obiee-11.1.1.7-screenshot.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
We Siebel guys and girls always pay attention to OBIEE because it was once our beloved Siebel Analytics. Especially, as &lt;a href="http://siebel-essentials.blogspot.com/2013/02/bi-publisher-11g-and-siebel-crm.html"&gt;&lt;b&gt;BI Publisher&lt;/b&gt; 11.1.1.7&lt;/a&gt; is the long awaited version to replace 10g for generating Reports in Siebel CRM. Alas, in these days the humble writer of this blog is kept busy with other Oracle applications, so for the moment, it just shall be the announcement and some useful links for further reading:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;As usual, the good people at Rittman Mead provide &lt;a href="http://www.rittmanmead.com/2013/04/obiee-11-1-1-7-now-available-for-download/"&gt;in-depth information just in time&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/bi-enterprise-edition/downloads/bi-downloads-1923016.html"&gt;Grab the files on OTN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Make sure you check the "New Features" sections (e.g. for &lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10540/whatsnew.htm#CJADCCDF"&gt;developers&lt;/a&gt; or &lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/whatsnew.htm#CEGGEIIJ"&gt;end users&lt;/a&gt;) in the &lt;a href="http://docs.oracle.com/cd/E28280_01/bi.htm"&gt;brand-new documentation library&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;BI fellow Antony has a great &lt;a href="http://www.peakindicators.com/index.php/knowledge-base/1131-new-features-with-obiee-11117"&gt;compilation of new features&lt;/a&gt; here.&lt;/li&gt;
&lt;/ul&gt;
Here are some of my personal highlights, just to tease you ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;End Users:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/creatingviews.htm#CHDDGBCG"&gt;Recommended visualizations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/appuserinfo.htm#CHDEJGHJ"&gt;Breadcrumbs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/dashboards.htm#CHDBCIEH"&gt;Auto-generate BI Publisher reports for high-fidelity dashboard printing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/appuir.htm#CHDBHBAD"&gt;Freeze columns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/creatingviews.htm#CHDGIEBJ"&gt;New graphs: waterfall, area stack, 100% stacked&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/creatingviews.htm#BACCIEEG"&gt;New "Performance Tile" view&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/analyses.htm#CJAFHHJB"&gt;Null supression&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10544/mancat.htm#CIHCCIGI"&gt;Endeca-powered full text search&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.obieeabc.com/2013/04/best-of-obiee-11117smart-view-for-excel.html"&gt;Smart View for MS Office&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Mobile:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e25318/getstarted.htm#CHDBIJHC"&gt;New Oracle BI HD app for iPad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Developer (Admin Tool):&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10540/mngreposfiles.htm#BABBDFJG"&gt;Change BI repository password from command line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10540/deploy_rpd.htm#BABGIAJH"&gt;Apache Hadoop as a data source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10540/variables.htm#CJABEDCA"&gt;Multi-source session variables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Administrator:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/upgrade.1111/e17852/manage_was_bi.htm#THIRD5362"&gt;Installation on IBM WebSphere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10541/configtenant.htm#BABCGBBC"&gt;Multitenancy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e10543/whatsnew.htm#CJAEBJAA"&gt;New Privileges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e16364/bi_server_web_services.htm#CJACJFFC"&gt;Asynchronous calls to BI Server metadata web service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;BI Publisher:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22254/create_report_new.htm#CJAGJJAF"&gt;Direct connection to BI Server subject areas&lt;/a&gt;&amp;nbsp;(sans data model)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22254/whatsnew.htm#BGGHADGF"&gt;Enhancements to Excel Template Builder, Layout Editor, Report Wizard, PDF to PCL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22255/integrations.htm#CJAGAIEI"&gt;Endeca as a data source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22257/view_rpt.htm#BCEDGHAH"&gt;Support for (E-Business Suite) flexfields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22258/create_data_sets.htm#BABBEJDH"&gt;MDX Query Builder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E28280_01/bi.1111/e22258/create_data_sets.htm#csv_ds"&gt;Local XML and CSV files as data sources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/tolhIsF9N1M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/6402175739652771368/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=6402175739652771368&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6402175739652771368?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6402175739652771368?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/tolhIsF9N1M/oracle-business-intelligence-11117.html" title="Oracle Business Intelligence 11.1.1.7 Available" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-c82yp7p6_Bc/UVqYyvCvupI/AAAAAAAAENI/_0C2nZdwsWg/s72-c/obiee-11.1.1.7-screenshot.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/oracle-business-intelligence-11117.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFSXwzfCp7ImA9WhBXF0Q.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-6920014788456552855</id><published>2013-04-01T09:00:00.000+02:00</published><updated>2013-04-01T09:00:18.284+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-01T09:00:18.284+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><title>Siebel 8.1.1.10 Workflow Comparison: Looking for Easter Eggs on April 1st</title><content type="html">With Siebel 8.1.1.10 having been released relatively short after 8.1.1.9, it strikes me that Siebel engineers seem eager to provide the community with something to read up and evaluate over the holidays. Before Christmas 2012, it was 8.1.1.9 (on Dec, 21st) and just before Easter 2013, 8.1.1.10 was released. Coincidence? Sure enough, but a funny one nonetheless.&lt;br /&gt;
&lt;br /&gt;
As for "reading up" over the holidays, we have an &lt;a href="http://docs.oracle.com/cd/E14004_01/portalres/pages/docalpha_all.htm" target="_blank"&gt;&lt;b&gt;updated Siebel bookshelf&lt;/b&gt;&lt;/a&gt; and some white papers. In &lt;a href="http://www.oracle.com/us/products/applications/atg/siebel-tools-irm-1915961.pdf" target="_blank"&gt;one of these papers, Oracle describes the new &lt;b&gt;Incremental Repository Merge (IRM)&lt;/b&gt; feature&lt;/a&gt; of Siebel Tools. While I still have to digest the information about IRM, I found one screenshot particularly intriguing:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WSNczDKT34Q/UVVzS65s4wI/AAAAAAAAELY/yui8T1BDAls/s1600/siebel-8.1.1.10-wf-comparison-5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="206" src="http://3.bp.blogspot.com/-WSNczDKT34Q/UVVzS65s4wI/AAAAAAAAELY/yui8T1BDAls/s400/siebel-8.1.1.10-wf-comparison-5.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Screenshot of a screenshot&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The feature introduced as "&lt;b&gt;Visually Compare Workflows or Tasks&lt;/b&gt;" points out a visual comparison of two workflow processes or task flows (or rather two different versions of the same workflow process or task flow).&lt;br /&gt;
&lt;br /&gt;
Of course I was eager to check this new feature out. I have &lt;a href="http://siebel-essentials.blogspot.com/2013/03/upgrading-your-siebel-crm-self-study.html" target="_blank"&gt;patched Siebel Tools to 8.1.1.10&lt;/a&gt;, so I fired it up, selected two versions of a workflow process and choose &lt;i&gt;&lt;b&gt;Compare Objects - Selected&lt;/b&gt;&lt;/i&gt;&amp;nbsp;from the menu. But I saw nothing but the plain old comparison window. Should I be the victim of an &lt;a href="http://en.wikipedia.org/wiki/April_Fools'_Day" target="_blank"&gt;april fool's prank&lt;/a&gt; in the end?&lt;br /&gt;
&lt;br /&gt;
But I am not one to give up easily, so &lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge12.html" target="_blank"&gt;back to the documentation&lt;/a&gt; I went and indeed, in order to run Siebel Tools in &lt;b style="font-style: italic;"&gt;Innovation Pack Mode&lt;/b&gt;, we have to add the following switch to the Siebel Tools shortcut:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;/iPackMode&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With Siebel Tools started again in &lt;i&gt;iPack mode&lt;/i&gt;, I went through the same procedure of selecting two different versions of the same workflow processes (the newer as first and the older as second) and choosing &lt;i&gt;Compare Objects - Selected&lt;/i&gt;&amp;nbsp;from the menu, just as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-mw1QUyV-ay4/UVV03ZZL3YI/AAAAAAAAELk/WPjlLS6HTOc/s1600/siebel-8.1.1.10-wf-comparison-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://4.bp.blogspot.com/-mw1QUyV-ay4/UVV03ZZL3YI/AAAAAAAAELk/WPjlLS6HTOc/s400/siebel-8.1.1.10-wf-comparison-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And, lo and behold, this is what I witnessed:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-VbzFxe0I08Q/UVV1C7dCiMI/AAAAAAAAELs/SiqkKRi_a_o/s1600/siebel-8.1.1.10-wf-comparison-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://3.bp.blogspot.com/-VbzFxe0I08Q/UVV1C7dCiMI/AAAAAAAAELs/SiqkKRi_a_o/s400/siebel-8.1.1.10-wf-comparison-2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As a matter of fact, the new visual comparison shows the newer version (first selection) on top and the older version (second selection) below. A legend helps to interpret the colored boxes:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Yellow = Modified Item&lt;/li&gt;
&lt;li&gt;Red = Deleted Item&lt;/li&gt;
&lt;li&gt;Green = New Item&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Double-clicking the items brings up the good ol' comparison window which allows deeper introspection of the differences:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-G3OBY1VzYaE/UVV1s2HB4OI/AAAAAAAAEL4/p7OIFNX3FhY/s1600/siebel-8.1.1.10-wf-comparison-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="346" src="http://3.bp.blogspot.com/-G3OBY1VzYaE/UVV1s2HB4OI/AAAAAAAAEL4/p7OIFNX3FhY/s400/siebel-8.1.1.10-wf-comparison-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The new visual comparison works for any pair of workflow processes or tasks, they do not necessarily be just different versions. Here is a screenshot which shows the comparison of two tasks:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-LHWJPjSdcQY/UVV2AcxtXKI/AAAAAAAAEMA/VSxQc365I7Y/s1600/siebel-8.1.1.10-task-comparison-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://1.bp.blogspot.com/-LHWJPjSdcQY/UVV2AcxtXKI/AAAAAAAAEMA/VSxQc365I7Y/s400/siebel-8.1.1.10-task-comparison-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As shown above, the comparison windows also allow zooming out (and in).&lt;br /&gt;
&lt;br /&gt;
So, despite of the date, this is neither a prank nor an &lt;a href="http://lifehacker.com/371083/top-10-software-easter-eggs" target="_blank"&gt;easter egg&lt;/a&gt;. It is a real cool new feature of Siebel 8.1.1.10.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/ZMk_HD0CKnM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/6920014788456552855/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=6920014788456552855&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6920014788456552855?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6920014788456552855?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/ZMk_HD0CKnM/siebel-81110-workflow-comparison.html" title="Siebel 8.1.1.10 Workflow Comparison: Looking for Easter Eggs on April 1st" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-WSNczDKT34Q/UVVzS65s4wI/AAAAAAAAELY/yui8T1BDAls/s72-c/siebel-8.1.1.10-wf-comparison-5.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/04/siebel-81110-workflow-comparison.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEFRXc6eip7ImA9WhBXFEg.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-7886678306196087850</id><published>2013-03-28T09:00:00.000+01:00</published><updated>2013-03-28T09:00:14.912+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-28T09:00:14.912+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Upgrading Your Siebel CRM Self-Study Environment to 8.1.1.10</title><content type="html">Many of my dear readers have followed &lt;a href="http://siebel-essentials.blogspot.de/2012/04/installing-siebel-crm-self-study.html" target="_blank"&gt;this popular article&lt;/a&gt;&amp;nbsp;in order to install a Siebel 8.1.x self-study environment on their laptops or workstations. A self-study environment consists of the following:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Siebel Developer (or 'Mobile') Web Client&lt;/li&gt;
&lt;li&gt;Siebel Tools&lt;/li&gt;
&lt;li&gt;Siebel Sample Database&lt;/li&gt;
&lt;/ul&gt;
It provides a lot of benefits for the ambitious Siebel professional. Having all "vanilla" applications along with plenty of sample data (iHelp, anyone?) at your fingertips makes learning, evaluating and prototyping so much easier.&lt;br /&gt;
&lt;br /&gt;
Now the winds of change are in full force with &lt;a href="http://siebel-essentials.blogspot.com/2013/03/siebel-crm-maintenance-release-81110.html" target="_blank"&gt;Siebel 8.1.1.10&lt;/a&gt; just having been released last week.&lt;br /&gt;
&lt;br /&gt;
Today I would like to point out the major steps to "upgrade" your self-study environment to the latest release.&lt;br /&gt;
&lt;br /&gt;
These are the steps:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Download and extract the installation archives&lt;/li&gt;
&lt;li&gt;Create the installation image&lt;/li&gt;
&lt;li&gt;Install the patch&lt;/li&gt;
&lt;li&gt;Copy the new sample database and SRF files (optional)&lt;/li&gt;
&lt;li&gt;Test&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;1. Download and extract the installation archives&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Log on to &lt;a href="https://edelivery.oracle.com/" target="_blank"&gt;Oracle's Software Delivery Cloud&lt;/a&gt; (aka E-Delivery) and accept the export restrictions. In the Search form, choose &lt;b&gt;Siebel CRM&lt;/b&gt; as the &lt;i&gt;Product Pack &lt;/i&gt;and &lt;b&gt;Microsoft Windows x64 (64-bit)&lt;/b&gt; as the &lt;i&gt;Platform&lt;/i&gt;. Then hit the &lt;i&gt;Go &lt;/i&gt;button.&lt;br /&gt;
&lt;br /&gt;
In the result list, locate the entry named "&lt;i&gt;Siebel Business Applications (with Translations) Media Pack 8.1.1.10/8.1.1 for Microsoft Windows&lt;/i&gt;" and click on it.&lt;br /&gt;
&lt;br /&gt;
Scroll down to the second list (below the language pack list) and download the following files:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Siebel Industry Applications Version 8.1.1.10 Maintenance Release Guide&lt;/li&gt;
&lt;li&gt;Siebel Industry Applications Version 8.1.1.10 Siebel Client&lt;/li&gt;
&lt;li&gt;Siebel Industry Applications Version 8.1.1.10 Siebel Tools&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Siebel Business Applications Version 8.1.1.10 Sample Database Files&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Siebel Business Applications Version 8.1.1.10 Siebel Repository Files&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Siebel Business Applications Version 8.1.1.10 ImageCreator Files&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dlm47_DlK3c/UVC_h-JjwyI/AAAAAAAAEKY/LiLf-WHDGxo/s1600/siebel-8.1.1.10-files.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="307" src="http://2.bp.blogspot.com/-dlm47_DlK3c/UVC_h-JjwyI/AAAAAAAAEKY/LiLf-WHDGxo/s400/siebel-8.1.1.10-files.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Files to be downloaded from Oracle's Software Delivery Cloud for patching a Siebel CRM self-study environment to 8.1.1.10 are highlighted in red.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Extract the contents of the &lt;i&gt;Client, Tools &lt;/i&gt;and &lt;i&gt;ImageCreator&lt;/i&gt;&amp;nbsp;archives into a single folder as usual. Keep the other archives for later use.&lt;br /&gt;
&lt;br /&gt;
While on E-Delivery, you might want to download the &lt;i&gt;Base &lt;/i&gt;and&lt;i&gt; Thirdparty &lt;/i&gt;archives&amp;nbsp;and any language pack you need for server installations as well but for the self-study environment you won't need them.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Create the installation image&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you haven't been involved in the last patches for Siebel CRM, you might be searching for the Siebel Network Image Creator executable a while. Since 8.1.1.8, we use the &lt;b&gt;snic.bat&lt;/b&gt; file to invoke it.&lt;br /&gt;
&lt;br /&gt;
Before you run the snic.bat file, ensure that the &lt;b&gt;JAVA_HOME &lt;/b&gt;environment variable points to a valid Java SDK.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-MSKrhQF2tZo/UVFJTHSWRpI/AAAAAAAAEKo/Z4nB26Xss9Y/s1600/siebel-8.1.1.10-snic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://4.bp.blogspot.com/-MSKrhQF2tZo/UVFJTHSWRpI/AAAAAAAAEKo/Z4nB26Xss9Y/s400/siebel-8.1.1.10-snic.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Proceed through the dialogues as usual, choosing the following options:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Create a new image&lt;/li&gt;
&lt;li&gt;Create only a patch image&lt;/li&gt;
&lt;li&gt;Location: Choose a target directory&lt;/li&gt;
&lt;li&gt;Platform: Windows&lt;/li&gt;
&lt;li&gt;Products: Siebel Web Client and Siebel Tools&lt;/li&gt;
&lt;li&gt;Languages: ENU and any other you might need&lt;/li&gt;
&lt;/ul&gt;
When the wizard completes, you will find the Siebel installation image files in the target directory.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Install the patch&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Befaure launching the patch installer, ensure that you have exited all instances of Siebel Developer/Mobile Web Client and Siebel Tools. Just to be on the safe side, close all instances of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
To install the patches, navigate to the installation image folder for the respective product and open the &lt;i&gt;Disk1/install &lt;/i&gt;subdirectory. Launch the &lt;b&gt;setup.bat&lt;/b&gt;&amp;nbsp;file.&lt;br /&gt;
&lt;br /&gt;
This will bring up Oracle Universal Installer. The only thing you need to watch out for is to select the proper &lt;b&gt;Oracle Home&lt;/b&gt; and &lt;b&gt;Oracle Location&lt;/b&gt;. If you have only one instance of Siebel 8.1.x client and tools on your machine, it'll be probably alright with the defaults.&lt;br /&gt;
&lt;br /&gt;
The installer will back up the existing installation and then applies the patch. Wait for the installer to display a completion message.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-i0djApj0mSY/UVFLiF4FbQI/AAAAAAAAEK4/Rs9jIt-UnLI/s1600/siebel-8.1.1.10-oui.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://2.bp.blogspot.com/-i0djApj0mSY/UVFLiF4FbQI/AAAAAAAAEK4/Rs9jIt-UnLI/s400/siebel-8.1.1.10-oui.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;4. Copy the new sample database and SRF files (optional)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A big difference to earlier maintenance releases is that the good people at Oracle have decided to create a new sample database which supports all enhancements of 8.1.1.10 (that is the repository contains all 'ACRs' since 8.1.1.1 and the database schema changes are applied).&lt;br /&gt;
&lt;br /&gt;
In addition, you can also download a set of SRF files which match the content of the new vanilla repository with all cumulative enhancements.&lt;br /&gt;
&lt;br /&gt;
So the good news is we can simply extract the &lt;i&gt;Repository Files&lt;/i&gt; and &lt;i&gt;Sample Database Files &lt;/i&gt;archives to a location of our choice and &lt;b&gt;copy the SRF files&lt;/b&gt; (there's one for each language pack) to the respective &lt;i&gt;/OBJECTS&lt;/i&gt; folder (don't forget to copy it to the Siebel Tools folder as well) and &lt;b&gt;copy the new sse_samp.dbf file&lt;/b&gt; to the&amp;nbsp;&lt;i&gt;SAMPLE\UTF8 &lt;/i&gt;folder of the client installation directory.&lt;br /&gt;
&lt;br /&gt;
In case you have done some prototyping in your "old" sample database, you might want to rename your previous versions of SRF and DBF files so you can still access them using a copy of your existing .cfg files.&lt;br /&gt;
&lt;br /&gt;
As you might be aware, the new &lt;i&gt;Incremental Repository Merge&lt;/i&gt;&amp;nbsp;feature provides for a secure way to apply the innovation pack features into an existing customized repository but is for server databases only.&lt;br /&gt;
&lt;br /&gt;
I tend to archive my prototypes as .sif files on a regular basis and so I can inject them into the new vanilla repository if need be.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. Test&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Launch your Siebel shortcuts to ensure that everything is in place. If you want to evaluate &lt;b&gt;Open UI&lt;/b&gt; or the new &lt;a href="http://siebel-essentials.blogspot.com/2013/02/siebel-mobile-connected-applications.html" target="_blank"&gt;&lt;b&gt;mobile applications&lt;/b&gt;&lt;/a&gt; you might need to set the parameter &lt;b&gt;&lt;i&gt;EnableOpenUI&lt;/i&gt; to &lt;i&gt;TRUE&lt;/i&gt;&lt;/b&gt; in the .cfg file and use the &lt;b&gt;/b&lt;/b&gt; switch in your shortcuts to open the Siebel Web Client in a browser of your choice.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BX13Y6a-5yg/UVKasKYi3lI/AAAAAAAAELI/StOHOisjuns/s1600/siebel-8.1.1.10-open-ui.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="212" src="http://3.bp.blogspot.com/-BX13Y6a-5yg/UVKasKYi3lI/AAAAAAAAELI/StOHOisjuns/s400/siebel-8.1.1.10-open-ui.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Siebel 8.1.1.10 sample database on Open UI in full glory, complete with reports panel.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/SUWVRWI7SPE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/7886678306196087850/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=7886678306196087850&amp;isPopup=true" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/7886678306196087850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/7886678306196087850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/SUWVRWI7SPE/upgrading-your-siebel-crm-self-study.html" title="Upgrading Your Siebel CRM Self-Study Environment to 8.1.1.10" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-dlm47_DlK3c/UVC_h-JjwyI/AAAAAAAAEKY/LiLf-WHDGxo/s72-c/siebel-8.1.1.10-files.png" height="72" width="72" /><thr:total>12</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/upgrading-your-siebel-crm-self-study.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFQnk5eyp7ImA9WhBXEUQ.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-4993280458644663431</id><published>2013-03-25T09:00:00.000+01:00</published><updated>2013-03-25T09:00:13.723+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-25T09:00:13.723+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Patch" /><title>Siebel CRM Maintenance Release 8.1.1.10 Available</title><content type="html">I must confess that I wasn't prepared for the Siebel maintenance release 8.1.1.10 to appear so soon on &lt;a href="http://edelivery.oracle.com/" target="_blank"&gt;Oracle's Software Delivery Cloud&lt;/a&gt; (aka E-Delivery).&lt;br /&gt;
&lt;br /&gt;
The files are on my disk and are waiting to be installed. Some savory highlights include:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/cd/E14004_01/books/UPG/UPG_IRM_Merge.html" target="_blank"&gt;Incremental Repository Merge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Full set of Repository Files&lt;/li&gt;
&lt;li&gt;Updated Sample Database&lt;/li&gt;
&lt;li&gt;Multiple Enhancements in Siebel Order Management and Loyalty&lt;/li&gt;
&lt;li&gt;Integration with ATG and Oracle Real-Time Scheduler&lt;/li&gt;
&lt;li&gt;and of course fixes and enhancements for Open UI and Mobile Applications&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
This patch includes many features introduced in other patches as a bundle.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-k2O0c7JfPJM/UU38gEWJBFI/AAAAAAAAEKI/iWJJ2nMIPDg/s1600/siebel-8.1.1.10-updates.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="306" src="http://2.bp.blogspot.com/-k2O0c7JfPJM/UU38gEWJBFI/AAAAAAAAEKI/iWJJ2nMIPDg/s320/siebel-8.1.1.10-updates.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Interesting times ahead, folks! The &lt;a href="http://docs.oracle.com/cd/E14004_01/portalres/pages/docalpha_all.htm" target="_blank"&gt;updated bookshelf is here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/5W9cF8XyJfo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/4993280458644663431/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=4993280458644663431&amp;isPopup=true" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4993280458644663431?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4993280458644663431?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/5W9cF8XyJfo/siebel-crm-maintenance-release-81110.html" title="Siebel CRM Maintenance Release 8.1.1.10 Available" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-k2O0c7JfPJM/UU38gEWJBFI/AAAAAAAAEKI/iWJJ2nMIPDg/s72-c/siebel-8.1.1.10-updates.png" height="72" width="72" /><thr:total>13</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-crm-maintenance-release-81110.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8ERHg_eyp7ImA9WhBQGEg.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-4316207247494445143</id><published>2013-03-21T09:00:00.000+01:00</published><updated>2013-03-21T09:00:05.643+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-21T09:00:05.643+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><title>Re-Post: Siebel Workflow Made Simple - Series</title><content type="html">This week I am delivering the &lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=609&amp;amp;p_org_id=1001&amp;amp;lang=US&amp;amp;get_params=dc:D70537GC10,p_preview:N" target="_blank"&gt;Siebel Business Automation&lt;/a&gt; class in &lt;a href="http://www.youtube.com/watch?feature=player_detailpage&amp;amp;v=czXVqcx16bw" target="_blank"&gt;Live Virtual Class (LVC)&lt;/a&gt; format to a very nice crowd. If you have ever taken this class you will remember the main focus on &lt;a href="http://siebel-essentials.blogspot.co.at/search/label/Workflow" target="_blank"&gt;&lt;b&gt;Siebel Workflow&lt;/b&gt;&lt;/a&gt;. Over the past years, I have posted many articles on this core feature of Siebel CRM and I thought it is worthwhile to just re-iterate a few things.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-uaBwu7BCSNQ/URd8H6qXAwI/AAAAAAAAEEA/k7CYvwQoIic/s1600/quiz-workflow-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://4.bp.blogspot.com/-uaBwu7BCSNQ/URd8H6qXAwI/AAAAAAAAEEA/k7CYvwQoIic/s320/quiz-workflow-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In winter 2008/2009 I published a mini-series on Siebel Workflow, discussing some intriguing topics like loops, error messages and dot notation. Please click the links to go directly to the chapters of the series:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://siebel-essentials.blogspot.com/2008/12/workflow-made-simple-part-i-update.html" target="_blank"&gt;Part 1: Update Multiple Records&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://siebel-essentials.blogspot.com/2008/12/workflow-made-simple-part-ii-iterate.html" target="_blank"&gt;Part 2: Iterate Over Child Records&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://siebel-essentials.blogspot.com/2009/01/workflow-made-simple-part-iii-display.html" target="_blank"&gt;Part 3: Display Error Messages&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://siebel-essentials.blogspot.com/2009/01/workflow-made-simple-part-iv-using-dot.html" target="_blank"&gt;Part 4: Using Dot Notation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I hope you enjoy the series. If you want to read more on Siebel Workflow, &lt;a href="http://siebel-essentials.blogspot.com/search/label/Workflow" target="_blank"&gt;click here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/tFYInIqSgGs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/4316207247494445143/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=4316207247494445143&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4316207247494445143?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4316207247494445143?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/tFYInIqSgGs/re-post-siebel-workflow-made-simple.html" title="Re-Post: Siebel Workflow Made Simple - Series" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-uaBwu7BCSNQ/URd8H6qXAwI/AAAAAAAAEEA/k7CYvwQoIic/s72-c/quiz-workflow-2.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/re-post-siebel-workflow-made-simple.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEER306fyp7ImA9WhBQFUQ.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-8901411740408840516</id><published>2013-03-18T09:00:00.000+01:00</published><updated>2013-03-18T09:00:06.317+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-18T09:00:06.317+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI - Applets 'R' Portlets</title><content type="html">I must admit, &lt;a href="http://siebel-essentials.blogspot.com/search/label/Open%20UI" target="_blank"&gt;Siebel Open UI&lt;/a&gt; is keeping me busy these days. Here is a feature with a somewhat low profile but it is nonetheless worth mentioning.&lt;br /&gt;
&lt;br /&gt;
In the pre-Open UI days, the only way to include Siebel data as portlets in third-party web portals was to extract the XML (using the &lt;a href="http://siebel-essentials.blogspot.com/2009/09/custom-siebel-ui-closer-look-at-swe-api.html" target="_blank"&gt;SWESetMarkup&lt;/a&gt; command in the URL) and/or use XSLT style sheets to convert it to meaningful HTML.&lt;br /&gt;
&lt;br /&gt;
With Open UI, a new parameter for the &lt;a href="http://docs.oracle.com/cd/B40099_02/books/PortalFrame/PortalFrameDelConExtWebApps24.html" target="_blank"&gt;SWE API&lt;/a&gt; has been introduced, namely &lt;i&gt;&lt;b&gt;IsPortlet&lt;/b&gt;&lt;/i&gt;, and here is an example how to use it:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;http://webserver/callcenter_enu/start.swe?SWECmd=GotoView&amp;amp;SWEView=Home+Page+View+(WCC)&amp;amp;&lt;b&gt;IsPortlet=1&lt;/b&gt;&amp;amp;SWEApplet=Activity+List+Applet+(WCC+Home)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And this is what you get when you call that URL&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-hmxIZzowxfE/UUDJZg7jvZI/AAAAAAAAEJo/gpx-ZSh_wtI/s1600/open-ui-isportlet-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="228" src="http://4.bp.blogspot.com/-hmxIZzowxfE/UUDJZg7jvZI/AAAAAAAAEJo/gpx-ZSh_wtI/s400/open-ui-isportlet-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
It actually retrieves only a single applet, in this case the &lt;i&gt;Activity List Applet&lt;/i&gt;&amp;nbsp;from the Siebel Call Center Home Page View.&lt;br /&gt;
&lt;br /&gt;
You must place the &lt;i&gt;&amp;amp;IsPortlet=1&lt;/i&gt; command right between the &lt;i&gt;SWEView &lt;/i&gt;and &lt;i&gt;SWEApplet &lt;/i&gt;commands, otherwise the outcome is not so predictable.&lt;br /&gt;
&lt;br /&gt;
This feature could prove really useful when you want to mash up Siebel data (applets) within other portals or web sites.&lt;br /&gt;
&lt;br /&gt;
Of course we can do a bit more thanks to the good ol' SWE API. A URL similar to this will fetch the Opportunity List Applet and execute a predefined query, for example "Big Deals":&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;http://webserver/callcenter_enu/start.swe?SWECmd=GotoView&amp;amp;SWEView=Opportunity+List+View&amp;amp;IsPortlet=1&amp;amp;SWEApplet=Opportunity+List+Applet&amp;amp;SWEAC=SWECmd=ExecuteNamedQuery&amp;amp;SWEQueryName=Deals+over+$1M&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
That should be enough to light the fire ;-)&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/FqYrWZu5964" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/8901411740408840516/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=8901411740408840516&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8901411740408840516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/8901411740408840516?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/FqYrWZu5964/siebel-open-ui-applets-r-portlets.html" title="Siebel Open UI - Applets 'R' Portlets" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-hmxIZzowxfE/UUDJZg7jvZI/AAAAAAAAEJo/gpx-ZSh_wtI/s72-c/open-ui-isportlet-1.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-open-ui-applets-r-portlets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcER3Y9eSp7ImA9WhBQEkk.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-4978418689235113722</id><published>2013-03-14T09:00:00.000+01:00</published><updated>2013-03-14T09:00:06.861+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-14T09:00:06.861+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><title>Siebel Rollup Views - Roll Your Own (Part 2)</title><content type="html">Welcome back to the second part of our discussion of roll-up views in Siebel CRM.&lt;br /&gt;
&lt;br /&gt;
Today we will explore how to create the necessary repository artifacts to extend the account hierarchy with a new object. When you navigate to User Preferences - Global Accounts you will see the "Tree Objects" supported out of the box.&lt;br /&gt;
&lt;br /&gt;
As of version 8.1.1.x these objects are:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Account Team (aka Positions)&lt;/li&gt;
&lt;li&gt;Activities&lt;/li&gt;
&lt;li&gt;Assets&lt;/li&gt;
&lt;li&gt;Contacts&lt;/li&gt;
&lt;li&gt;Opportunities&lt;/li&gt;
&lt;li&gt;Orders&lt;/li&gt;
&lt;li&gt;Quotes&lt;/li&gt;
&lt;li&gt;Service Requests&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
What about adding &lt;i&gt;Addresses&lt;/i&gt;&amp;nbsp;to the list and be able to see a rolled-up list of all addresses of an account hierarchy (maybe to create a fancy map view showing all locations of a corporation)?&lt;br /&gt;
&lt;br /&gt;
Sounds like a good idea, and thanks to the good people at Oracle, they have &lt;a href="http://docs.oracle.com/cd/E16348_01/books/AppsAdmin/AppsAdminAccounts11.html" target="_blank"&gt;documented the steps to do this&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So let's get started:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Copy an existing business component&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To make things simple, we can always copy existing objects in Siebel Tools. So if we want to work with address data we should copy the &lt;i&gt;CUT Address &lt;/i&gt;business component. Make sure you give the copy a meaningful and distinguishable name.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Add joins, fields and user properties to enable the new BC for dynamic hierarchies&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;a href="http://docs.oracle.com/cd/E16348_01/books/AppsAdmin/AppsAdminAccounts11.html" target="_blank"&gt;bookshelf documentation&lt;/a&gt; offers a clear list of joins, fields and user properties to be added to the new business component. Lazy dudes like me will love the &lt;b&gt;Compare Objects&lt;/b&gt; feature in Siebel Tools. We can use exactly that to copy over the child objects from any existing business component which is enabled for global accounts, such as the&amp;nbsp;&lt;i&gt;&lt;b&gt;Global Account Opportunity&lt;/b&gt;&lt;/i&gt; BC.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-TWcH6Xa6wng/UThw0i6v76I/AAAAAAAAEIo/aVGPCJo8gnM/s1600/siebel-global-account-new-object-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://2.bp.blogspot.com/-TWcH6Xa6wng/UThw0i6v76I/AAAAAAAAEIo/aVGPCJo8gnM/s400/siebel-global-account-new-object-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As per the documentation, the following objects must be created (or copied over using the &lt;i&gt;Compare Objects&lt;/i&gt;&amp;nbsp;feature) in the new BC:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Joins:&amp;nbsp;&lt;/u&gt;&lt;br /&gt;
DynHierarchy Visibility Organization&lt;br /&gt;
DynHierarchy Visibility Position&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Fields:&lt;/u&gt;&lt;br /&gt;
Dynamic Hierarchy Id&lt;br /&gt;
DynHierarchy Visibility Organization Id&lt;br /&gt;
DynHierarchy Visibility Position Id&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;User Properties:&lt;/u&gt;&lt;br /&gt;
DynHierarchy Hierarchy Id Field&lt;br /&gt;
DynHierarchy Visibility Organization Id Field&lt;br /&gt;
DynHierarchy Visibility Position Id Field&lt;br /&gt;
&lt;br /&gt;
During my research I experienced a bit of a drawback when I got an SQL error while trying to open the new views. I found out that it was related to an implicit join in the &lt;i&gt;CUT Address &lt;/i&gt;BC to S_CON_ADDR. I "massaged" the BC by adding an explicit join with a name different from the table name to S_CON_ADDR. That sorted it out.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Create Links&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Next, we must create links between the &lt;i&gt;Global Account&lt;/i&gt;&amp;nbsp;and &lt;i&gt;Account &lt;/i&gt;business component and our new BC. Again, we can switch to idler mode and simply copy existing objects. According to the documentation, we have to do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy the &lt;i&gt;Global Account/Opportunity&lt;/i&gt; link 2 times and rename the copies to:&lt;br /&gt;
&lt;i&gt;Global Account/[name of the original business component]&lt;/i&gt; and &lt;i&gt;Global Account/[name of the new business component] &lt;/i&gt;respectively. Then change the &lt;i&gt;Child Buscomp&lt;/i&gt;&amp;nbsp;property for both links to the actual BCs (original and new).&lt;br /&gt;
&lt;br /&gt;
Copy the &lt;i&gt;Global Account/Global Account Opportunity (Hierarchy Denorm) &lt;/i&gt;link and change the&lt;br /&gt;
child buscomp to the new BC. Rename the new link to &lt;i&gt;Global Account/[new BC] (Hierarchy Denorm).&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Copy the &lt;i&gt;Account/Global Account Opportunity (Hierarchy Denorm) &lt;/i&gt;link. Change the child buscomp to the new BC and rename the link to &lt;i&gt;Account/[new BC] (Hierarchy Denorm).&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the link with &lt;i&gt;Account &lt;/i&gt;as the parent is only needed if you want to use the new BC within the &lt;i&gt;Account &lt;/i&gt;business object (for example to provide a detail view in the Accounts screen as shown in part 1 of this series).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Modify business objects&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we can add the new business component to the &lt;i&gt;Global Account Hierarchy&lt;/i&gt; and &lt;i&gt;Account&lt;/i&gt;&amp;nbsp;business objects. For the former, add the original BC and link and add the new BC and use the link suffixed with&amp;nbsp;&lt;i&gt;Hierarchy Denorm.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
To support the Account BO, add the new BC and use the link suffixed with&amp;nbsp;&lt;i&gt;Hierarchy Denorm.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-dEXxfPvgP8Y/UTiUF6CeU2I/AAAAAAAAEI4/6AKA4N0qG7Y/s1600/siebel-global-account-new-object-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-dEXxfPvgP8Y/UTiUF6CeU2I/AAAAAAAAEI4/6AKA4N0qG7Y/s400/siebel-global-account-new-object-5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;5. Create and modify the UI layer&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Flex your developer muscles by creating a nice list applet for the new BC. For a detail view similar to the one shown in the first part of this series, copy the &lt;i&gt;FINS IBD Opportunities Rollup View. &lt;/i&gt;Use a meaningful name for the new view and replace the &lt;i&gt;FINS IBD Opportunities List Applet&lt;/i&gt; with the new applet.&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
Add the new view to the Accounts screen and register it with an appropriate responsibility so you can access it for testing purposes.&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;b&gt;6. Create a new List of Values entry&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
In the List of Values administration, add a new LOV record for the type &lt;i&gt;GLOBACC_USERPREF. &lt;/i&gt;Set the Display Name and LIC to a value you want to appear in the user preferences view for &lt;i&gt;Global Accounts&lt;/i&gt;&amp;nbsp;settings (for example "Addresses").&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;b&gt;7. Modify the &lt;i&gt;Global Accounts Hierarchy Tree Applet&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
In the applet list, find and check out/lock the &lt;i&gt;Global Accounts Hierarchy Tree Applet. &lt;/i&gt;Go to &lt;i&gt;Tree / Tree Node&lt;/i&gt;&amp;nbsp;and copy the &lt;i&gt;Opportunity &lt;/i&gt;node. Provide values for the Name, Business Component (the new BC), Applet (created in step 5), Display Name, Bitmaps, Label Field and Position properties.&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;b&gt;8. Compile and Test&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
Compile all new and modified object definitions and launch your test client.&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
First, verify that the new object appears (and is not marked as hidden) in the &lt;i&gt;Global Accounts&lt;/i&gt;&amp;nbsp;user preferences:&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-b3LRYrjVMXc/UTiiNxRkkwI/AAAAAAAAEJI/m01zOmAY2C8/s1600/siebel-global-account-new-object-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="261" src="http://4.bp.blogspot.com/-b3LRYrjVMXc/UTiiNxRkkwI/AAAAAAAAEJI/m01zOmAY2C8/s400/siebel-global-account-new-object-2.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;New object "Addresses" appears in the &lt;i&gt;Global Accounts&lt;/i&gt;&amp;nbsp;user preferences.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both;"&gt;
Now, let's open the &lt;i&gt;Global Accounts Hierarchy List&lt;/i&gt;&amp;nbsp;view (the link should be in the second level navigation under the Accounts screen). When you use the sample database, select the &lt;i&gt;Abbey General Hospital&lt;/i&gt;&amp;nbsp;record and expand the explorer tree. You should see an "Addresses" node and the applet you created in step 5 should be displayed:&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-LUInYx7Nsso/UTijmsDx2jI/AAAAAAAAEJQ/GMu0G97zMXU/s1600/siebel-global-account-new-object-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://4.bp.blogspot.com/-LUInYx7Nsso/UTijmsDx2jI/AAAAAAAAEJQ/GMu0G97zMXU/s400/siebel-global-account-new-object-4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Note: I modified the address data for the sub-accounts beforehand, so what you see could differ from the screenshot above.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you created a new view in the Accounts screen, you should also test that and verify that it displays all addresses across all sub-accounts:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-yRETcK4ZiUs/UTij8NB-4CI/AAAAAAAAEJY/rWkEHA_LBF4/s1600/siebel-global-account-new-object-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="137" src="http://3.bp.blogspot.com/-yRETcK4ZiUs/UTij8NB-4CI/AAAAAAAAEJY/rWkEHA_LBF4/s400/siebel-global-account-new-object-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The &lt;i&gt;Global Account &lt;/i&gt;feature can be easily extended by following Oracle's documentation. In this two part series we demonstrated how to enhance the Accounts screen with hierarchical data and how to add an entirely new object to the Global Accounts Hierarchy view.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
have a nice day&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
@lex&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/hVIFXQz9mrs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/4978418689235113722/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=4978418689235113722&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4978418689235113722?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/4978418689235113722?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/hVIFXQz9mrs/siebel-rollup-views-roll-your-own-part-2.html" title="Siebel Rollup Views - Roll Your Own (Part 2)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-TWcH6Xa6wng/UThw0i6v76I/AAAAAAAAEIo/aVGPCJo8gnM/s72-c/siebel-global-account-new-object-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-rollup-views-roll-your-own-part-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8EQ3ozeCp7ImA9WhBRGUU.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-2828327124297318631</id><published>2013-03-11T09:00:00.000+01:00</published><updated>2013-03-11T09:00:02.480+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-11T09:00:02.480+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><title>Siebel Rollup Views - Roll Your Own (Part 1)</title><content type="html">Some while ago, dear valued reader Silvia posted a &lt;a href="http://siebel-essentials.blogspot.com/2010/12/24-siebel-tips-23-roll-up-views.html?showComment=1362168975184#c6387609031702161967" target="_blank"&gt;comment&lt;/a&gt; on a post I wrote back in 2012 on Siebel Roll-up views.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_f689sAiiG-E/TQeAzprlbHI/AAAAAAAABYk/HrZ_dJyHXvw/s400/roll-up-view.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://1.bp.blogspot.com/_f689sAiiG-E/TQeAzprlbHI/AAAAAAAABYk/HrZ_dJyHXvw/s400/roll-up-view.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In Siebel Industry Applications (SIA), you will find the following standard views in the Accounts screen:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Activities - Roll-up&lt;/li&gt;
&lt;li&gt;Contact - Roll-up&lt;/li&gt;
&lt;li&gt;Coverage Team - Roll-up&lt;/li&gt;
&lt;li&gt;Opportunities - Roll-up&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
These views are part of the &lt;a href="http://docs.oracle.com/cd/E16348_01/books/AppsAdmin/AppsAdminAccounts.html" target="_blank"&gt;Global Accounts&lt;/a&gt;&amp;nbsp;feature and provide some stunning insight into accounts that are part of a hierarchy. When you select a parent account, the views will show the rolled-up child records (activities, opportunities, etc.) for all child accounts in a single applet. A great resource for sales managers to get insight into a bigger account structure.&lt;br /&gt;
&lt;br /&gt;
Silvia asked if similar functionality is available for the Service Request object and I promised to look it up. During my investigations I found out that - yes, indeed - the good people at Oracle (or maybe Siebel) have already laid the foundation for displaying a rolled-up list of service requests.&lt;br /&gt;
&lt;br /&gt;
There are some additional steps to do which I will describe in this post.&lt;br /&gt;
&lt;br /&gt;
Of course, I became more and more intrigued by the question whether we could add any other child BC to the account hierarchy. And I found solace by reading bookshelf. So the next post in this small series will describe how to add a new object.&lt;br /&gt;
&lt;br /&gt;
So let's see how we can create a view similar to the one above which shows service requests rolled-up for a given account hierarchy.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. The&amp;nbsp;&lt;i&gt;Global Account Service Request&lt;/i&gt; business component&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In your repository, you should find a business component named&amp;nbsp;&lt;i&gt;Global Account Service Request. &lt;/i&gt;It is in fact a copy of the &lt;i&gt;Service Request &lt;/i&gt;BC.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Create a link&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The aforementioned BC is a child in a link with the rather lengthy name of &lt;i&gt;Global Account/Global Account Service Request(Hierarchy Denorm)&lt;/i&gt;. So it is possible to display the rolled-up list of service requests in the Global Account views.&lt;br /&gt;
&lt;br /&gt;
To enable the creation of a view in the Accounts screen we must create a new link. This can be easily accomplished by copying the link we found and setting &lt;i&gt;Account&lt;/i&gt;&amp;nbsp;as the &lt;i&gt;Parent Business Component&lt;/i&gt;. No other changes are needed. The name of the new link should be&amp;nbsp;&lt;i&gt;Account/Global Account Service Request (Hierarchy Denorm)&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Modify the &lt;i&gt;Account&lt;/i&gt;&amp;nbsp;business object&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now we use the link we created to add the &lt;i&gt;Global Account Service Request&lt;/i&gt;&amp;nbsp;business component to the &lt;i&gt;Account &lt;/i&gt;business object.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-fKqRZQAX-0w/UTdrt1bpz-I/AAAAAAAAEII/oGVPk_7csPs/s1600/siebel-global-account-new-object-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-fKqRZQAX-0w/UTdrt1bpz-I/AAAAAAAAEII/oGVPk_7csPs/s400/siebel-global-account-new-object-5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;4. Create a view&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Find the&amp;nbsp;&lt;i&gt;FINS IBD Opportunities Rollup View&lt;/i&gt;&amp;nbsp;and copy it. Give the copy a meaningful name such as&amp;nbsp;&lt;i&gt;AAA Service Requests Rollup View.&lt;/i&gt;&amp;nbsp;In the copied view, replace the&amp;nbsp;&lt;i&gt;FINS IBD Opportunities List Applet&lt;/i&gt;&amp;nbsp;with the&amp;nbsp;&lt;i&gt;Global Account Service Request List Applet &lt;/i&gt;(this is a standard applet).&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Add the view to the &lt;i&gt;Accounts Screen&lt;/i&gt;&amp;nbsp;and register it as usual. Don't forget to compile all new and modified objects.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;5. Test&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Navigate to the new view and find an account (e.g. &lt;i&gt;Abbey General Hospital&lt;/i&gt;&amp;nbsp;in the sample db) which has some child accounts which have service requests attached. When you look at the parent record, the new view displays all service requests related to sub accounts all the way "up".&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-yGEd9m6FrTs/UTdtPzfFMpI/AAAAAAAAEIU/NtfwdwO8jnM/s1600/siebel-global-account-new-object-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="205" src="http://4.bp.blogspot.com/-yGEd9m6FrTs/UTdtPzfFMpI/AAAAAAAAEIU/NtfwdwO8jnM/s400/siebel-global-account-new-object-6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Roll-up views are a cool way to obtain insight into a customer (account) hierarchy. The feature is extensible as we will see in the next post. So stay tuned.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/MWW8dgI0Qc4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/2828327124297318631/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=2828327124297318631&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/2828327124297318631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/2828327124297318631?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/MWW8dgI0Qc4/siebel-rollup-views-roll-your-own-part-1.html" title="Siebel Rollup Views - Roll Your Own (Part 1)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_f689sAiiG-E/TQeAzprlbHI/AAAAAAAABYk/HrZ_dJyHXvw/s72-c/roll-up-view.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-rollup-views-roll-your-own-part-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUFSXk6eCp7ImA9WhBRFkk.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-6330075515155630804</id><published>2013-03-07T09:00:00.000+01:00</published><updated>2013-03-07T09:00:18.710+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-07T09:00:18.710+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI - It's a Drag (Part 2)</title><content type="html">As promised &lt;a href="http://siebel-essentials.blogspot.com/2013/03/siebel-open-ui-its-drag-part-1.html" target="_blank"&gt;earlier this week&lt;/a&gt;, I would like to take you on a tour of how to use &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt;&amp;nbsp;and &lt;a href="http://jqueryui.com/" target="_blank"&gt;jQuery&amp;nbsp;UI&lt;/a&gt;&amp;nbsp;with the &lt;a href="http://docs.oracle.com/cd/E16348_01/books/config_open_ui/appendix_a_API.html" target="_blank"&gt;Siebel Open UI API&lt;/a&gt;. Today, we will expand on the topic of making applets draggable and resizable. As you might recall, only a few lines of JavaScript are required to accomplish this.&lt;br /&gt;
&lt;br /&gt;
Here is the full code for a physical renderer file which makes an applet resizable and draggable.&lt;br /&gt;
You can &lt;a href="https://docs.google.com/file/d/0BzjRZcKJfJ2gQ1Y1ZEdyZUJXZ28/edit?usp=sharing" target="_blank"&gt;download the file here&lt;/a&gt; but please &lt;b&gt;&lt;span style="color: red;"&gt;DO NOT use it in production, it is for educational purposes only.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YlyCrg7R_rQ/UTS4b0VZH1I/AAAAAAAAEGw/HzkD_5Mala4/s1600/siebel-open-ui-drag-3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/-YlyCrg7R_rQ/UTS4b0VZH1I/AAAAAAAAEGw/HzkD_5Mala4/s400/siebel-open-ui-drag-3.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Simple physical renderer file to make applets resizable and draggable.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
To implement the above physical renderer, do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Save the file&lt;/b&gt; as &lt;i&gt;dragResizePR_SIMPLE.js&lt;/i&gt; in the&amp;nbsp;&lt;i&gt;\PUBLIC\#language#\#build#\SCRIPTS\siebel\custom&lt;/i&gt; folder.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Modify the &lt;i&gt;custom_manifest.xml&lt;/i&gt; file&lt;/b&gt; in the &lt;i&gt;OBJECTS &lt;/i&gt;folder and add the following entry to the&amp;nbsp;&lt;i&gt;&amp;lt;PLATFORM_KEY_SPECIFIC&amp;gt;&amp;lt;PLATFORM Name="Desktop"&amp;gt;&lt;/i&gt; section:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;lt;KEY Name="DragResizeRenderer"&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;lt;FILE_NAME&amp;gt; siebel/phyrenderer.js&amp;lt;/FILE_NAME&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;lt;FILE_NAME&amp;gt; siebel/custom/dragResizePR_SIMPLE.js&amp;lt;/FILE_NAME&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;&amp;lt;/KEY&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Modify the &lt;i&gt;manifest_extensions.map&lt;/i&gt; file&lt;/b&gt; in the &lt;i&gt;OBJECTS &lt;/i&gt;folder and add a line for each applet you want to make resizable/draggable in the &lt;i&gt;[Physical_Renderer]&lt;/i&gt; section as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;Service Request Detail Applet=DragResizeRenderer&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(You might want to try different applets, but this is the one I tested with)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Clear the browser cache and restart the application&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To test, you can navigate to any view which uses the applet you specified in step 3.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-EGZ_ztjs_sg/UTS8jeJxmJI/AAAAAAAAEG4/aQKtpr0Cqi0/s1600/siebel-open-ui-drag-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="156" src="http://3.bp.blogspot.com/-EGZ_ztjs_sg/UTS8jeJxmJI/AAAAAAAAEG4/aQKtpr0Cqi0/s400/siebel-open-ui-drag-2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
You should be able to drag the applet and resize the width of the applet. Voilá.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;To boldly go...&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;
If you've gone that far, you probably ask yourself (after revisiting the view or refreshing the browser): "How can I make the browser remember the applet size and position?". The remainder of this post is dedicated to a simple (cookie-based) solution for this requirement. I may add that I considered storing the personalized applet size and position in the user preference file on the server but after a discussion with Oracle's Siebel engineering team I stepped back from this idea.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;The code I present in the following is to be considered a prototype. It is &lt;b&gt;not safe for production&lt;/b&gt; and is just illustrating the possibilities of jQuery UI in combination with Siebel Open UI.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Store applet size and position in a cookie&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
First, we must write code to ensure that the width, height (after a resize operation) and the position (top and left offset after a drag operation) are stored in a cookie so they can be retrieved later.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, we can use the jQuery UI events for the &lt;a href="http://api.jqueryui.com/resizable/" target="_blank"&gt;resizable&lt;/a&gt; and &lt;a href="http://api.jqueryui.com/draggable/" target="_blank"&gt;draggable&lt;/a&gt;&amp;nbsp;widgets. The documentation is quite good. The following example code implements the &lt;a href="http://api.jqueryui.com/resizable/#event-stop" target="_blank"&gt;resizestop&lt;/a&gt; event handler&amp;nbsp;which is executed when the end user releases the mouse button after resizing an object:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-qzZQFXkFRzo/UTXx3p5YuMI/AAAAAAAAEHI/F9C-AkBtWDs/s1600/siebel-open-ui-drag-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="http://3.bp.blogspot.com/-qzZQFXkFRzo/UTXx3p5YuMI/AAAAAAAAEHI/F9C-AkBtWDs/s400/siebel-open-ui-drag-5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Don't worry, you can &lt;a href="https://docs.google.com/file/d/0BzjRZcKJfJ2gN21kWWFETVBRUnc/edit?usp=sharing" target="_blank"&gt;download the full example code here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The jQuery UI event functions provide a &lt;i&gt;ui&lt;/i&gt;&amp;nbsp;object which proves useful to retrieve the width and height of the object. The code shown in the above screenshot concatenates the width and height to a string such as "1000x200" and uses the &lt;i&gt;document.cookie&lt;/i&gt;&amp;nbsp;JavaScript function to store it under the name of the applet label suffixed with "_size". Here is a screenshot of Google Chrome's developer tools showing some of these cookies:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-CoFF5ptjhkU/UTXy6h1vJ2I/AAAAAAAAEHU/SLeiTRNyGTM/s1600/siebel-open-ui-drag-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://2.bp.blogspot.com/-CoFF5ptjhkU/UTXy6h1vJ2I/AAAAAAAAEHU/SLeiTRNyGTM/s400/siebel-open-ui-drag-6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The event handler &lt;i&gt;&lt;a href="http://api.jqueryui.com/draggable/#event-stop" target="_blank"&gt;dragstop&lt;/a&gt;&lt;/i&gt;&amp;nbsp;is implemented in a similar way to capture the offset of the applet once the user releases the mouse after dragging. Note the cookies with "_pos" as the name suffix in the above screenshot.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Retrieve the cookie value and apply to the applet&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Next, we must write code which finds the size and position cookie values for a given applet and applies them to the target applet. The below screenshot shows the implementation for the &lt;i&gt;&lt;a href="http://api.jqueryui.com/resizable/#event-create" target="_blank"&gt;resizecreate &lt;/a&gt;&lt;/i&gt;event handler which is executed when an object is made resizable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/--D8KLJiaJaI/UTX0LmTdlEI/AAAAAAAAEHg/RLZ83IAr0TY/s1600/siebel-open-ui-drag-7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" src="http://2.bp.blogspot.com/--D8KLJiaJaI/UTX0LmTdlEI/AAAAAAAAEHg/RLZ83IAr0TY/s400/siebel-open-ui-drag-7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
A separate function named &lt;i&gt;getCookieValue&lt;/i&gt;&amp;nbsp;is used to retrieve the cookie value (see the &lt;a href="https://docs.google.com/file/d/0BzjRZcKJfJ2gN21kWWFETVBRUnc/edit?usp=sharing" target="_blank"&gt;full code example&lt;/a&gt;). In the above function, we extract the width and height from the cookie and apply it to the target applet using the respective jQuery functions (&lt;i&gt;width() &lt;/i&gt;and &lt;i&gt;height()&lt;/i&gt;).&lt;br /&gt;
&lt;br /&gt;
The &lt;i&gt;dragcreate &lt;/i&gt;event handler is very similar again.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Register the physical renderer and test&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
After registering the physical renderer with some test applets as described above, we can start testing. In a fit of boldness I added the renderer to all six list applets in the Account Summary view. This is what I ended up with:&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pydyIUGauHI/UTX1-fy-alI/AAAAAAAAEHo/kieB8RvIq08/s1600/siebel-open-ui-drag-4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-pydyIUGauHI/UTX1-fy-alI/AAAAAAAAEHo/kieB8RvIq08/s400/siebel-open-ui-drag-4.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;What a drag! Warning: cannot be unseen!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
So maybe I've gone a little bit too far ;-).&lt;br /&gt;
&lt;br /&gt;
Honestly, the prototype you can download &lt;a href="https://docs.google.com/file/d/0BzjRZcKJfJ2gN21kWWFETVBRUnc/edit?usp=sharing" target="_blank"&gt;here&lt;/a&gt; will allow you to make any applet (list or form) resizable and draggable but it is far from being production-ready (said it twice now).&lt;br /&gt;
&lt;br /&gt;
For example, you will notice that the applet positioning is relative that is when you open another view which uses the same applet in a different location it might be positioned on top of another applet.&lt;br /&gt;
&lt;br /&gt;
In addition, the resize operation only works well for the width and not the height, not sure why.&lt;br /&gt;
&lt;br /&gt;
So if anyone of the astute readers comes up with a nicer solution, I will be more than grateful.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Again, the full sample code can be &lt;a href="https://docs.google.com/file/d/0BzjRZcKJfJ2gN21kWWFETVBRUnc/edit?usp=sharing" target="_blank"&gt;downloaded here&lt;/a&gt; but (I warn you the last time) &lt;span style="color: red; font-weight: bold;"&gt;it is NOT to be used in production! &lt;/span&gt;The sample code is optimized to work with form applets but if you comment out the line which extends the&amp;nbsp;&lt;i&gt;JQGridRenderer &lt;/i&gt;it will work with list applets. For list applets you have to include the following files in the &lt;i&gt;custom_manifest.xml &lt;/i&gt;file:&lt;br /&gt;
&lt;br /&gt;
3rdParty/jqGrid/current/js/i18n/grid.locale-en.js&lt;br /&gt;
3rdParty/jqGrid/current/js/jquery.jqGrid.min.js&lt;br /&gt;
3rdParty/jqgrid-ext.js&lt;br /&gt;
siebel/jqgridrenderer.js&lt;br /&gt;
&lt;br /&gt;
So the full KEY element to support list applets would look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-d58ApHiCF_g/UTb6KGyio5I/AAAAAAAAEH4/knezwueCAp4/s1600/siebel-open-ui-drag-8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="http://3.bp.blogspot.com/-d58ApHiCF_g/UTb6KGyio5I/AAAAAAAAEH4/knezwueCAp4/s400/siebel-open-ui-drag-8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
jQuery UI provides an impressive array of possibilities to alter the behavior of the Siebel Open UI client. In the prototype introduced in this 2-post series we demonstrated how to store applet properties in a cookie, retrieve and apply them.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/z8Ddg-GVUq4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/6330075515155630804/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=6330075515155630804&amp;isPopup=true" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6330075515155630804?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6330075515155630804?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/z8Ddg-GVUq4/siebel-open-ui-its-drag-part-2.html" title="Siebel Open UI - It's a Drag (Part 2)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-YlyCrg7R_rQ/UTS4b0VZH1I/AAAAAAAAEGw/HzkD_5Mala4/s72-c/siebel-open-ui-drag-3.png" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-open-ui-its-drag-part-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcFQno6fip7ImA9WhBRE0U.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-6239585872418827164</id><published>2013-03-04T09:00:00.000+01:00</published><updated>2013-03-04T09:00:13.416+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-04T09:00:13.416+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Open UI - It's a Drag (Part 1)</title><content type="html">After some articles on Fusion CRM, we're back in the calm waters of Siebel CRM, namely it's latest patch level (8.1.1.9 or 8.2.2.2 respectively) which gave us &lt;b&gt;Open UI&lt;/b&gt;. As most of the astute readers might be aware, &lt;a href="http://siebel-essentials.blogspot.com/search/label/Open%20UI" target="_blank"&gt;&lt;b&gt;Siebel Open UI&lt;/b&gt;&lt;/a&gt; is built on top of &lt;b&gt;&lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt; &lt;/b&gt;and related libraries.&lt;br /&gt;
&lt;br /&gt;
So it makes sense to learn a bit more about jQuery. But let's be honest, this blog is not the place where you will find a vast array of &lt;a href="https://www.google.com/search?q=jquery&amp;amp;btnG=Search+Books&amp;amp;tbm=bks&amp;amp;tbo=1" target="_blank"&gt;books&lt;/a&gt; or &lt;a href="https://www.google.com/search?q=jquery%20online%20training" target="_blank"&gt;courses&lt;/a&gt; on jQuery. These can be found aplenty elsewhere. If you want to be a Siebel Open UI developer in earnest, jQuery skills become a must, get over it and start reading/learning today.&lt;br /&gt;
&lt;br /&gt;
In this post, I would like to introduce the most important function of jQuery, not only for Siebel Open UI. This is the function's signature:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace; font-size: large;"&gt;$();&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Say hello to the &lt;a href="http://api.jquery.com/jQuery/" target="_blank"&gt;jQuery dollar ($) function&lt;/a&gt; which is a shorthand for this:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace; font-size: large;"&gt;jQuery();&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
As per the official documentation, the jQuery() or $() function &lt;i&gt;"Accepts a string containing a CSS selector which is then used to match a set of elements."&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
So, we have another skill set - &lt;a href="http://www.w3schools.com/css/" target="_blank"&gt;&lt;b&gt;CSS&lt;/b&gt;&lt;/a&gt; - to be added to our list of things to learn better sooner than later.&lt;br /&gt;
&lt;br /&gt;
Let's dive in: Here is a code snippet which "selects" any applet with a title of "Service Request Applet".&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-cm7qYXT1l6U/USyz9a-qCZI/AAAAAAAAEGA/S0bOMwTUd4o/s1600/siebel-open-ui-drag-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="61" src="http://4.bp.blogspot.com/-cm7qYXT1l6U/USyz9a-qCZI/AAAAAAAAEGA/S0bOMwTUd4o/s400/siebel-open-ui-drag-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The code is part of some sample JavaScript files which I currently work on. You will see a bigger picture in the next post.&lt;br /&gt;
&lt;br /&gt;
For today, let's look at the second variable declaration visible in the above screenshot:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;var target = $("div[title='" + appletTitle + "']");&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The selector string passed to the &lt;i&gt;$()&lt;/i&gt;&amp;nbsp;function&amp;nbsp;specifies that any &lt;i&gt;&lt;b&gt;div &lt;/b&gt;&lt;/i&gt;element which has a &lt;i style="font-weight: bold;"&gt;title&lt;/i&gt;&amp;nbsp;property with a value of &lt;i style="font-weight: bold;"&gt;Service Request Applet&lt;/i&gt;&amp;nbsp;(passed as the first variable), is a &lt;b&gt;match&lt;/b&gt;. Keep in mind that Open UI declares all applets (and other UI elements) using the &lt;i&gt;div&lt;/i&gt;&amp;nbsp;tag.&lt;br /&gt;
&lt;br /&gt;
The return value of the &lt;i&gt;$()&lt;/i&gt; function is a "&lt;i&gt;collection of matched elements&lt;/i&gt;" on which we can now act. The Oracle provided Open UI code uses the approach to hold the jQuery collection object in a variable named &lt;i&gt;target&lt;/i&gt;. So I simply did as they do.&lt;br /&gt;
&lt;br /&gt;
With the &lt;i&gt;target &lt;/i&gt;variable populated, we can now do literally anything to the "selected" objects that's available in jQuery its siblings such as &lt;b&gt;&lt;a href="http://jqueryui.com/" target="_blank"&gt;jQuery UI&lt;/a&gt;. &lt;/b&gt;We could change styles, colors, sizes, inject HTML, etc.&amp;nbsp;For today, let's do two simple things:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;//make applet(s) &lt;a href="http://jqueryui.com/resizable/" target="_blank"&gt;&lt;b&gt;resizable&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target.resizable();&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;//make applet(s) &lt;a href="http://jqueryui.com/draggable/" target="_blank"&gt;&lt;b&gt;draggable&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;target.draggable();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(Hint: click the links above to navigate to the jQuery UI documentation).&lt;br /&gt;
&lt;br /&gt;
The effect of these two lines of code is that we can now merrily resize and drag applets around. Hooray!&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OAWcMZeAorw/USy3h4R-JDI/AAAAAAAAEGY/vw6gJ3BXtE8/s1600/siebel-open-ui-drag-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="156" src="http://2.bp.blogspot.com/-OAWcMZeAorw/USy3h4R-JDI/AAAAAAAAEGY/vw6gJ3BXtE8/s400/siebel-open-ui-drag-2.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Look Ma! It's a drag!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
jQuery, jQuery UI and CSS are at the core of Siebel Open UI. Training your web development muscles with these tools will increase your credibility as a Siebel developer for years to come. So start early.&lt;br /&gt;
&lt;br /&gt;
In the example, we have seen how easy it is to get a handle on an applet and apply UI behavior. In the next post, we will explore how to make the browser "remember" the applet size and location.&lt;br /&gt;
&lt;br /&gt;
have a nice day&lt;br /&gt;
&lt;br /&gt;
@lex&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/qpfGxe-Ijmw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/6239585872418827164/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=6239585872418827164&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6239585872418827164?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/6239585872418827164?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/qpfGxe-Ijmw/siebel-open-ui-its-drag-part-1.html" title="Siebel Open UI - It's a Drag (Part 1)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cm7qYXT1l6U/USyz9a-qCZI/AAAAAAAAEGA/S0bOMwTUd4o/s72-c/siebel-open-ui-drag-1.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/03/siebel-open-ui-its-drag-part-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMEQ306eCp7ImA9WhBREE4.&quot;"><id>tag:blogger.com,1999:blog-2890261847753486101.post-5354202116207894775</id><published>2013-02-28T09:00:00.000+01:00</published><updated>2013-02-28T09:00:02.310+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-28T09:00:02.310+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Siebel CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Open UI" /><title>Siebel Mobile Connected Applications (Open UI included)</title><content type="html">More than a year ago, I wrote an article on &lt;a href="http://siebel-essentials.blogspot.com/2012/01/siebel-crm-ui-options-in-mobile-web.html" target="_blank"&gt;Siebel CRM UI Options in the mobile web&lt;/a&gt;. The article introduced some of the better and some of the lesser known options for viewing and editing Siebel CRM data using a mobile device (connected to the corporate network) and the variety of browsers which comes with these devices.&lt;br /&gt;
&lt;br /&gt;
Of course, the eager Siebelite will quickly add &lt;a href="http://siebel-essentials.blogspot.com/search/label/Open%20UI" target="_blank"&gt;Siebel Open UI&lt;/a&gt; to the list. And indeed, any modern, JavaScript enabled browser on any device (iPad, iPhone, Android smartphones and tablets, etc...) should be able to render the new UI quite nicely.&lt;br /&gt;
&lt;br /&gt;
But still, the Siebel web client is designed for monitors attached to desktop-class PCs. And even if you can pinch and zoom on a smartphone, using Siebel on such a small screen isn't really fun. Additionally, tablet and smartphone users expect more than just a zoomable web site, they expect interactivity with their phone. For example, they want to get driving directions to their customer displayed on a map or simply tap the contact's phone number to initiate a call.&lt;br /&gt;
&lt;br /&gt;
The new product, introduced along with Siebel Open UI with Innovation Pack 2012, namely &lt;a href="http://docs.oracle.com/cd/E14004_01/books/ConnMobApps/ConnMobApps_Overview2.html" target="_blank"&gt;Siebel Mobile Connected Applications&lt;/a&gt;, has been developed to accomplish just that: Rich interactivity on mobile (connected) devices, still using the browser (so it's not a "native app").&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cwVqQivsCGw/USIzmFJtX7I/AAAAAAAAEFI/TwbX_9vidYs/s1600/siebel-mobile-connected-applications-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="227" src="http://4.bp.blogspot.com/-cwVqQivsCGw/USIzmFJtX7I/AAAAAAAAEFI/TwbX_9vidYs/s400/siebel-mobile-connected-applications-1.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Siebel Account Detail view in a mobile connected application&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In this post, I will describe how to access the mobile connected applications and explore the most intriguing features.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Object Manager Setup&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;a href="http://docs.oracle.com/cd/E14004_01/books/ConnMobApps/ConnMobAppsTOC.html" target="_blank"&gt;bookshelf guide for Mobile Connected Applications&lt;/a&gt; gives us &lt;a href="http://docs.oracle.com/cd/E14004_01/books/ConnMobApps/ConnMobApps_Setup3.html" target="_blank"&gt;detailed instructions&lt;/a&gt; how to set up an object manager for the new applications. As it states, the following application object manager parameters must be set for all object managers:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;EnableOpenUI=TRUE&lt;/li&gt;
&lt;li&gt;AppletSelectStyle="Applet Select"&lt;/li&gt;
&lt;li&gt;MobileApplication=TRUE&lt;/li&gt;
&lt;li&gt;EnableInlineForList=Never&lt;/li&gt;
&lt;li&gt;ShowWriteRecord=TRUE&lt;/li&gt;
&lt;li&gt;EnableSIFocusTracking=TRUE&lt;/li&gt;
&lt;li&gt;HighInteractivity=TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
The following four applications are created in the Siebel Repository by applying the repository patch for Open UI Mobile:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Siebel Sales Enterprise Mobile&lt;/li&gt;
&lt;li&gt;Siebel ePharma Mobile&lt;/li&gt;
&lt;li&gt;Siebel Service for Mobile&lt;/li&gt;
&lt;li&gt;Siebel CG Sales Enterprise Mobile (CG = Consumer Goods)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
So, set the &lt;i&gt;ApplicationName&lt;/i&gt;&amp;nbsp;parameter to one of the above.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you are using the Developer Web Client, you can copy an existing .cfg file and modify it accordingly. I have used the &lt;i&gt;Siebel ePharma Mobile &lt;/i&gt;application and created a file named &lt;i&gt;epharmace.cfg&lt;/i&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For a Siebel Server scenario, you will also have to create a new virtual directory on your web server and restart the services. Once your object manager is up, you can log in in the usual way. If you use your desktop browser to connect, you will be a bit disappointed because the UI is still rendered in desktop mode. Bear with me a second until I explain how to setup the browser. If you use a mobile device such as an iPad, you should see the mobile UI immediately.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. Preparing the Desktop Browser&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Most probably, you will be doing first tests from your desktop or laptop machine, maybe using Google Chrome or Mozilla Firefox as the browser. To be able to test the Mobile Connected Application you must adjust your browser settings to emit a different &lt;b&gt;User Agent&lt;/b&gt; signal than the default. In Google Chrome you can do this in many ways:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;In the Developer Tools (F12), click the Settings icon (gear in the lower right corner) and in the Overrides tab, select the desired user agent and metrics (e.g. screen size).&lt;/li&gt;
&lt;li&gt;Install a user agent switcher such as the &lt;a href="https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg" target="_blank"&gt;Chrome UA Spoofer&lt;/a&gt;, so you can simply switch to another user agent from the browser menu bar.&lt;/li&gt;
&lt;li&gt;You can also call chrome.exe with some command line options allowing you to create a separate icon for running Chrome in "tablet mode".&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
I prefer the third option and this is what the command looks like:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;%LOCALAPPDATA%\Google\Chrome\Application\chrome.exe -user-data-dir=D:\siebel\client\_cacheIpad --user-agent="Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3" --window-size=1400,892 http://localhost/start.swe&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Note the &lt;i&gt;-user-data-dir&lt;/i&gt;&amp;nbsp;and &lt;i&gt;--user-agent&lt;/i&gt;&amp;nbsp;as well as the &lt;i&gt;--window-size&lt;/i&gt;&amp;nbsp;parameters. The URL &lt;i&gt;http://localhost/start.swe&lt;/i&gt;&amp;nbsp;is opened immediately when the browser opens, so the Developer Web Client (siebel.exe) must have been launched before from a typical shortcut such as:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;D:\siebel\client\BIN\siebel.exe /c D:\siebel\client\BIN\ENU\epharmace.cfg /b "%LOCALAPPDATA%\Google\Chrome\Application\chrome.exe"/d sample /u SADMIN /p SADMIN&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Note that this will still open in desktop mode but you can simply close that tab and use the browser shortcut described above to launch into the mobile connected client.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;3. Exploring the Mobile Connected Application&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The screen layout of a Siebel mobile connected application is &lt;b&gt;left to right&lt;/b&gt; (not top to bottom as in a desktop app). So to the left hand side, you will find the menu bar with the screens and menu icons. Click or tap on the Accounts screen and see what happens.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You will see a list of accounts. You can narrow the list by using the Search field and you can see a Google map of all account addresses (in the browser, not in the database) by clicking the pin icon:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-VKm4EvtrjpQ/USI5yvht-SI/AAAAAAAAEFg/PZw7PpJADF0/s1600/siebel-mobile-connected-applications-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="228" src="http://3.bp.blogspot.com/-VKm4EvtrjpQ/USI5yvht-SI/AAAAAAAAEFg/PZw7PpJADF0/s400/siebel-mobile-connected-applications-2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Swipe the account list to scroll up and down.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the detail area on the right side of the screen you can view account details, initiate phone calls, see a map of the account address. In addition you have access to detail views such as &lt;i&gt;Contacts&lt;/i&gt; or &lt;i&gt;Calls&lt;/i&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the top right area you find a menu icon and icons which allow you to create and edit records as well as navigation buttons.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The screenshot below shows the contact details and the expanded menu:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-sYnfQXYvzWw/USI6yZFwPHI/AAAAAAAAEFo/7ZLaGL0m6r4/s1600/siebel-mobile-connected-applications-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://1.bp.blogspot.com/-sYnfQXYvzWw/USI6yZFwPHI/AAAAAAAAEFo/7ZLaGL0m6r4/s400/siebel-mobile-connected-applications-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Lacking an iPad, I have taken the screenshots using Google Chrome set up to emulate the tablet on my laptop.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;4. Under the Hood&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As is the case with the Open UI framework, the magic is done using (new) web templates for mobile applications and special style sheets. The underlying traditional mechanisms such as applets, views, screens etc. still apply in fullness. So it is fairly easy for a Siebel tech-head to customize the mobile connected applications.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;5. Roadmap&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the current &lt;a href="https://support.oracle.com/epmos/faces/DocumentDisplay?id=549362.1" target="_blank"&gt;Statement of Directions document available from My Oracle Support&lt;/a&gt;, Oracle states that an offline client and enhancements are planned for the Innovation Pack 2013.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the above article, we had a glimpse on the latest member in the Siebel family of browser applications, namely Siebel Mobile Connected Applications.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
have a nice day&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
@lex&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/blogspot/lKUrt/~4/sUNomp8Jdzk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://siebel-essentials.blogspot.com/feeds/5354202116207894775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2890261847753486101&amp;postID=5354202116207894775&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5354202116207894775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2890261847753486101/posts/default/5354202116207894775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lKUrt/~3/sUNomp8Jdzk/siebel-mobile-connected-applications.html" title="Siebel Mobile Connected Applications (Open UI included)" /><author><name>Alexander Hansal</name><uri>https://plus.google.com/101106391252120435100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-kcLRXfNijpg/AAAAAAAAAAI/AAAAAAAAD7g/LqVAE3sy56w/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cwVqQivsCGw/USIzmFJtX7I/AAAAAAAAEFI/TwbX_9vidYs/s72-c/siebel-mobile-connected-applications-1.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://siebel-essentials.blogspot.com/2013/02/siebel-mobile-connected-applications.html</feedburner:origLink></entry></feed>
