<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7835971960844585750</id><updated>2011-11-29T08:25:42.275-08:00</updated><category term='Quick Reminders'/><category term='Check Printing'/><category term='Bill Presentment Architecture'/><category term='UMX'/><category term='BI Publisher / XML Publisher'/><category term='User Management'/><category term='XDOLoader'/><category term='Proxy User'/><category term='XSL-TEXT'/><category term='eText'/><category term='Workflow'/><category term='Security'/><category term='System Administrator'/><category term='OBI EE'/><category term='Payments'/><category term='IBY_FD_EXTRACT_EXT_PUB'/><category term='General Ledger'/><category term='Discoverer'/><title type='text'>Oracle ERP and Business Intelligence Blog</title><subtitle type='html'>My notes, thoughts and findings on implementing ERP and BI solutions.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-2895770932230312315</id><published>2009-07-02T02:50:00.000-07:00</published><updated>2009-07-02T02:53:23.402-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoverer'/><title type='text'>Discoverer 11G Web Services</title><content type='html'>Great to read about the Oracle Discoverer Web Services that have been released for public consumption as part of Discoverer 11G and Fusion Middleware 11G:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oraclebi.blogspot.com/2009/07/discoverer-11g-doc.html"&gt;Here&lt;/a&gt; and &lt;a href="http://download.oracle.com/docs/cd/E12839_01/bi.1111/e10412.pdf"&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To quote from the User Guide:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The Oracle BI Discoverer Web Services are part of an Application Programming Interface (API) that enables a client to do the following:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;- Obtain Discoverer connections, workbooks, and worksheets&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;- Execute worksheet queries&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;- Obtain worksheet content using the SOAP protocol (version 1.1 with JAX-WS/document wrapped format)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've worked on a number of sites that have made a big investment in Discoverer reporting. It will be interesting to see how this new functionality will be used in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-2895770932230312315?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/2895770932230312315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=2895770932230312315' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2895770932230312315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2895770932230312315'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2009/07/discoverer-11g-web-services.html' title='Discoverer 11G Web Services'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1995277259728875675</id><published>2009-05-27T03:03:00.000-07:00</published><updated>2009-07-02T02:52:55.764-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OBI EE'/><title type='text'>BI Lessons Learnt</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;Spent an interesting day at a potential customer recently discussing:&lt;/span&gt;&lt;o:p style="color: rgb(0, 0, 0);"&gt;&lt;/o:p&gt; &lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;- The lessons that I've learnt on recent Oracle BI projects&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;- How we could apply these lessons to develop an optimum OBIEE rollout strategy.&lt;span style="font-size:0;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;In no particular order, some of the key lessons that I highlighted and discussed in greater depth were:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;1) Releasing too much functionality at once can overwhelm users and support processes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;2) Requirements for Reports and dashboards evolve as users gain more understanding of the tool capabilities.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;3) Involve Users as early as possible in Development process. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;- Especially if requirements are unclear or poorly understood. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;- Report and Dashboard Prototyping often works well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;4) Ensure End Users understand OBIEE Report and Dashboard functionality and capabilities before the Design process starts e.g.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;- View selectors, Column Selectors, Dashboard prompts, Delivery options, BI Publisher integration, and so on&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;5) Develop organization wide Dashboard and Report 'Look and Feel' standards and enforce them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;6) Review quality of data model regularly: e.g. ensure consistent mappings, conforming dimensions, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;7) System performance and perceived 'acceptable' response time is key to end user acceptance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;8) Maintain a library of existing and re-usable solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;9) End User Training should be focused and timely.&lt;/p&gt;&lt;p class="MsoNormal" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Reviewing my lessons learnt led on to a debate on iterative and agile development methodologies and how they could be best applied in an OBIEE implementation. I'll post some more on that on a future date.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1995277259728875675?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1995277259728875675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1995277259728875675' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1995277259728875675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1995277259728875675'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2009/05/bi-lessons-learnt.html' title='BI Lessons Learnt'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-7939681728706695124</id><published>2008-08-07T04:16:00.000-07:00</published><updated>2008-08-07T04:25:41.162-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OBI EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Discoverer'/><title type='text'>Migrating a Discoverer EUL to OBI EE metadata</title><content type='html'>OBI EE 10.1.3.4 has been released today on OTN.&lt;br /&gt;&lt;br /&gt;One of the areas of new functionality that I am very interested in is the ability to migrate certain components of Discoverer metadata to BI Server / Answers.&lt;br /&gt;&lt;br /&gt; The &lt;a href="http://http://download.oracle.com/docs/cd/E10415_01/welcome.html"&gt;New Features&lt;/a&gt; documentation states:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Release 10.1.3.4 includes a utility to accelerate the migration of Oracle BI Discoverer metadata (in the form of an EEX file) to Oracle BI Enterprise Edition Plus metadata (in the form of an RPD file). The utility is a command line executable file that can be found in the \OracleBI\Server\bin directory. An accompanying instruction document can be found in the \OracleBI\Server\Document directory. This release migrates only Discoverer metadata and only for relational data sources.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'll be examining and hopefully posting further on the migration process in the next few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-7939681728706695124?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/7939681728706695124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=7939681728706695124' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7939681728706695124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7939681728706695124'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/08/migrating-discoverer-eul-to-obi-ee.html' title='Migrating a Discoverer EUL to OBI EE metadata'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-8696943484553158103</id><published>2008-07-30T07:09:00.001-07:00</published><updated>2008-07-30T07:10:16.045-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OBI EE'/><title type='text'>OBI EE and .NET Framework V2</title><content type='html'>As promised to Chetan... I stumbled across a frustrating incompatibility whilst installing OBI EE 10.1.3.3.3 on a Windows machine earlier.&lt;br /&gt;&lt;br /&gt;OBI EE requires Version 2 of MS .NET Framework.&lt;br /&gt;&lt;br /&gt;During OBI EE installation, it also launches the installer for Microsoft .NET Framework V2.&lt;br /&gt;However, if you already have a later version of .NET Framework loaded, the .NET Framework install will end with an 'Incompatibility' error.&lt;br /&gt;&lt;br /&gt;The OBI EE installation completes successfully.&lt;br /&gt;&lt;br /&gt;However, it fails to deploy the analytics application to the OC4J instance correctly.&lt;br /&gt;&lt;br /&gt;My workaround was to deinstall the later .NET Framework from the machine and then, restart the OBI EE installation process.&lt;br /&gt;&lt;br /&gt;Let me know if you have a better solution!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-8696943484553158103?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/8696943484553158103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=8696943484553158103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/8696943484553158103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/8696943484553158103'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/07/obi-ee-and-net-framework-v2.html' title='OBI EE and .NET Framework V2'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-6927307656352239564</id><published>2008-07-25T10:25:00.000-07:00</published><updated>2008-07-25T10:41:33.735-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UMX'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy User'/><category scheme='http://www.blogger.com/atom/ns#' term='User Management'/><title type='text'>Who Am I? An investigation into R12 UMX Proxy User functionality : Part 1</title><content type='html'>Just back from a short vacation and I learnt an important lesson.&lt;br /&gt;&lt;br /&gt;My tent is NOT waterproof.&lt;br /&gt;&lt;br /&gt;Not the best thing to find out at 2.30am on a dark, wet and cold night in the middle of a Farmers field in the English countryside!&lt;br /&gt;&lt;br /&gt;A different post from me today.&lt;br /&gt;&lt;br /&gt;On my current project, we've been struggling with the requirement to allow Administrators and other Users to perform the functions of another User without knowing their password e.g. submit and review reports, approve documents, perform iprocurement transactions and so on.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://solutionbeacon.blogspot.com/2008/04/new-feature-for-release-12-manage.html"&gt;My friends at Solution Beacon&lt;/a&gt; turned me on to the new R12 User Management (UMX) Proxy User functionality to allow a user to sign on to the E-Business suite and assume ALL the responsibilities of another User WITHOUT knowing their password.&lt;br /&gt;&lt;br /&gt;Turns out that this functionality is a perfect fit.... or so we thought!&lt;br /&gt;&lt;br /&gt;In this post, I'll walk through the steps to set up the UMX Proxy User functionality. In my next post, I'll discuss the biggest stumbling blocks: auditing and control.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Steps to setup R12 User Management Proxy User Functionality:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Setting up this functionality is actually very simple. To illustrate, I'll refer to two types of E-Business suite Users:&lt;br /&gt;1) MANAGER - this is the User who will delegate responsibility to perform transactions on their behalf to the Administrator user. In my examples, this user name is KWOODROW1.&lt;br /&gt;2) ADMINISTRATOR - this is the user who will sign on to the E-Business suite and assume the responsibilities of the Manager user. In my examples, this user name is JSMITH.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 1&lt;/u&gt;&lt;br /&gt;- Connect to the R12 E-Business Suite as ANY User (e.g. SYSADMIN) with the responsibility 'User Management' and open the 'Users' form.&lt;br /&gt;- Search for the user name of the MANAGER. In this case, the user name is KWOODROW1.&lt;br /&gt;- Assign the role 'Manage Proxies' to this user name e.g.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_1.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 2&lt;/u&gt;&lt;br /&gt;Now connect as the MANAGER user e.g. KWOODROW1 and navigate to the 'Preferences' form:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_2.png" /&gt;&lt;br /&gt;&lt;br /&gt;Click on the 'Manage Proxies' option and then, the 'Add People' button.&lt;br /&gt;&lt;br /&gt;This will allow you to add the User Names of those Users that you wish to perform actions on your behalf:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_3.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 3&lt;/u&gt;&lt;br /&gt;Now, add the user names of all Users that you wish to assume your responsibilities.&lt;br /&gt;In my example, I add the user name of my ADMINISTRATOR JSMITH:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_4.png" /&gt;&lt;br /&gt;Apply the changes and exit the E-Business suite.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 4&lt;/u&gt;&lt;br /&gt;OK - now comes the fun stuff.&lt;br /&gt;&lt;br /&gt;Connect as the ADMINISTRATOR JSMITH:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_5.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note - the new options 'Switch User' and 'Return to Self' available:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_6.png" /&gt;&lt;br /&gt;As its name suggest 'Switch User' is the magic button that allows you to 'become' the other User without having to enter their password i.e. JSMITH can become KWOODROW1 and access their responsibility list.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 5&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Select the 'People Icon' to switch your user to that of KWOODROW1:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_7.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 6&lt;/u&gt;&lt;br /&gt;As if by magic, you are navigated to the home page of the proxied user, can access any of their current responsibilities and can perform action on their behalf in the E-Business that they themself are allowed to perform:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note - the label 'Logged in As JSMITH Proxy For KWOODROW1':&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_8.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step 7&lt;/u&gt;&lt;br /&gt;OK - to return to the original user session, select the option 'Return to Self'&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/proxy_9.png" /&gt;&lt;br /&gt;&lt;br /&gt;That's all there is to it! Powerful functionality - but very simple to set up. &lt;br /&gt;&lt;br /&gt;In my next post, I'll look at the Auditing and control options available for this new functionality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-6927307656352239564?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/6927307656352239564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=6927307656352239564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6927307656352239564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6927307656352239564'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/07/who-am-i-investigation-into-r12-umx.html' title='Who Am I? An investigation into R12 UMX Proxy User functionality : Part 1'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-6710520095564577507</id><published>2008-07-08T04:46:00.000-07:00</published><updated>2008-07-08T04:51:08.669-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XSL-TEXT'/><category scheme='http://www.blogger.com/atom/ns#' term='eText'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><title type='text'>BIP XSL-TEXT Templates : Part 2</title><content type='html'>Not much changes in Birmingham.&lt;br /&gt;&lt;br /&gt;It seems like an eternity ago that I was at university there - but after only a couple of hours and a fine Balti in a BYOB restaurant, I felt like I'd never left.&lt;br /&gt;&lt;br /&gt;Anyway, enough of my weekend! Let's get back to XSL-TEXT templates.&lt;br /&gt;&lt;br /&gt;Excluding XSL-FO, there are 3 different types of XSLT script templates available in BI Publisher. These are currently not greatly documented in the BIP User Guide. However, the difference between them is the format of the output created by the XSLT script i.e.:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tr&gt;&lt;td&gt;XSL-HTML&lt;/td&gt;&lt;td&gt;A XSLT script to transform an XML document into a HTML file&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;XSL-XML&lt;/td&gt;&lt;td&gt;A XSLT script to transform an XML document into another XML document&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;XSL-TEXT&lt;/td&gt;&lt;td&gt;A XSLT script to transform an XML document into a TEXT file&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Note: The XSL element used to set the output type is:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_a.png" /&gt;&lt;br /&gt;&lt;br /&gt;Generally, it is a lot simpler to use an RTF or eText template to create the report layout - and I would ALWAYS recommend using an RTF or eText template where possible for this reason.&lt;br /&gt;&lt;br /&gt;However, there comes a time when it may be easier to write XSL and XPATH directly rather than live with any shortcomings of the RTF or eText template type.&lt;br /&gt;&lt;br /&gt;One such example of this is to add blank lines and additional formatting logic into eText templates.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kwoodrow.blogspot.com/2008/06/etext-templates-for-check-printing-part_20.html"&gt;In a previous blog&lt;/a&gt; on R12 Payments and eText templates, I built the following text file using an eText template:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_b.png" /&gt;&lt;br /&gt;&lt;br /&gt;Here is a XSL-TEXT template to build the same text file using the same R12 Payments XML data source:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_f.png" /&gt;&lt;br /&gt;&lt;br /&gt;A simple XSLT example... however, the point is that I can reference any XSL element, XPATH or extended SQL function directly. I have complete control over the layout of the text file being created.&lt;br /&gt;&lt;br /&gt;Here are the source files:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/files/sample_xml.xml"&gt;Sample XML Data File&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/files/xsl_text_template.xsl"&gt;XSL-TEXT template&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I built and tested this example using the BIP Enterprise Server (but this works equally well from Oracle E-Business Suite.)&lt;br /&gt;&lt;br /&gt;To test this example using the BIP Server:&lt;br /&gt;&lt;br /&gt;1) Create a new report and register the XML file as a data source:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_d.png" /&gt;&lt;br /&gt;&lt;br /&gt;2) Upload the XSL-TEXT layout template:  &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_c.png" /&gt;&lt;br /&gt;&lt;br /&gt;3) View the final transformed output:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/xsl_text_e.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-6710520095564577507?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/6710520095564577507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=6710520095564577507' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6710520095564577507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6710520095564577507'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/07/bip-xsl-text-templates-part-2.html' title='BIP XSL-TEXT Templates : Part 2'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1960392636431836222</id><published>2008-07-04T08:22:00.000-07:00</published><updated>2008-07-04T08:28:19.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XSL-TEXT'/><category scheme='http://www.blogger.com/atom/ns#' term='eText'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>BIP XSL-TEXT Templates : Part 1</title><content type='html'>Just a quick one from me today as I am of to sunny Birmingham for the weekend.&lt;br /&gt;&lt;br /&gt;I've blogged a lot recently about ETEXT Templates and how they are used in BI Publisher to generate text files for EDI and EFT:&lt;br /&gt;&lt;a href="http://kwoodrow.blogspot.com/2008/06/etext-templates-for-check-printing-part.html"&gt;&lt;br /&gt;ETEXT Part 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ETEXT templates are a great way of creating simple fixed or delimited text files and the Oracle Payments team have delivered loads of predefined ETEXT templates for Payments processing.&lt;br /&gt;&lt;br /&gt;However, they are not the only way to generate text files from BI Publisher!&lt;br /&gt;&lt;br /&gt;It is also worth considering XSL-TEXT templates.&lt;br /&gt;&lt;br /&gt;I've found that XSL-TEXT templates are really just XSLT scripts that transform the XML into text output only.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;xsl:text&lt;/span&gt; is actually an element or command of XSLT to write literal text strings, entity references and #PCDATA to the output file.&lt;br /&gt;&lt;br /&gt;If you are scratching your head over what XSLT is... then, a great reference to get you up and running quickly is the &lt;a href="http://www.w3schools.com/xsl/xsl_languages.asp"&gt;W3schools tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In my next post, I'll walk through some examples of XSL-TEXT templates - but first, I have to go and join the queues of traffic trying to leave London. No fun at 5pm on a Friday night!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1960392636431836222?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1960392636431836222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1960392636431836222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1960392636431836222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1960392636431836222'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/07/bip-xsl-text-templates-part-1.html' title='BIP XSL-TEXT Templates : Part 1'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-6420577663754994927</id><published>2008-06-30T10:51:00.000-07:00</published><updated>2008-07-01T04:52:51.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>Regrouping XML files whilst developing the RTF layout</title><content type='html'>The structure of the seeded XML file for the R12 EBS Subledger accounting (SLA) report 'Actual Journal Entries' is pretty flat.&lt;br /&gt;&lt;br /&gt;Element 'JE_LINES' is the parent of all other GL Journal elements:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/SLA_XML.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My requirement is to build a report of all journal entries grouped by Period Name and Journal Category Name.&lt;br /&gt;&lt;br /&gt;At first glance, it looks like building this hierarchial report using the existing SLA XML source would be pretty tricky.&lt;br /&gt;&lt;br /&gt;Luckily, BI Publisher has some great functionality for regrouping XML files into new hierarchies whilst you are building the report layout.&lt;br /&gt;&lt;br /&gt;I can make any element a parent of all other elements at the same level . I can reorganize the 'Actual Journal Entries' hierarchy so that all elements at the same level as 'PERIOD_NAME' are now its children i.e. the hierarchy is:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/SLA_XML_REGROUPED.png" /&gt;&lt;br /&gt;&lt;br /&gt;Also, I can nest groups within groups and make the hierarchy as complex as necessary to fulfill my requirement:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/SLA_XML_3RD.png" /&gt;&lt;br /&gt;&lt;br /&gt;This makes it a lot easier to control the layout, implement totalling and summations&lt;br /&gt;AND re-use many existing data sources WITHOUT additional customisation.&lt;br /&gt;&lt;br /&gt;That is always good news :-)&lt;br /&gt;&lt;br /&gt;To implement regrouping in your RTF template, either:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;1) Use the following functionality of the BI Publisher Desktop Add In:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-- Regroup whilst using the table wizard&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Here I am grouping by Period_Name and then, Je_Category_Name:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/table-wizard-group.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-- Regroup whilst inserting a repeating group:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Here I am regrouping by Period_Name only:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/repeatinggroup.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;2) OR Use the regrouping syntax directly in your template:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/A.png" /&gt;&lt;br /&gt;&lt;br /&gt;i.e to regroup by period_name:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/B.png" /&gt;&lt;br /&gt;&lt;br /&gt;And the syntax for nesting groups is:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/C.png" /&gt;&lt;br /&gt;&lt;br /&gt;i.e. to group by JE_CATEGORY_NAME within the PERIOD_NAME group:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/D.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The result: &lt;/u&gt; &lt;br /&gt;&lt;br /&gt;Based upon the flat XML structure, my finished RTF template includes all of the required hierarchies:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/report.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: You can also :&lt;br /&gt;- Regroup by the results of expressions. Syntax =&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.woodrowtechnical.com/images/E.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-6420577663754994927?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/6420577663754994927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=6420577663754994927' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6420577663754994927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6420577663754994927'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/regrouping-xml-files-whilst-developing.html' title='Regrouping XML files whilst developing the RTF layout'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-567652096926567454</id><published>2008-06-23T09:38:00.000-07:00</published><updated>2008-06-24T01:59:30.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eText'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>Padding eText files with blank lines</title><content type='html'>&lt;div&gt;MikeM asked:&lt;br /&gt;&lt;em&gt;"How to pad an eText template with blank lines so the text file entries end up on the correct position on the stationary?&lt;br /&gt;e.g. There are 25 lines available on the stationary for invoices but only 5 invoices to be paid on this payment - what steps should be taken to insert 20 blank lines after the 5 invoice lines?"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The solution that I use is to add an additional dummy Extend tag for each required blank line to the Payments Disbursement file. These are created under the 'OutboundPayment' parent.&lt;br /&gt;&lt;br /&gt;You can add new tags to the Payments file by calling PL/SQL package 'IBY_FD_EXTRACT_EXT_PUB'. See previous blog post: &lt;a href="http://kwoodrow.blogspot.com/2008/06/part-1-adding-new-fields-to-r12.html"&gt;http://kwoodrow.blogspot.com/2008/06/part-1-adding-new-fields-to-r12.html &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After adding the new tags, the resulting XML file should look something like:&lt;br /&gt;(Note - in this case, there are 3 blank lines added to the file)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/bl_xmlfile.png" target="_blank"&gt;&lt;img alt="XML_File" src="http://www.woodrowtechnical.com/bl_xmlfile.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then, in the eText template, under the 'OutboundPayment' level, create a new record to add these blank lines to the file:&lt;br /&gt;(Note - this is highlighted in yellow)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/bl_template.png" target="_blank"&gt;&lt;img alt="Template" src="http://www.woodrowtechnical.com/bl_template.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, test the template using the BIP Template Viewer:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/bl_result.png" target="_blank"&gt;&lt;img alt="Template" src="http://www.woodrowtechnical.com/bl_result.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyone got a different solution? &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-567652096926567454?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/567652096926567454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=567652096926567454' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/567652096926567454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/567652096926567454'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/padding-etext-files-with-blank-lines.html' title='Padding eText files with blank lines'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-5416548999046402237</id><published>2008-06-23T06:53:00.000-07:00</published><updated>2008-06-23T07:02:40.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eText'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>Previewing and testing eText templates</title><content type='html'>Just a quick post today.&lt;br /&gt;&lt;br /&gt;I've had a few emails asking how we test eText templates.&lt;br /&gt;&lt;br /&gt;Rather than using the Word Plug in to preview the result, you test eText templates using the 'Template Viewer' included with the BIP desktop toolkit.&lt;br /&gt;&lt;br /&gt;From the Windows Start menu, click on : All Programs,  Oracle BI Publisher Desktop, Template Viewer:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/menu.png" target="_blank"&gt;&lt;img alt="Menu" src="http://www.woodrowtechnical.com/menu.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once the Template Viewer is open:&lt;br /&gt;- select your working directory i.e. the folder containing your eText template and preview XML data&lt;br /&gt;- change the output format to eText : &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/bip_template_viewer.png" target="_blank"&gt;&lt;img alt="Template_Viewer" src="http://www.woodrowtechnical.com/bip_template_viewer.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and then click on the button 'Start Processing' to view the generated text file with Unix / Linux line endings:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.woodrowtechnical.com/result.png" target="_blank"&gt;&lt;img alt="Result" src="http://www.woodrowtechnical.com/result.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-5416548999046402237?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/5416548999046402237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=5416548999046402237' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/5416548999046402237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/5416548999046402237'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/previewing-and-testing-etext-templates.html' title='Previewing and testing eText templates'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1504585034394523479</id><published>2008-06-20T05:18:00.000-07:00</published><updated>2008-06-20T11:14:42.651-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><category scheme='http://www.blogger.com/atom/ns#' term='Check Printing'/><title type='text'>ETEXT Templates for Check Printing - Part 3</title><content type='html'>&lt;span style="font-family:georgia;"&gt;In the first 2 blogs in this series, we completed:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Point 1)- Define the fixed position Check file required by the third party software AND&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Point 2)- Map our required text file against the standard Oracle Payments Disbursement XML file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;OK - let's get to the meat of the solution.... building the actual ETEXT template. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="font-family: georgia;"&gt;Point 3)- Build an ETEXT template according to the structure defined in point 1 and based upon the XML file from point 2. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;ETEXT templates are used to generate Fixed or delimited text files from BI Publisher.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;All commands are created within a RTF document( i.e. MS Word).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;ETEXT templates start with global commands and then have line commands for each line &lt;/span&gt;&lt;span style="font-family:georgia;"&gt;required in the file and field commands for each individual field within the line &lt;/span&gt;&lt;span style="font-family:georgia;"&gt;i.e. to produce our 3 line text file from Part 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table  style="font-family:arial;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;NCKEVIN WOODROW                                     01-JUN-20081872                1000,000.00&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;12 HOLLYWOOD BLVD                                 LOS ANGELES&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;CALIFORNIA                                        90210&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;The ETEXT template structure is:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- GLOBAL FILE COMMANDS&lt;br /&gt;--- NEW LINE COMMANDS&lt;br /&gt;------ FIELDS WITHIN LINE COMMANDS&lt;br /&gt;--- NEW LINE COMMANDS&lt;br /&gt;------ FIELDS WITHIN LINE COMMANDS&lt;br /&gt;--- NEW LINE COMMANDS&lt;br /&gt;------ FIELDS WITHIN LINE COMMANDS&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GLOBAL FILE COMMANDS:&lt;/span&gt;&lt;br /&gt;These are the commands and parameters that affect the whole text file being produced. This includes:&lt;br /&gt;- TEMPLATE TYPE: the type of text file being created i.e. Fixed or delimited&lt;br /&gt;- OUTPUT CHARACTER SET: the appropriate character set&lt;br /&gt;- NEW RECORD CHARACTER: the character used to mark the end of a line and the start of a new line i.e. carriage return&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NEW LINE COMMANDS:&lt;/span&gt;&lt;br /&gt;These commands affect the line as it written to the text file i.e.&lt;br /&gt;- LEVEL: the corresponding parent tag or level within the XML file.&lt;br /&gt;- DISPLAY CONDITION: any conditions that must be met before the line is written&lt;br /&gt;- NEW RECORD: the addition of a new line marker to the file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;FIELDS WITHIN LINE COMMANDS: &lt;/span&gt; These commands add each individual field to the current line. They include: - POSITION: the starting position of the field on the line(for Fixed position files) - LENGTH: the length of the field - PAD: any required padding of the field - DATA: the source of the field i.e. a default value or an element fromthe XML file&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;For greater explanation, check out Chapter 4 of the BIP User Guide.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;OK - that's the talk finished!!!&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Here is an example ETEXT template and Payments XML file to build the 3 line text file specified in Point 1 &lt;/span&gt;&lt;span style="font-family:georgia;"&gt;in Part 2 of this blog series:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?u3vbzxhnxfd"&gt;XML Sample&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?3xgmdbybwdn"&gt;ETEXT Template&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.uploading.com/files/1MROD8FT/XX_CHK_ETEXT.rtf.html"&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-family:georgia;"&gt;Use the 'Template Viewer' supplied with Oracle BI Publisher desktop to test them for yourself.&lt;/span&gt; &lt;pre&gt;&lt;span style="font-family:georgia;"&gt;OK, I admit that it is a simple example - but I hope that it is just enough to get you started with your own template!!!&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Georgia;"&gt;&lt;/span&gt;  &lt;span style="font-family:georgia;"&gt;As always, let me know :-)&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1504585034394523479?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1504585034394523479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1504585034394523479' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1504585034394523479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1504585034394523479'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/etext-templates-for-check-printing-part_20.html' title='ETEXT Templates for Check Printing - Part 3'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-4349684471853188672</id><published>2008-06-17T03:14:00.000-07:00</published><updated>2008-06-17T03:57:31.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><category scheme='http://www.blogger.com/atom/ns#' term='Check Printing'/><title type='text'>ETEXT Templates for Check Printing - Part 2</title><content type='html'>As explained in my last post, many standalone check print solutions integrated with Oracle E-business suite require only a fixed position text file of check data.&lt;br /&gt;&lt;br /&gt;The third party software takes care of the layout and presentation of the document.&lt;br /&gt;&lt;br /&gt;In order to fulfil this requirement, we have to:&lt;br /&gt;&lt;br /&gt;1)- Define the structure of the fixed position Check file required by the third party software.&lt;br /&gt;2)- Understand the XML file created for Payment Disbursements.&lt;br /&gt;3)- Build an ETEXT template according to the structure defined in point 1 and based upon the XML file from point 2.&lt;br /&gt;4)- Set up Oracle Payments to use our custom ETEXT template for Check printing.&lt;br /&gt;&lt;br /&gt;OK - let’s look at each of these points:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1)- Define the structure of the Check file required by the third party software:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Before I start to build my template or write any code, I like to map the required file structure completely i.e. define what records appear on each line, their relative positions, length and any padding that is required.&lt;br /&gt;Note: You may need to liaise with your third party vendor or check their documentation to complete this exercise!&lt;br /&gt;&lt;br /&gt;I recommend creating a table with at least the following information:&lt;br /&gt;&lt;br /&gt;- Line Num: the line number in the text file&lt;br /&gt;- Field Name: the name of the attribute in the file&lt;br /&gt;- Position From: the position number where the attribute value starts on the line&lt;br /&gt;- Field Length: the length of the attribute&lt;br /&gt;- Padding character: any padding character if the attribute length is less than the field length&lt;br /&gt;- XML File Source: the source tag value from the Payments Disbursement XML file&lt;br /&gt;- Default Value: the default value of the field&lt;br /&gt;&lt;br /&gt;For example, take the following extract from a fixed position check file:&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;NCKEVIN WOODROW                                     01-JUN-20081872                1000,000.00&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;12 HOLLYWOOD BLVD                                 LOS ANGELES&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;CALIFORNIA                                        90210&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The structure of this file is:&lt;br /&gt;&lt;table summary="" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Line Num&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Field Name&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Position From&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Field Length&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Padding Char&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;New Cheque Indicator&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;none&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Payee Name&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;50&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Payment Date(DD-MON-YYYY)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;53&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;11&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;none&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Check Number&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;64&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;20&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Check Amount(####,###.00)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;84&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;11&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Address Line 1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;50&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Address Line 2&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;51&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;50&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Address Line 3&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;50&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;' '&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;......and so on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Trust me - if you take time to complete this exercise, building the ETEXT template will be very simple!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2)- Understand the XML file created for Payment Disbursements:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The BI Publisher data template for Payment Disbursements is:&lt;br /&gt;- Name: Oracle Payments Funds Disbursement Payment Instruction Extract 1.0&lt;br /&gt;- Code: IBY_FD_INSTRUCTION_1_0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In previous blog post, I outlined the structure of the XML file created and how to add custom fields to the XML file produced:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kwoodrow.blogspot.com/2008/06/part-2-adding-new-fields-to-r12-payment.html"&gt;http://kwoodrow.blogspot.com/2008/06/part-2-adding-new-fields-to-r12-payment.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This file is also well documented in Appendix K of the Oracle Payments Implementation Guide (Part Num: B28872-03).&lt;br /&gt;&lt;br /&gt;OK - Here is my table from Point 1 updated with the data source from the XML file:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;Line Num  Field Name                 XML Data Source (XPATH syntax)&lt;br /&gt;--------  -------------------------  ------------------------------&lt;br /&gt;1         New Cheque Indicator     &lt;br /&gt;1         Payee Name                 OutboundPaymentInstruction/OutboundPayment/Payee/Name&lt;br /&gt;1         Payment Date(DD-MON-YYYY)  OutboundPaymentInstruction/OutboundPayment/PaymentDate&lt;br /&gt;1         Check Number               OutboundPaymentInstruction/OutboundPayment/PaymentNumber/CheckNumber&lt;br /&gt;1         Check Amount(####,###.00)  OutboundPaymentInstruction/OutboundPayment/PaymentAmount&lt;br /&gt;&lt;br /&gt;2         Address Line 1             OutboundPaymentInstruction/OutboundPayment/Payee/Address/AddressLine1&lt;br /&gt;2         Address Line 2             OutboundPaymentInstruction/OutboundPayment/Payee/Address/AddressLine2&lt;br /&gt;&lt;br /&gt;3         Address Line 3             OutboundPaymentInstruction/OutboundPayment/Payee/Address/AddressLine3&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now we know the exact structure and data source of the text file required building the ETEXT template will take no time!&lt;br /&gt;&lt;br /&gt;I'll cover that tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-4349684471853188672?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/4349684471853188672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=4349684471853188672' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/4349684471853188672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/4349684471853188672'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/etext-templates-for-check-printing-part_17.html' title='ETEXT Templates for Check Printing - Part 2'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-332706537310217170</id><published>2008-06-13T02:48:00.000-07:00</published><updated>2008-06-13T02:51:30.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><category scheme='http://www.blogger.com/atom/ns#' term='Check Printing'/><title type='text'>ETEXT Templates for Check Printing - Part 1</title><content type='html'>There has been a few questions on the BI Publisher OTN forums recently around creating cheque (check) print files in ASCII format:&lt;br /&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=637081&amp;amp;tstart=0"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=637081&amp;amp;tstart=0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is because many 3rd party cheque printing solutions (e.g. Bottomline / Paybase) only require an ASCII file of cheque data. The 3rd party software then takes care of the layout of the cheque, signatures and security markings etc.&lt;br /&gt;&lt;br /&gt;Unfortunately for us, the Oracle Payments team have only delivered BIP cheque printing templates in RTF format.&lt;br /&gt;&lt;br /&gt;If you try and set the output type to TEXT for these, the resulting file will be full of pesky control characters and other such symbols.&lt;br /&gt;&lt;br /&gt;Trust me, however hard you try... your standalone check printer is going to spit this file out!&lt;br /&gt;&lt;br /&gt;Don't panic!!! There is a solution - ETEXT templates.&lt;br /&gt;&lt;br /&gt;ETEXT templates were originally developed for creating fixed position or delimited format Text files for EFT and EDI transmission.&lt;br /&gt;&lt;br /&gt;However, their uses should NOT be limited to EFT and EDI.&lt;br /&gt;&lt;br /&gt;WHENEVER you need to generate a fixed or delimited text file from an XML Publisher data source, think 'ETEXT'.&lt;br /&gt;&lt;br /&gt;You define the structure, format and logic of your TEXT file in RTF format (i.e. using Microsoft Word) and when this is applied against your XML data file, the appropriate TEXT file is produced.&lt;br /&gt;&lt;br /&gt;In my next post, I'll take you through the steps to build an ETEXT template for cheque printing.&lt;br /&gt;&lt;br /&gt;Before that, take a look at my previous posting on adding new fields to the R12 Funds Disbursment XML file:&lt;br /&gt;&lt;a href="http://kwoodrow.blogspot.com/2008/06/part-2-adding-new-fields-to-r12-payment.html"&gt;http://kwoodrow.blogspot.com/2008/06/part-2-adding-new-fields-to-r12-payment.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is important to understand the 4 level structure of the Payments XML document in order to correctly build the ETEXT file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-332706537310217170?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/332706537310217170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=332706537310217170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/332706537310217170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/332706537310217170'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/etext-templates-for-check-printing-part.html' title='ETEXT Templates for Check Printing - Part 1'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-5361748922686588038</id><published>2008-06-09T06:25:00.000-07:00</published><updated>2008-06-09T09:12:05.993-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>Formatting Dates passed from EBS to XML Publisher Templates</title><content type='html'>I often get asked by Template Designers how to change the format mask of the date values passed from EBS data templates.&lt;br /&gt;&lt;br /&gt;It seems pretty obvious until you discoverer that the seeded Value set for concurrent program date validation 'FND_STANDARD_DATE' returns a date in the XML file with the format &lt;span style="font-family:courier new;"&gt;YYYY-MM-DD hh:mm:ss+HH:MM&lt;/span&gt; e.g 2008-06-09 00:00:00.0&lt;br /&gt;&lt;br /&gt;XML Publisher is expecting the date to be in the format: &lt;span style="font-family:courier new;"&gt;YYYY-MM-DDThh:mm:ss+HH:MM&lt;/span&gt; e.g 2008-06-09T00:00:00.0&lt;br /&gt;&lt;br /&gt;Notice, that pesky 'T' separator between the date and time component in the second date!!!&lt;br /&gt;&lt;br /&gt;A post from Tim back in 2006 nicely explains this issue: blogs.oracle.com/xmlpublisher/2006/11/03&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He recommends using the following sql syntax for coding dates directly in your data template:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;to_char(TRX_DATE, 'YYYY-MM-DD"T"hh:mm:ss+HH:MM')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-family:courier new;"&gt;TRX_DATE&lt;/span&gt; is the date field being selected&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This works well if you can change the data template. However, there are many cases in EBS where the data templates cannot be viewed or modified.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One solution that I have found is to add the 'T' seperator to the date field in the Template e.g.&lt;br /&gt;&lt;br /&gt;Create a new form field in your template using the code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;?xdofx:replace(TRX_DATE,' ','T')?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-family:courier new;"&gt;TRX_DATE&lt;/span&gt; is the tag name of the date field.&lt;br /&gt;&lt;br /&gt;You can then happily format the date in your template using a standard Microsoft format mask!&lt;br /&gt;&lt;br /&gt;Anyone got another solution?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-5361748922686588038?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/5361748922686588038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=5361748922686588038' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/5361748922686588038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/5361748922686588038'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/formatting-dates-passed-from-ebs-to-xml.html' title='Formatting Dates passed from EBS to XML Publisher Templates'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-6599323588536724104</id><published>2008-06-06T05:37:00.000-07:00</published><updated>2008-06-06T13:46:39.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBY_FD_EXTRACT_EXT_PUB'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><title type='text'>Part 2: Adding new fields to the R12 Payment Funds Disbursement XML file</title><content type='html'>IBY_FD_EXTRACT_EXT_PUB is a standard PL/SQL package that is used to extend (i.e. add additional tags to) the XML file generated during a R12 Oracle Payments ‘Payment Process Request’:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img521.imageshack.us/my.php?image=paymentsuq6.png" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img521.imageshack.us/img521/5069/paymentsuq6.th.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This XML file is then used as the data source for the XML Publisher cheque or electronic file presentation layout.&lt;br /&gt;&lt;br /&gt;To understand how to use IBY_FD_EXTRACT_EXT_PUB, we have to understand the structure of the XML file created by the Payments process request.&lt;br /&gt;&lt;br /&gt;There are 4 main levels to the file. These are:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Top Level: Outbound Payment Instruction&lt;br /&gt;&lt;/strong&gt;This is the top level of the XML File and there is one Outbound Payment Instruction per Payment process request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Level 2: Outbound Payment:&lt;/strong&gt;&lt;br /&gt;This is the Payment Level i.e. an individual cheque or BACS payment amount to a supplier. There can be multiple Outbound Payments per Outbound Payment Instruction.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Level 3: Document Payable:&lt;/strong&gt;&lt;br /&gt;Details the documents (i.e. invoices) being paid. There can be multiple Document Payable tags per Outbound Payment&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Level 4: Document Payable Line:&lt;br /&gt;&lt;/strong&gt;This level details the invoice line. There can be multiple Document Payable Line tags per Document Payable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is an example Payments file viewed using XML notepad:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img75.imageshack.us/my.php?image=xmlpx1.png" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img75.imageshack.us/img75/31/xmlpx1.th.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Additional XML tags can be added at each of these 4 levels by coding different PL/SQL functions in IBY_FD_EXTRACT_EXT_PUB.&lt;br /&gt;The following table lists the functions you need to modify to add additional tags to each level of the XML file:&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;th&gt;&lt;span style="font-size:85%;"&gt;XML File Level&lt;/span&gt;&lt;/th&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;th&gt;&lt;span style="font-size:85%;"&gt;IBY_FD_EXTRACT_EXT_PUB Function To Modify&lt;/span&gt;&lt;/th&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;th&gt;&lt;span style="font-size:85%;"&gt;Example of Parameter Usage&lt;/span&gt;&lt;/th&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;OutboundPaymentInstruction&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Get_Ins_Ext_Agg(p_payment_instruction_id IN NUMBER)&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;SELECT *&lt;br /&gt;FROM iby_pay_instructions_all&lt;br /&gt;WHERE payment_instruction_id = p_payment_instruction_id;&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;OutboundPayment&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Get_Pmt_Ext_Agg(p_payment_id IN NUMBER)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;SELECT *&lt;br /&gt;FROM iby_payments_all ipa&lt;br /&gt;WHERE ipa.payment_id = p_payment_id;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;DocumentPayable&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Get_Doc_Ext_Agg(p_document_payable_id IN NUMBER)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;SELECT *&lt;br /&gt;FROM iby_docs_payable_all dp WHERE dp.document_payable_id = P_document_payable_id;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;DocumentPayableLine&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Get_Docline_Ext_Agg(p_document_payable_id IN NUMBER, p_line_number IN NUMBER)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;PaymentProcessProfile&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;Get_Ppr_Ext_Agg(p_payment_service_request_id IN NUMBER)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:85%;"&gt;SELECT *&lt;br /&gt;FROM iby_pay_service_requests WHERE payment_service_request_id = p_payment_service_request_id;&lt;/span&gt;&lt;/td&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tr&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;As shown in the example below, it is best practice to group all of your custom tags within a parent tag called 'Extend'&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EXAMPLE:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The following is an example of adding an 'Extend' tag and some additional invoice data to the ‘DocumentPayable’ level of the XML file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;--&lt;br /&gt;-- This API is called once per document payable.&lt;br /&gt;-- Implementor should construct the extract extension elements&lt;br /&gt;-- at the document level as a SQLX XML Aggregate&lt;br /&gt;-- and return the aggregate.&lt;br /&gt;--&lt;br /&gt;FUNCTION Get_Doc_Ext_Agg(p_document_payable_id IN NUMBER)&lt;br /&gt;RETURN XMLTYPE&lt;br /&gt;IS&lt;br /&gt;v_att1 ap_invoices_all.attribute1%TYPE;&lt;br /&gt;v_att2 ap_invoices_all.attribute2%TYPE;&lt;br /&gt;v_att3 ap_invoices_all.attribute3%TYPE;&lt;br /&gt;v_detail_line VARCHAR2(255);&lt;br /&gt;v_result XMLTYPE;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;SELECT ai.attribute1,ai.attribute2,ai.attribute3&lt;br /&gt;INTO v_att1, v_att2, v_att3&lt;br /&gt;FROM iby_docs_payable_all dp,ap_invoices_all ai&lt;br /&gt;WHERE dp.calling_app_doc_unique_ref2 = ai.invoice_id&lt;br /&gt;AND dp.document_payable_id = p_document_payable_id;&lt;br /&gt;&lt;br /&gt;v_detail_line := xxcsd_build_inv_line(p_document_payable_id);&lt;br /&gt;&lt;br /&gt;--now build the XML string&lt;br /&gt;SELECT XMLConcat(XMLElement("Extend",&lt;br /&gt;XMLElement("XXCSD_INVOICE_DFF1", v_att1),&lt;br /&gt;XMLElement("XXCSD_INVOICE_DFF2", v_att2),&lt;br /&gt;XMLElement("XXCSD_INVOICE_DFF3", v_att3),&lt;br /&gt;XMLElement("XXCSD_INV_DETAIL", v_detail_line)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;INTO v_result&lt;br /&gt;FROM dual;&lt;br /&gt;&lt;br /&gt;RETURN v_result;&lt;br /&gt;&lt;br /&gt;END Get_Doc_Ext_Agg;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see, I’ve added 4 new tags ‘XXCSD_INVOICE_DFF1’, ‘XXCSD_INVOICE_DFF2’, ‘XXCSD_INVOICE_DFF3’ and ‘XXCSD_INV_DETAIL’ to the XML File:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img100.imageshack.us/my.php?image=extendzd8.png" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img100.imageshack.us/img100/7169/extendzd8.th.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These new XML tags can now be referenced in my XML Publisher presentation template and added to my cheque or electronic payment file layout.&lt;br /&gt;&lt;br /&gt;For example, here is the tag ‘XXCSD_INV_DETAIL’ used in an ETEXT template:&lt;br /&gt;&lt;a href="http://img171.imageshack.us/my.php?image=etexttemplatewb3.png" target="_blank"&gt;&lt;img src="http://img171.imageshack.us/img171/2151/etexttemplatewb3.th.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-6599323588536724104?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/6599323588536724104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=6599323588536724104' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6599323588536724104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6599323588536724104'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/part-2-adding-new-fields-to-r12-payment.html' title='Part 2: Adding new fields to the R12 Payment Funds Disbursement XML file'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-649383064184354407</id><published>2008-06-03T08:47:00.000-07:00</published><updated>2008-06-06T13:01:46.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBY_FD_EXTRACT_EXT_PUB'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='Payments'/><title type='text'>Part 1: Adding new fields to the R12 Payment Funds Disbursement XML file</title><content type='html'>Hands up if you or someone you know has customised the standard 11i (or earlier) Format Payments program (APXPBFOR.rdf) to add additional fields, change the cheque / check layout or something similiar??&lt;br /&gt;&lt;br /&gt;Now, hands up if you have customised the RDF for your 11i BACS or electronic paymentfile??&lt;br /&gt;&lt;br /&gt;Crikey… there are a lot of hands up out there.&lt;br /&gt;&lt;br /&gt;In fact, I also have worked on lots of sites in the past where we have ‘tweaked’ the content and layout of these seeded 11i payment documents. For example, on my current project, there is a requirement to add some descriptive flexfield data from the invoice record (ap_invoices_all)&lt;br /&gt;onto the cheque.&lt;br /&gt;&lt;br /&gt;Well, the good news is…&lt;br /&gt;From R12, the Payments module has replaced the previous Payables functionality and has reimplemented all the templates using XML Publisher :-)&lt;br /&gt;&lt;br /&gt;And the bad news is…&lt;br /&gt;From R12, the Payments module has replaced the previous Payables functionality and has reimplemented all the templates using XML Publisher :-(&lt;br /&gt;&lt;br /&gt;OK – that was a poor attempt at humour – but from the technical and work-load perspective, the upgrade to Payments really is a double edge sword:&lt;br /&gt;You get all of the great XML Publisher functionality BUT you have to re-implement any customisations to your payment instructions!&lt;br /&gt;&lt;br /&gt;Luckily for us, Oracle has made it relatively easy to configure the R12 payment instructions and add new fields, content and layout. They have provided:&lt;br /&gt;&lt;br /&gt;1) - A PL/SQL Package ‘IBY_FD_EXTRACT_EXT_PUB‘ to add additional tags to the XML  file created during the Discbursement Process.&lt;br /&gt;2) - Loads of RTF and ETEXT presentation templates for BACS, cheque printing and other payment types.&lt;br /&gt;&lt;br /&gt;In my next post, I’ll take you through the steps to add new fields and tags to the XML file created by the XML Publisher data definition ‘Oracle Payments Funds Disbursement Payment Instruction Extract 1.0’.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-649383064184354407?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/649383064184354407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=649383064184354407' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/649383064184354407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/649383064184354407'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/06/part-1-adding-new-fields-to-r12.html' title='Part 1: Adding new fields to the R12 Payment Funds Disbursement XML file'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-2334939740155284942</id><published>2008-05-30T09:01:00.000-07:00</published><updated>2008-05-30T09:14:32.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XDOLoader'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>XDOLoader Part 2 - UPLOAD syntax</title><content type='html'>Yesterday, I ran through the DOWNLOAD syntax of XDOLoader to download XML Publisher templates and data definitions to a local machine.&lt;br /&gt;OK - I admit that having the file download syntax without the corresponding UPLOAD syntax is not much use! So, let's take a closer look at the UPLOAD syntax:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;java oracle.apps.xdo.oa.util.XDOLoader UPLOAD \&lt;br /&gt;-DB_USERNAME &lt;db_username&gt;\&lt;br /&gt;-DB_PASSWORD &lt;db_password&gt;\&lt;br /&gt;-JDBC_CONNECTION &lt;jdbc_con_string&gt;\&lt;br /&gt;-LOB_TYPE &lt;lob_type&gt;\&lt;br /&gt;-APPS_SHORT_NAME &lt;application_short_name&gt;\&lt;br /&gt;-LOB_CODE &lt;lob_code&gt;\&lt;br /&gt;-LANGUAGE &lt;language&gt;\&lt;br /&gt;-TERRITORY &lt;territory&gt;\&lt;br /&gt;-XDO_FILE_TYPE &lt;xdo_file_type&gt;\&lt;br /&gt;-NLS_LANG &lt;nls_lang&gt;\&lt;br /&gt;-FILE_NAME &lt;file_name&gt;\&lt;br /&gt;-CUSTOM_MODE [FORCENOFORCE] \&lt;br /&gt;-LOG_FILE &lt;log&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'll only describe those parameters that are different from yesterday:&lt;br /&gt;&lt;br /&gt;XDO_FILE_TYPE: The XML Publisher Type i.e. PDF, RTF, XLS, XSL-FO, XSL-HTML, XSL-XML,&lt;br /&gt;XSL-TEXT, XSD, XML, RTF-ETEXT&lt;br /&gt;NLS_LANG: The value of your NLS_LANG environment variable e.g. American_America.WE8ISO8859P1&lt;br /&gt;FILE_NAME: The name of XML Publisher File to upload&lt;br /&gt;CUSTOM_MODE: Set this to FORCE to update an existing template&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPLOAD EXAMPLE:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Here's a shell script that I use to upload files:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------------&lt;br /&gt;# Get parameters&lt;br /&gt;apps_psw=$1&lt;br /&gt;jdbc_con=$2&lt;br /&gt;app_short_name=$3&lt;br /&gt;lob_code=$4&lt;br /&gt;filename=$5&lt;br /&gt;filetype=$6&lt;br /&gt;#Upload XML Publisher Template&lt;br /&gt;% java oracle.apps.xdo.oa.util.XDOLoader UPLOAD \&lt;br /&gt;-DB_USERNAME apps \&lt;br /&gt;-DB_PASSWORD $apps_psw \&lt;br /&gt;-JDBC_CONNECTION $jdbc_con \&lt;br /&gt;-LOB_TYPE TEMPLATE \&lt;br /&gt;-APPS_SHORT_NAME $app_short_name \&lt;br /&gt;-LOB_CODE $lob_code \&lt;br /&gt;-NLS_LANG American_America.WE8ISO8859P1 \&lt;br /&gt;-LANGUAGE en \&lt;br /&gt;-TERRITORY US \&lt;br /&gt;-XDO_FILE_TYPE $filetype \&lt;br /&gt;-FILE_NAME $filename \&lt;br /&gt;-CUSTOM_MODE FORCE \&lt;br /&gt;-LOG_FILE xdotmpl.log&lt;br /&gt;------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ADDITIONAL NOTES:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;1) You must set your APPL_TOP and CLASSPATH before running the XDOLoader&lt;br /&gt;2) Don't forget to FNDLOAD the XML Publisher metadata using xdotmpl.lct before uploading the XML Publisher template or data template. Without this, you wont be able to view the file uploaded from the XML Publisher Administrator responsibility. I'll leave that syntax for you to look up ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-2334939740155284942?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/2334939740155284942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=2334939740155284942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2334939740155284942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2334939740155284942'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/05/xdoloader-part-2-upload-syntax.html' title='XDOLoader Part 2 - UPLOAD syntax'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-7650323934166618055</id><published>2008-05-29T07:11:00.000-07:00</published><updated>2008-05-30T09:18:23.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XDOLoader'/><category scheme='http://www.blogger.com/atom/ns#' term='BI Publisher / XML Publisher'/><title type='text'>XDOLoader Part 1 - XML Publisher DOWNLOAD mode syntax</title><content type='html'>It surprises me how few people are aware of the generic loader (XDOLoader) for XML / BI Publisher (BIP) files.&lt;br /&gt;&lt;br /&gt;Like FNDLOAD for AOL / XML Publisher metadata and WFLOAD for Workflow Item Types, XDOLoader is is a command line utility that allows you to migrate the BIP files between environments. The following BIP file types can be upload and downloaded:&lt;br /&gt;&lt;br /&gt;- TEMPLATE&lt;br /&gt;- XML_SCHEMA&lt;br /&gt;- XML_SAMPLE&lt;br /&gt;- DATA TEMPLATE&lt;br /&gt;&lt;br /&gt;Call XDOLoader in DOWNLOAD mode to create a local copy of the relevant object.&lt;br /&gt;Call XDOLoader in UPLOAD mode to load your local definitions into the database.&lt;br /&gt;&lt;br /&gt;Here's the DOWNLOAD syntax and some examples for Oracle E-Business suite users:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DOWNLOAD MODE SYNTAX:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;% java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD \&lt;br /&gt;-DB_USERNAME &lt;db_username&gt;\&lt;br /&gt;-DB_PASSWORD &lt;db_password&gt;\&lt;br /&gt;-JDBC_CONNECTION &lt;jdbc_con_string&gt;\&lt;br /&gt;-LOB_TYPE &lt;lob_type&gt;\&lt;br /&gt;-APPS_SHORT_NAME &lt;application_short_name&gt;\&lt;br /&gt;-LOB_CODE &lt;lob_code&gt;\&lt;br /&gt;-LANGUAGE &lt;language&gt;\&lt;br /&gt;-TERRITORY &lt;territory&gt;\&lt;br /&gt;-LOG_FILE &lt;log&gt;\&lt;br /&gt;-DEBUG &lt;debug&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;KEY (for E-Business suite Users):&lt;br /&gt;&lt;br /&gt;-DB_USERNAME: apps username for the target instance&lt;br /&gt;-DB_PASSWORD: apps password for the target instance&lt;br /&gt;-JDBC_CONNECTION: JDBC connection string (e.g. server:port:sid)&lt;br /&gt;of the target instance&lt;br /&gt;-LOB_TYPE: The XML Publisher object type.&lt;br /&gt;One of 'TEMPLATE', 'XML_SCHEMA', 'XML_SAMPLE' or 'DATA TEMPLATE'&lt;br /&gt;-APPS_SHORT_NAME: Application short name used to register the XML Publisher object&lt;br /&gt;-LOB_CODE: Template code i.e. concurrent program short name&lt;br /&gt;-LANGUAGE: ISO language code(i.e. en) used when registering the object&lt;br /&gt;-TERRITORY: ISO language code(i.e. GB) used when registering the object&lt;br /&gt;-LOG_FILE: Name of the log file. The default filename is xdotmpl.log&lt;br /&gt;-DEBUG: Run in Debug mode. Valid values are 'true' or 'false'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DOWNLOAD MODE EXAMPLES:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is the simple shell script that I use to download 'GB English' presentation and data templates.&lt;br /&gt;(Note - Change your language and territory as appropriate):&lt;br /&gt;&lt;br /&gt;-----------------------------------------&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Get parameters&lt;br /&gt;apps_psw=$1&lt;br /&gt;jdbc_con=$2&lt;br /&gt;app_short_name=$3&lt;br /&gt;lob_code=$4&lt;br /&gt;&lt;br /&gt;# Download XML Publisher Template RTF and XSL&lt;br /&gt;java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD \&lt;br /&gt;-DB_USERNAME apps \&lt;br /&gt;-DB_PASSWORD $apps_psw \&lt;br /&gt;-JDBC_CONNECTION $jdbc_con \&lt;br /&gt;-LOB_TYPE TEMPLATE \&lt;br /&gt;-APPS_SHORT_NAME $app_short_name \&lt;br /&gt;-LOB_CODE $lob_code \&lt;br /&gt;-LANGUAGE en \&lt;br /&gt;-TERRITORY GB \&lt;br /&gt;-LOG_FILE xdotmpl.log \&lt;br /&gt;-DEBUG true&lt;br /&gt;&lt;br /&gt;# Download XML Publisher dataTemplate&lt;br /&gt;java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD \&lt;br /&gt;-DB_USERNAME apps \&lt;br /&gt;-DB_PASSWORD $apps_psw \&lt;br /&gt;-JDBC_CONNECTION $jdbc_con \&lt;br /&gt;-LOB_TYPE DATA_TEMPLATE \&lt;br /&gt;-APPS_SHORT_NAME $app_short_name \&lt;br /&gt;-LOB_CODE $lob_code \&lt;br /&gt;-LANGUAGE en \&lt;br /&gt;-TERRITORY GB \&lt;br /&gt;-LOG_FILE xdotmpl.log \&lt;br /&gt;-DEBUG true&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;-----------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ADDITIONAL NOTES:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1) Don't forget to download your XML Publisher metadata using the FNDLOAD utility. The control file name is xdotmpl.lct.&lt;br /&gt;&lt;br /&gt;More on the UPLOAD syntax tomorrow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-7650323934166618055?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/7650323934166618055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=7650323934166618055' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7650323934166618055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7650323934166618055'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/05/xdoloader-part-1-xml-publisher-download.html' title='XDOLoader Part 1 - XML Publisher DOWNLOAD mode syntax'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1265780874043917178</id><published>2008-05-27T13:32:00.000-07:00</published><updated>2008-05-27T13:36:55.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoverer'/><category scheme='http://www.blogger.com/atom/ns#' term='System Administrator'/><category scheme='http://www.blogger.com/atom/ns#' term='Quick Reminders'/><title type='text'>Another Quick Reminder: Linking Discoverer Reports to standard Oracle Applications Menu</title><content type='html'>&lt;p class="MsoNormal"&gt;Here are the steps required to link a standard Discoverer workbook to an Oracle Applications menu:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;Step&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Description&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;Tool&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;1&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Note the value of the workbook ‘Identifier’. Open the   workbook, navigate to ‘File -&gt; Manage Workbooks -&gt; Properties. &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;Discoverer Plus &lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;2&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Create a new Form Function (Application -&gt; Function).   Required values:&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Function: XX???_???&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;User Function Name: &lt;i&gt;Report Name&lt;/i&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Description: ???&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Type: SSWA plsql function&lt;/p&gt;   &lt;p class="MsoNormal"&gt;Parameters: Workbook=&lt;i&gt;Step 1 Identifier&lt;/i&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;HTML Call: OracleOasis.RunDiscoverer&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;System Administrator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;3&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Link the form function to the appropriate menu   (Application -&gt; Menu).&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;System Administrator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;4&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Share the business areas used by the workbook with the   responsibilities associated with the modified menu&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;Discoverer Administrator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 32.4pt;" valign="top" width="43"&gt;   &lt;p class="MsoNormal"&gt;5&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 261pt;" valign="top" width="348"&gt;   &lt;p class="MsoNormal"&gt;Share the workbook with the responsibilities associated   with the modified menu&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 81pt;" valign="top" width="108"&gt;   &lt;p class="MsoNormal"&gt;Discoverer Plus&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Associated Profile Options:&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 188.15pt;" valign="top" width="251"&gt;   &lt;p class="MsoNormal"&gt;Profile Name&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 107.55pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Description&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 107.55pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Value&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 188.15pt;" valign="top" width="251"&gt;   &lt;p class="MsoNormal"&gt;ICX_DISCOVERER_USEVIEWER&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 107.55pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Determines if Discoverer Viewer or Discoverer Plus is launched   when a workbook is opened from a menu&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 107.55pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Yes or No&lt;br /&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;u&gt;References:&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Metalink Note: 278095.1 &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1265780874043917178?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1265780874043917178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1265780874043917178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1265780874043917178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1265780874043917178'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/05/another-quick-reminder-linking.html' title='Another Quick Reminder: Linking Discoverer Reports to standard Oracle Applications Menu'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-6954362608466469699</id><published>2008-05-25T04:43:00.000-07:00</published><updated>2008-05-25T05:00:43.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='General Ledger'/><category scheme='http://www.blogger.com/atom/ns#' term='Discoverer'/><category scheme='http://www.blogger.com/atom/ns#' term='Quick Reminders'/><title type='text'>Quick Reminders: Steps to set up General Ledger security for Discoverer</title><content type='html'>&lt;p class="MsoNormal"&gt;Here’s a quick reminder of the steps required to setup GL ledger and segment value security for the seeded Discoverer General Ledger Business Area:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Set the profile option ‘FII: GL BIS Discoverer access’ for all GL responsibilities that will run Discoverer workbooks.&lt;/li&gt;&lt;li&gt;Ensure that the profile option ‘GL Set of Books Name’ (‘GL Ledger Name in R12) has been set at responsibility level for all GL responsibilities that will run Discoverer workbooks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;Ensure that the ‘Security Enabled’ flag is set to Yes for all ‘enabled’ segments of the chart of accounts. (Setup, Flexfields, Key, Segments)&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;&lt;o:p&gt;&lt;/o:p&gt;Define a flexfield value set security rule for each segment in the chart of accounts that INCLUDES all possible values in the Security Rule Elements i.e. Include 000000 ZZZZZZ (Setup, Flexfields, Validation, Security, Define)&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;Assign the value set security rules created in Step 4 to all of the GL responsibilities that will run Discoverer Workbooks (Setup, Flexfields, Validation, Security, Assign)&lt;/li&gt;&lt;/ol&gt;              &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-6954362608466469699?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/6954362608466469699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=6954362608466469699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6954362608466469699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/6954362608466469699'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/05/quick-reminders-steps-to-set-up-general.html' title='Quick Reminders: Steps to set up General Ledger security for Discoverer'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-485203012011892409</id><published>2008-05-24T13:25:00.000-07:00</published><updated>2008-05-24T13:42:32.963-07:00</updated><title type='text'>Normal service resumes</title><content type='html'>I've been heads down, hands on and snowed under for the last few months working on an R12 implementation in the UK.&lt;br /&gt;&lt;br /&gt;I've been doing some interesting things with Oracle Payments and XML Publisher using E-Text templates to integrate their check printing and BACS extract programs with their BottomLine / Paybase solution. I promise a post on this shortly.&lt;br /&gt;&lt;br /&gt;Also, have been developing multiple materialised views for GL Balances, Journal Transactions and Drill down to Sub-ledgers reporting that can be integrated into both a Discoverer business area and the OBIEE BI Server.&lt;br /&gt;&lt;br /&gt;I'm off to India (Pune) soon to brush up on my OAF skills. I've never been to India before so am really looking forward to the trip. Am planning to spend a few days in Goa after to relax a.k.a. party ;-) and work on my tan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-485203012011892409?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/485203012011892409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=485203012011892409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/485203012011892409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/485203012011892409'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2008/05/normal-service-resumes.html' title='Normal service resumes'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1910488948182188283</id><published>2007-12-12T02:15:00.000-08:00</published><updated>2008-05-25T01:12:02.450-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discoverer'/><title type='text'>Connecting to Discoverer 10G</title><content type='html'>Does this sound familiar?&lt;br /&gt;&lt;br /&gt;Connecting to Discoverer Administrator or Desktop as an apps user for the first time on a a project and you get the error message:&lt;br /&gt;&lt;br /&gt;"Invalid Username and Password"&lt;br /&gt;&lt;br /&gt;You have the oracle apps user checkbox ticked and have validated that both the username and password are correct and have checked your TNS Names file.&lt;br /&gt;&lt;br /&gt;Rather than shout at the Apps DBA, here is what you need to do:&lt;br /&gt;&lt;br /&gt;1)       Create the following 2 new environment variables (path=control panel, system, advanced, environment variables) :&lt;br /&gt;&lt;br /&gt;FND_SECURE =&lt;oracle_home&gt;\secure&lt;br /&gt;FND_TOP=&lt;oracle_home&gt;&lt;br /&gt;&lt;br /&gt;for me &lt;oracle_home&gt; is C:\Oracle\BIToolsHome_1\&lt;br /&gt;&lt;br /&gt;2)       Rename the application dbc file from the $FND_TOP/secure directory to the name of the connect entry in your TNSNAMES.ORA file.&lt;br /&gt;&lt;br /&gt;For example, if your TNSNAMES entry looks like this:&lt;br /&gt;MYDATA.WORLD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = myserver.myorg.com)(Port = 1521)) (CONNECT_DATA = (SID = MYDATA)) )&lt;br /&gt;&lt;br /&gt;then your dbc file must be named MYDATA.DBC&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy discovering!&lt;/oracle_home&gt;&lt;/oracle_home&gt;&lt;/oracle_home&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1910488948182188283?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1910488948182188283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1910488948182188283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1910488948182188283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1910488948182188283'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2007/12/connecting-to-discoverer-10g.html' title='Connecting to Discoverer 10G'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-2491315917616563882</id><published>2007-09-25T05:31:00.000-07:00</published><updated>2008-06-02T02:44:05.314-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bill Presentment Architecture'/><title type='text'>Some people are never happy</title><content type='html'>As we move forward with our 'adoption' of BI / XML Publisher here, I've been thinking more about what we really need to get up and running quickly.&lt;br /&gt;&lt;br /&gt;It is simple really ;-) At the top of our 'wish list' is:&lt;br /&gt;&lt;br /&gt;- A comprehensive library of reusable templates&lt;br /&gt;&lt;br /&gt;Forget about those pesky XSL-FO ones, we need easily customizable RTF / MS Word templates for EVERY standard AP, PO, GL, AR and FA Oracle e-business suite report and we need them FAST. Translations would be nice as well :-)&lt;br /&gt;&lt;br /&gt;I’m not asking for too much, am I? :-)&lt;br /&gt;&lt;br /&gt;I demo'ed some BPA functionality to the project team here yesterday.&lt;br /&gt;&lt;br /&gt;They loved:&lt;br /&gt;&lt;br /&gt;- The simplicity of the template editor:&lt;br /&gt;-- Adding and deleting items, images and messages&lt;br /&gt;-- Moving regions and contents around&lt;br /&gt;-- Changing item properties&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img230.imageshack.us/my.php?image=templateslb9.gif" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img230.imageshack.us/img230/3625/templateslb9.th.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- The Integration with the AR Transactions form.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img519.imageshack.us/my.php?image=bpaiconjr0.gif" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img519.imageshack.us/img519/5756/bpaiconjr0.th.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- The Ease of integrating additional data sources with the standard AR data.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img519.imageshack.us/my.php?image=datasourcesfg2.gif" target="_blank"&gt;&lt;img alt="Free Image Hosting at www.ImageShack.us" src="http://img519.imageshack.us/img519/6667/datasourcesfg2.th.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The problem was that the demo was a little too successful! It started a discussion on why some other customer facing documents didn't have similar applications integrated with the core functionality.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As they say 'Some people are never happy' ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-2491315917616563882?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/2491315917616563882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=2491315917616563882' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2491315917616563882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/2491315917616563882'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2007/09/some-people-are-never-happy.html' title='Some people are never happy'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-8921106232935426497</id><published>2007-09-20T06:09:00.000-07:00</published><updated>2007-09-20T06:33:19.833-07:00</updated><title type='text'>Cowboy Coding</title><content type='html'>I had to smile when I read this on Wikipedia. I'm sure that we have all met somebody who is an expert in this art:&lt;br /&gt;&lt;br /&gt;Cowboy Coding is a software development methodology without an actual defined method – team members do whatever they feel is right. Typical cowboy coding will involve no initial definition of the purpose or scope of the project, no formal description of the project, and will often involve one programmer. It is characterized by a single programmer jumping into the writing of the software often working from his own idea of what the software should do. It is often characterized by a lack of any documentation for either the requirements of the project or the design of the software overall.&lt;br /&gt;&lt;br /&gt;Read the rest on wikipedia: &lt;a href="http://en.wikipedia.org/wiki/Cowboy_coding"&gt;http://en.wikipedia.org/wiki/Cowboy_coding&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-8921106232935426497?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/8921106232935426497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=8921106232935426497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/8921106232935426497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/8921106232935426497'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2007/09/cowboy-coding.html' title='Cowboy Coding'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-1114663075729194114</id><published>2007-09-18T09:11:00.000-07:00</published><updated>2008-05-25T01:13:40.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bill Presentment Architecture'/><title type='text'>Sleeping easy with 11.5.10 Bill Presentment Architecture - Part 1</title><content type='html'>I am currently reviewing a customer's existing AR invoice printing and bill presentation process.&lt;br /&gt;&lt;br /&gt;As part of their original implementation, they had customised the standard Reports 6i invoice print program (RAXINV) for invoice printing. This had proved to be a very difficult solution to maintain. Now they were upgrading their Oracle technology stack, they were keen to review different solutions for invoice printing.&lt;br /&gt;&lt;br /&gt;Like POXPRPOP, the name RAXINV can strike terror into the heart of many a poor unsuspecting appstechie. I can still recall sleepless nights:&lt;br /&gt;- sweating over all those frames and repeating groups&lt;br /&gt;- counting out the character cells&lt;br /&gt;and plucking up the courage to turn flex or confine mode off  :-)   &lt;br /&gt;&lt;br /&gt;When Oracle released Bill Presentment Architecture or BPA, I am sure that someone in Development was trying to apologise!&lt;br /&gt;&lt;br /&gt;Now built upon Oracle XML Publisher technology, BPA is actually quite a simple solution to implement. After only an hour or so, we had developed a very neat prototype for the customer and they are very excited to implement this solution.&lt;br /&gt;&lt;br /&gt;In my next post, I'll outline the steps to get started with BPA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-1114663075729194114?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/1114663075729194114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=1114663075729194114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1114663075729194114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/1114663075729194114'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2007/09/sleeping-easy-with-11510-bill.html' title='Sleeping easy with 11.5.10 Bill Presentment Architecture - Part 1'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7835971960844585750.post-7474829227599014121</id><published>2007-09-14T08:01:00.000-07:00</published><updated>2008-05-25T01:14:00.110-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workflow'/><title type='text'>My old friend 'Workflow'</title><content type='html'>I read today that Error correction support ended for Oracle Workflow last week. (&lt;a href="http://www.oracle.com/technology/products/ias/workflow/workflow_sod.html"&gt;http://www.oracle.com/technology/products/ias/workflow/workflow_sod.html&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;I've been on a number of projects that attempted to use workflow technology in unique ways.&lt;br /&gt;&lt;br /&gt;I remember 7 or 8 years ago and before the Oracle Teleservice application was available, I was the Workflow Lead on a project for a large Health Insurance company in California. We were integrating their Customer service application with the Oracle Advance Benefits module using Oracle Workflow and Advanced Queuing.&lt;br /&gt;&lt;br /&gt;Today, the SOA suite and BPEL are perfect fits for this requirement but at that time, Oracle Workflow was all we had!&lt;br /&gt;&lt;br /&gt;We were lucky that there was a Cheesecake Factory very close to the office in Woodland Hills. I remember fondly the long nights spent there discussing the solution design, intricate workflow processes and of course, eating cheesecake.&lt;br /&gt;&lt;br /&gt;So tonight, I'll raise my glass for the end of my old friend 'Workflow'. Now, if only we could get a Cheesecake Factory franchise in London...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7835971960844585750-7474829227599014121?l=kwoodrow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kwoodrow.blogspot.com/feeds/7474829227599014121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7835971960844585750&amp;postID=7474829227599014121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7474829227599014121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7835971960844585750/posts/default/7474829227599014121'/><link rel='alternate' type='text/html' href='http://kwoodrow.blogspot.com/2007/09/my-old-friend-workflow.html' title='My old friend &apos;Workflow&apos;'/><author><name>Kevin Woodrow</name><uri>http://www.blogger.com/profile/15625316453265486393</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_NtRBd6uW0XU/S4ZPFJ_nJ0I/AAAAAAAAADI/18c5FezMb3k/S220/kwoodrow.jpg'/></author><thr:total>0</thr:total></entry></feed>
