<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0EFQHY6cSp7ImA9WxVaFkU.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487</id><updated>2009-04-14T00:00:11.819-04:00</updated><title>BIPgirl.com</title><subtitle type="html">The Amazing Adventures of BIPgirl...Oracle Reporting using BI Publisher</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.bipgirl.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.bipgirl.com/" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/Bipgirl" type="application/atom+xml" /><entry gd:etag="W/&quot;CE8FR3k_fCp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-474638149740114218</id><published>2008-04-14T09:12:00.014-04:00</published><updated>2008-12-09T06:40:16.744-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:16.744-05:00</app:edited><title>Data Template Example : Passing A Parameter</title><content type="html">In my last post, I said that I would give you an example of a data template that is passing a parameter from a concurrent program.&lt;span style=""&gt;  &lt;/span&gt;I said I would do it “tomorrow” but “tomorrow” turned into month and a half.&lt;span style=""&gt;  &lt;/span&gt;Time sure flies when you’re having fun converting reports over to BIP!&lt;span style=""&gt;  &lt;/span&gt;So here is a little example that I threw together …  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This report is just going to pull back concurrent program information based on the reporting group that you enter as a parameter (nothing fancy, but you’ll see how the data template works).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Step 1 – Create your concurrent program&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;In the concurrent program I added 1 parameter called “REQUEST_GROUP_NAME” that is just a 30 char field where you will enter the reporting group name at runtime.&lt;span style=""&gt;  &lt;/span&gt;For the executable, I used XDODTEXE.&lt;span style=""&gt;  &lt;/span&gt;This is a java concurrent program and it is very important that you use this executable when writing your own data definition or else it won’t run.&lt;span style=""&gt;  &lt;/span&gt;It is also important to set the output type to XML.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANYsxqhigI/AAAAAAAAAI4/BM2vXiNRusQ/s1600-h/Conc_Prog_Img.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANYsxqhigI/AAAAAAAAAI4/BM2vXiNRusQ/s400/Conc_Prog_Img.jpg" alt="" id="BLOGGER_PHOTO_ID_5189088721930127874" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:431.25pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" title="Conc_Prog_Img"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&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;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;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;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;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;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;Step 2 – Add your concurrent program to a request group&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;For this example I just chose a request group that I was currently working in.&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;You can, of course, put your report wherever you need to.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANZExqhihI/AAAAAAAAAJA/kFjOUWM3kIM/s1600-h/Conc_Prog_Req_Grp_Img.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANZExqhihI/AAAAAAAAAJA/kFjOUWM3kIM/s400/Conc_Prog_Req_Grp_Img.jpg" alt="" id="BLOGGER_PHOTO_ID_5189089134246988306" border="0" /&gt;&lt;/a&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;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;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;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;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;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;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;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;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;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;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;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;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Step 3 – Create your Data Template&lt;/p&gt;            &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;I used jDeveloper to create my data template, but you can use&lt;br /&gt;whatever text editor you choose.&lt;span style=""&gt;  &lt;/span&gt;It is important that you include all&lt;br /&gt;of the mandatory pieces of the Data Template or else it will error&lt;br /&gt;out on you.&lt;span style=""&gt;  &lt;/span&gt;Here is the example data template that I created, which&lt;br /&gt;has my parameter name from the concurrent program and also the&lt;br /&gt;query that is using the parameter.&lt;span style=""&gt;  &lt;/span&gt;At the bottom there is a data structure&lt;br /&gt;section where you will define your grouping, just like in the .rdf.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/SANZYhqhiiI/AAAAAAAAAJI/UrsPI0yAmno/s1600-h/Data_Template_XML.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/SANZYhqhiiI/AAAAAAAAAJI/UrsPI0yAmno/s400/Data_Template_XML.jpg" alt="" id="BLOGGER_PHOTO_ID_5189089473549404706" border="0" /&gt;&lt;/a&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;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;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;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;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;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;        &lt;p class="MsoNormal"&gt;Step 4 – &lt;span style=""&gt; &lt;/span&gt;In this step you will create your Data Definition in the XML Publisher&lt;br /&gt;Administrator responsibility.&lt;span style=""&gt;  &lt;/span&gt;The data definition is linked to your concurrent&lt;br /&gt;program, so you have to be sure your “CODE” matches the concurrent program&lt;br /&gt;short name exactly.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/SANbdRqhijI/AAAAAAAAAJQ/oulhqTz-ZTI/s1600-h/Data_Definition_BIPCONC.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/SANbdRqhijI/AAAAAAAAAJQ/oulhqTz-ZTI/s400/Data_Definition_BIPCONC.jpg" alt="" id="BLOGGER_PHOTO_ID_5189091754177038898" border="0" /&gt;&lt;/a&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;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;span style=""&gt;            &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;In the Data Definition, there is an option to add your data template file at the&lt;br /&gt;bottom of the screen.&lt;span style=""&gt;  &lt;/span&gt;If you click on this button you can browse to your data&lt;br /&gt;template file and upload it.  Your data will now be fetched based on this data&lt;br /&gt;template, not a .rdf.  &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;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1029" type="#_x0000_t75" style="'width:431.25pt;height:114pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image008.jpg" title="Data_Template"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/SANbwhqhikI/AAAAAAAAAJY/eAGn7Q2yTn0/s1600-h/Data_Template.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/SANbwhqhikI/AAAAAAAAAJY/eAGn7Q2yTn0/s400/Data_Template.jpg" alt="" id="BLOGGER_PHOTO_ID_5189092084889520706" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;!--[endif]--&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;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;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;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;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;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;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;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Step 5 – Run your concurrent request&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;With the data template attached, you should be able to run your concurrent&lt;br /&gt;request and view XML output.&lt;span style=""&gt;  &lt;/span&gt;When you see this output, you should save the&lt;br /&gt;file as .xml for use in your layout template design.&lt;span style=""&gt;  &lt;/span&gt;Here is what my sample&lt;br /&gt;XML data looks like :&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;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1030" type="#_x0000_t75" style="'width:431.25pt;height:180pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image009.jpg" title="Sample_XML"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANcCxqhilI/AAAAAAAAAJg/hVN_Kxh1TPw/s1600-h/Sample_XML.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANcCxqhilI/AAAAAAAAAJg/hVN_Kxh1TPw/s400/Sample_XML.jpg" alt="" id="BLOGGER_PHOTO_ID_5189092398422133330" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;!--[endif]--&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;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;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;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;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;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Step 6 – Create your layout template in Word&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;In Word, load the sample XML data that you just saved and create your layout&lt;br /&gt;template.&lt;span style=""&gt;  &lt;/span&gt;For this example I created a very minimal template to display the data.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/SANc6BqhimI/AAAAAAAAAJo/G1ISHdN80Rw/s1600-h/Layout_Template.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/SANc6BqhimI/AAAAAAAAAJo/G1ISHdN80Rw/s400/Layout_Template.jpg" alt="" id="BLOGGER_PHOTO_ID_5189093347609905762" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;!--[endif]--&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;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;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;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Step 7 – Create the Template Definition&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Once you have previewed your layout template in Word and are happy with it,&lt;br /&gt;you can go ahead and create a template definition and upload the template .rtf.&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;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1032" type="#_x0000_t75" style="'width:6in;height:184.5pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image013.jpg" title="Template_Definition_Img"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/SANdRRqhinI/AAAAAAAAAJw/0Yb3kg4PYn4/s1600-h/Template_Definition_Img.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/SANdRRqhinI/AAAAAAAAAJw/0Yb3kg4PYn4/s400/Template_Definition_Img.jpg" alt="" id="BLOGGER_PHOTO_ID_5189093747041864306" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&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;Step 8 – Run your concurrent request (again)&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;This time you will see that the layout template is attached to the concurrent&lt;br /&gt;request, due to the template definition creation.&lt;span style=""&gt;  &lt;/span&gt;When you view the output,&lt;br /&gt;you shouldn’t see the XML data anymore, but the data and template merged&lt;br /&gt;in report format&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANgfxqhipI/AAAAAAAAAKA/HSZcyxtoAKM/s1600-h/Layout_Attached_Img.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANgfxqhipI/AAAAAAAAAKA/HSZcyxtoAKM/s400/Layout_Attached_Img.jpg" alt="" id="BLOGGER_PHOTO_ID_5189097294684850834" border="0" /&gt;&lt;/a&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;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1033" type="#_x0000_t75" style="'width:431.25pt;height:178.5pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image015.jpg" title="BIPCONC_Output_Img"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/SANdjBqhioI/AAAAAAAAAJ4/I8mdaN5usIU/s1600-h/BIPCONC_Output_Img.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/SANdjBqhioI/AAAAAAAAAJ4/I8mdaN5usIU/s400/BIPCONC_Output_Img.jpg" alt="" id="BLOGGER_PHOTO_ID_5189094051984542338" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&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;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There you have it… a report written using a data template instead of a .rdf. &lt;span style=""&gt; &lt;/span&gt;Of course our reports tend to be a little more complex than this one, but a simple nonsense report is a great way to start and get some results out of the Apps.&lt;span style=""&gt;  &lt;/span&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;This time I’m not making and promises about posing “tomorrow” but I haven’t disappeared (thanks Greg for checking on me)!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;- BIPgirl&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-474638149740114218?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/474638149740114218/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=474638149740114218&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/474638149740114218?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/474638149740114218?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/A62_0xeeBxE/data-template-example-passing-parameter.html" title="Data Template Example : Passing A Parameter" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_P7koYRXIT3Q/SANYsxqhigI/AAAAAAAAAI4/BM2vXiNRusQ/s72-c/Conc_Prog_Img.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://www.bipgirl.com/2008/04/data-template-example-passing-parameter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FRns4fip7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-6590509733979513473</id><published>2008-02-25T14:39:00.007-05:00</published><updated>2008-12-09T06:40:17.536-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:17.536-05:00</app:edited><title>What is the data template?</title><content type="html">Some of you may be using an Oracle .rdf to generate your BIP reports and then attaching a .rtf layout template to it.  This may be fine for your business needs at this point, but what if you could improve your report run time by 30-40%?  That sounds nice, doesn't it?  Well, if you were to use 'pure' BIP (which means writing your reports in XML) then it could happen.  Of course every report is different, but you are putting less work on the BIP execution engine this way.  This means that you have to take some time to explore XML if you don't already know it, but in the end it may speed up your reports.&lt;br /&gt;&lt;br /&gt;The data template is how you communicate your request for data to the data engine.  You write this data template in XML and the elements that you create define how the data engine will process the template and generate your XML output.  A shell to create a data template looks like this :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R8MqNw3YqqI/AAAAAAAAAHw/_2H76-eXO4A/s1600-h/data_temp_shell.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R8MqNw3YqqI/AAAAAAAAAHw/_2H76-eXO4A/s400/data_temp_shell.jpg" alt="" id="BLOGGER_PHOTO_ID_5171023213095332514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The data template has a parameters section, a dataQuery section and a dataStructure section.  Within each section there are elements.  Below is a list of the elements&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dataTemplate&lt;/span&gt; - required : declares that the xml you are writing is a dataTemplate to be used as your report.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;parameters&lt;/span&gt; - consists of 1 or more &lt;parameter&gt; child elements&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;parameter&lt;/span&gt; - the name of the parameter referenced in your dataQuery&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;lexicals &lt;/span&gt;- consists of 1 or more lexical elements to support flexfields&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;lexical&lt;/span&gt; - the 4 types are KFF segments, KFF, KFF where and KFF order by&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dataQuery&lt;/span&gt; - where you write your sqlStatement elements&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sqlStatement&lt;/span&gt; - a SQL query&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;link&lt;/span&gt; - where you link your sqlStatements together as a  parent-child relationship&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dataTrigger&lt;/span&gt; - the trigger and the event associated with it&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dataStructure &lt;/span&gt;- required when writing and linking multiple queries&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;group&lt;/span&gt; - consists of 1 or more element elements&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;element&lt;/span&gt; - the tag name assigned to the element in the XML output&lt;br /&gt;&lt;br /&gt;Those are the pieces of the data template that you will need to know.&lt;br /&gt;In tomorrow's post, I will give you an example of a data template that is passing a parameter from a concurrent program.&lt;/parameter&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-6590509733979513473?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/6590509733979513473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=6590509733979513473&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/6590509733979513473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/6590509733979513473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/VnJA1JZ-xwU/what-is-data-template.html" title="What is the data template?" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_P7koYRXIT3Q/R8MqNw3YqqI/AAAAAAAAAHw/_2H76-eXO4A/s72-c/data_temp_shell.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.bipgirl.com/2008/02/what-is-data-template.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQBR3Y-eSp7ImA9WxZREEw.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-53305052611610178</id><published>2008-02-02T21:24:00.000-05:00</published><updated>2008-02-02T23:35:56.851-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-02T23:35:56.851-05:00</app:edited><title>1099-MISC Continued...</title><content type="html">Hello out there in BIP world!  I have been getting comments about how I created my 1099-MISC .rtf files, so I thought I should write a follow-up to my last post.&lt;br /&gt;&lt;p class="MsoNormal"&gt;I started off trying to download the .pdf files from the IRS website, but if you&lt;span style=""&gt;  &lt;/span&gt;haven't noticed already, you have to write Adobe code in the .pdf docs to get the looping you want.&lt;span style=""&gt;  &lt;/span&gt;So, that didn't work out too well for me seeing that I don't know how to code in Adobe.&lt;br /&gt;&lt;/p&gt;The most effective way that I found to get the forms how we needed them, was to create a .rtf template to use.  I was only required to create a format that we could print and mail out, which eliminated having to worry about business-2-business field compatibility and using the .pdf to send back to the IRS electronically.  Basically, I just used the BIP desktop tool to re-create the IRS forms.  I created 2 tables per page (one for Copy B and one for Copy 2) and then entered my for-each loops and tags accordingly.&lt;br /&gt;&lt;br /&gt;You can download 2 sample files here :&lt;br /&gt;&lt;a href="http://www.mediafire.com/?cw4rmzw0rny"&gt;Copy B/2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?2popmj4nyd5"&gt;Copy C&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These templates need some clean-up work with removing the table lines where they aren't needed (use the IRS downloaded forms as your guide).  But you will get the overall idea on what you should use for this solution.  If you have any additional questions, just post a comment and I'll get back to you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-53305052611610178?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/53305052611610178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=53305052611610178&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/53305052611610178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/53305052611610178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/5GYb8kMktu4/1099-misc-continued.html" title="1099-MISC Continued..." /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bipgirl.com/2008/02/1099-misc-continued.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIDRXc_fyp7ImA9WxZTFUw.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-4522957787914898477</id><published>2008-01-11T15:50:00.000-05:00</published><updated>2008-01-16T14:42:54.947-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-16T14:42:54.947-05:00</app:edited><title>My 1099-MISC Solution</title><content type="html">Is anyone else having trouble using BIP to get their 1099-MISC forms how they want them?  Well, at my company we previously used pre-printed triplicate forms where Copy B and Copy 2 were sent to the recipient and Copy C was kept by us (the payer).  The forms caused issues with alignment on the pin feed printer and were also time consuming because they had to be torn apart.  &lt;span style="font-style: italic;"&gt;Pin feed printer?  Are those still around?&lt;/span&gt;  Anyway....&lt;br /&gt;&lt;br /&gt;Enter XML Publisher and the laser printer solution!  Oracle provides a 1099-MISC template.  The seeded template (called &lt;span class="x2" id="TempName"&gt;1099 Forms if you want to do a template search) is a .PDF template and only contains Copy B that will print 1 recipient per page.  The document doesn't have IRS wording on it and would require your company to include an additional piece of paper in the envelope.  This format didn't meet our needs, so &lt;/span&gt;BIPgirl was called upon to save the day!&lt;br /&gt;&lt;br /&gt;What was our solution?  Create new .rdf templates of course!  Seeing that we've been sending recipients Copy B and Copy 2, I created 1 .rtf template with those 2 layouts on it (going by what is on the IRS website).  When inserting the XML tags from the seeded report APXT7F99, I have the same recipient's information print on 1 page.  I then created a second template with Copy C.  In this template I have 2 recipients print per page.&lt;br /&gt;&lt;br /&gt;But what about the IRS wording?  I was hoping that you wanted to know about that.  Going back to how time consuming the triplicate forms were, we didn't want to stuff extra pieces of paper into envelopes.  To get around this, we contacted our paper vendor and ordered custom stock.  This new stock has a perforation in the middle so that Copy B and Copy 2 can be torn apart by the recipient and folded to fit into window envelopes by us.  Then we had the IRS wording printed on the back of Copy B and &lt;span style="font-style: italic;"&gt;viola!&lt;/span&gt; we have our forms to mail out in our custom window envelopes.  As for Copy C, we just keep them for our records so they could be printed on white paper to save on the custom stock cost.&lt;br /&gt;&lt;br /&gt;So if anyone else is out there struggling or spending too much time dealing with pre-printed forms, try this solution.  It really saved us a lot of time and money!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-4522957787914898477?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/4522957787914898477/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=4522957787914898477&amp;isPopup=true" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/4522957787914898477?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/4522957787914898477?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/ZbiQaD_AYxA/my-1099-misc-solution.html" title="My 1099-MISC Solution" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://www.bipgirl.com/2008/01/my-1099-misc-solution.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAHRno5eCp7ImA9WxZTEEw.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-124191199904017906</id><published>2008-01-10T11:30:00.000-05:00</published><updated>2008-01-10T21:15:37.420-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-10T21:15:37.420-05:00</app:edited><title>Demystifying BIPgirl</title><content type="html">OK Tim... so you tagged me!  Now I have to reveal 8 things that my readers didn't know about me.&lt;br /&gt;&lt;br /&gt;For those of you who didn't see Tim's 1/8/08 post (&lt;a href="http://blogs.oracle.com/xmlpublisher/2008/01/08#a737"&gt;Oracle BI Publisher Blog&lt;/a&gt;) , he &lt;a href="http://oracleappslab.com/2008/01/07/orablog-tag/"&gt;blog tagged&lt;/a&gt; me!  So I'm 'It' and I have to reveal my deepest darkest secrets.  Haha.. I don't think so!&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I am a Boston Red Sox fan and live in upstate NY.&lt;/li&gt;&lt;li&gt;Along with my CIS degree, I also have a degree in Early Childhood Education.  I decided right after I received my Early Childhood degree that I would probably prefer hanging out in a cube all day to finger painting.  I still feel that way, so I guess I made the right choice!&lt;/li&gt;&lt;li&gt;I am a cleaning fanatic.  Monica on Friends... yes, that's me.  Yet another reason why finger painting and I don't mix (see #2)&lt;/li&gt;&lt;li&gt;Every night when I get home from work I get on my treadmill and run just like a hamster on a wheel.  I think exercise is great for clearing your mind!&lt;/li&gt;&lt;li&gt;I hate talking on the phone, which is weird because I remember falling asleep talking on the phone when I was a teenager.  Email me, text me I'll get back to ya.&lt;/li&gt;&lt;li&gt;I am engaged to a .net developer!  Check out his sites, they're great! &lt;a href="http://www.sivatar.com/"&gt;http://www.sivatar.com&lt;/a&gt;   and  &lt;a href="http://www.earnmoneytoblog.com/"&gt;http://www.earnmoneytoblog.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I play Halo 3 online (another good stress reliever), but I refuse to wear the headset and talk to people.&lt;/li&gt;&lt;li&gt;What is the one thing that is guaranteed to put a smile on my face?  Buddy the wonder cat&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Enough about me, let's hear from some other bloggers.  Here are a couple of sites that I've been to recently (sorry, I don't have 8)&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://newbiedba.blogspot.com/"&gt;Oracle Newbies Blog&lt;/a&gt;   - Lisa Dobson&lt;br /&gt;2. &lt;a href="http://cali97.blogspot.com/"&gt;Oracle &amp;amp; Google Technical Blog and More&lt;/a&gt;  - Greg Partenach&lt;br /&gt;3. &lt;a href="http://www.matttopper.com/"&gt;MattTopper.com&lt;/a&gt;  - Matt Topper&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-124191199904017906?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/124191199904017906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=124191199904017906&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/124191199904017906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/124191199904017906?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/4vYfIN4DJes/demystifying-bipgirl.html" title="Demystifying BIPgirl" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.bipgirl.com/2008/01/demystifying-bipgirl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FSX0zeyp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-5064213043310806711</id><published>2007-12-30T12:34:00.000-05:00</published><updated>2008-12-09T06:40:18.383-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:18.383-05:00</app:edited><title>The BIP Puzzle</title><content type="html">I've been getting a lot of questions about how many different BIP components there are to create 1 report.  This question comes at a good time, seeing that we are ready to discuss working in the Apps.  The answer is that you will have 5 BIP components to make up 1 report.&lt;br /&gt;You will have :&lt;br /&gt;1. The Data Source or Data Template (.xml file or .rdf)&lt;br /&gt;2. The Concurrent Program&lt;br /&gt;3. The Data Definition&lt;br /&gt;4. The Template Definition&lt;br /&gt;5. The Template (.rtf or .pdf file)&lt;br /&gt;&lt;br /&gt;The Data Source&lt;br /&gt;The data source is an .rdf report or .xml report.  For right now we are still going to use the .rdf report to pull all of the data from the database that we need.  So, in the concurrent program you will keep it set up to run the executable for your .rdf.  You can also write your report in XML language and retrieve data from the database just as the .rdf does, but we will take a look at that later on.&lt;br /&gt;&lt;br /&gt;The Concurrent Program&lt;br /&gt;Because we are going to use the .rdf file as our data source, the only change that has to be made to the concurrent program is to change the output format type to XML.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gPYyMxqI/AAAAAAAAAEI/u-YiEhrcaGk/s1600-h/conc_program.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gPYyMxqI/AAAAAAAAAEI/u-YiEhrcaGk/s320/conc_program.jpg" alt="" id="BLOGGER_PHOTO_ID_5156164440853104290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By doing this, the output from your .rdf report will be in XML format.  You will no longer see your .rdf layout, but you will see XML tags.  This can be a little confusing because it is not the actual XML code that got the data from the database, but the output from your .rdf report.  This output is what you should save as .xml and load into the template builder tool in MS Word for use in your template design.&lt;br /&gt;&lt;br /&gt;The Data Definition&lt;br /&gt;The data definition is in the Apps under the XML Publisher Administrator responsibility.  The data definition is linked to the concurrent program by the concurrent program shortname.  You create a new Data Definition by clicking on the 'Create Data Definition' button.  You can then enter any name you would like for your report (I like to keep it the same as the concurrent program name).  In the Code box, you enter the concurrent program short name.  In the Application box, you enter whatever module your report is in (ex. payables).  If you wrote your report in XML rather than using the .rdf, this is also where you would attach your .xml file, by clicking on the Data Template - Add File button on the bottom half of the screen.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gaYyMxrI/AAAAAAAAAEQ/zbXizSAEESE/s1600-h/add_data_template.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gaYyMxrI/AAAAAAAAAEQ/zbXizSAEESE/s320/add_data_template.jpg" alt="" id="BLOGGER_PHOTO_ID_5156164629831665330" border="0" /&gt;&lt;/a&gt;  &lt;div id="jytr" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;But again, we'll step through that at a later date.  Also, you must create the data definition before you create the template definition.&lt;br /&gt;&lt;br /&gt;The Template Definition&lt;br /&gt;The template definition is used to link the data layer (data definition/concurrent program) with the presentation layer (.rtf/.pdf template).  You can access the Template Definition screen under the XML Publisher Administrator responsibility, just like you accessed the Data Definition screen.  There is also a tab on the top of the data definition screen that you can use if you're already in there.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45gmIyMxsI/AAAAAAAAAEY/ukMeK4g8CLY/s1600-h/tabs.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45gmIyMxsI/AAAAAAAAAEY/ukMeK4g8CLY/s320/tabs.jpg" alt="" id="BLOGGER_PHOTO_ID_5156164831695128258" border="0" /&gt;&lt;/a&gt;&lt;div id="mdjj" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can create a new template definition by clicking the create template button.  On the template screen you can enter any name you want (again, I would use the concurrent program name or at least the data definition name to keep everything organized).  The code is the shortname from the concurrent program and you should find the data definition for report in the LOV.  The application would be the same as the application you entered in the data definition.  The type would either be .rtf for the template created in MS Word of .pdf if you created one in Adobe.&lt;br /&gt;&lt;br /&gt;The Template&lt;br /&gt;The last piece of the puzzle is the template, which we have already discussed.  The template is attached through the template definition screen by navigating to the template file upload section ...&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gyYyMxtI/AAAAAAAAAEg/3sK6j7f6fcs/s1600-h/template_file.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gyYyMxtI/AAAAAAAAAEg/3sK6j7f6fcs/s320/template_file.jpg" alt="" id="BLOGGER_PHOTO_ID_5156165042148525778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="c3mw" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You simply browse to your template file and select a language.&lt;br /&gt;&lt;br /&gt;And there you have it... the 5 pieces needed to generate your report.  Once you have set all of this up, when you run the concurrent program and view the output you should see your template and data merged together.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-5064213043310806711?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/5064213043310806711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=5064213043310806711&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/5064213043310806711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/5064213043310806711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/TyF_GiUZmmM/bip-component-overview-ive-been-getting.html" title="The BIP Puzzle" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45gPYyMxqI/AAAAAAAAAEI/u-YiEhrcaGk/s72-c/conc_program.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/bip-component-overview-ive-been-getting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FSHczfSp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-4667081879071543093</id><published>2007-12-19T11:30:00.000-05:00</published><updated>2008-12-09T06:40:19.985-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:19.985-05:00</app:edited><title>A Different Header on Page 2?</title><content type="html">So you got your subtemplate working in the header of your reports, but what if you want a different header on page 2?  You're in luck because that can be accomplished fairly easily.&lt;br /&gt;For this example I modified the .xml file to include a notes field and a report name field.  You can download the file from &lt;a title="http://www.mediafire.com/?9xzyfy3bivd" href="http://www.mediafire.com/?9xzyfy3bivd" id="o7n_"&gt;http://www.mediafire.com/?9xzyfy3bivd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45hz4yMxuI/AAAAAAAAAEo/xYaY2eirqyY/s1600-h/example3_xml.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45hz4yMxuI/AAAAAAAAAEo/xYaY2eirqyY/s320/example3_xml.jpg" alt="" id="BLOGGER_PHOTO_ID_5156166167429957346" border="0" /&gt;&lt;/a&gt; &lt;div id="dges" style="padding: 1em 0pt; text-align: left;"&gt;&lt;div id="jz0l" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;I also created a new header/footer subtemplate and an example3.rtf template.  They are also available for download at : &lt;a title="http://www.mediafire.com/?anzzangwkg1" href="http://www.mediafire.com/?8vb1vmteoay" id="xy0c"&gt;http://www.mediafire.com/?8vb1vmteoay&lt;/a&gt; and &lt;a title="http://www.mediafire.com/?1dxwodzd7mz" href="http://www.mediafire.com/?1dxwodzd7mz" id="lz5p"&gt;http://www.mediafire.com/?1dxwodzd7mz&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Let's first look at the new header/footer subtemplate:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45iAYyMxvI/AAAAAAAAAEw/gBWrcALqlVk/s1600-h/ex3_subtemplate.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45iAYyMxvI/AAAAAAAAAEw/gBWrcALqlVk/s320/ex3_subtemplate.jpg" alt="" id="BLOGGER_PHOTO_ID_5156166382178322162" border="0" /&gt;&lt;/a&gt;&lt;div id="sodu" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the subtemplate header I am now passing 2 parameters (P_DATE and REPORT_NAME).  I added REPORT_NAME so that for our examples at least, the name of the report will be dynamic.   Then, in the middle column I called the value passed to the subtemple for REPORT_NAME by using &amp;lt;?REPORT_NAME?&amp;gt;.  Now onto the new example3.rtf template&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45iRoyMxwI/AAAAAAAAAE4/3kI_ta_fwMo/s1600-h/example3_rtf75.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45iRoyMxwI/AAAAAAAAAE4/3kI_ta_fwMo/s320/example3_rtf75.jpg" alt="" id="BLOGGER_PHOTO_ID_5156166678531065602" border="0" /&gt;&lt;/a&gt;&lt;div id="bd-h" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The template has a few changes that we can see (as indicated by the arrows).  First, the value of REPORT_NAME from the .xml file is being passed to the subtemplate in our header by using ;$REPORT_NAME;$REPORT_NAME.  The second change is in the main table indicated by arrow 2.  The only change here, was that I added a second row to display our new vendor notes tag from the example3.xml file.  The last change shown in the image above is the addition of the template 'BodyHeader' that will be used on pages other than the first page.&lt;br /&gt;&lt;br /&gt;Back to the main topic of this post....  MS Word functionality gives us the ability to have a different first page.  If you enter the header section of the template (View -&amp;gt; Header and Footer) you will see this icon&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45isIyMxxI/AAAAAAAAAFA/UbwLhzaz_Ss/s1600-h/page_setup.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45isIyMxxI/AAAAAAAAAFA/UbwLhzaz_Ss/s320/page_setup.jpg" alt="" id="BLOGGER_PHOTO_ID_5156167133797598994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="eo5r" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;This has a properties dialog box where you can set 'different first page'.&lt;div id="b3np" style="padding: 1em 0pt; text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45i2IyMxyI/AAAAAAAAAFI/6xXPtQVHKQk/s1600-h/diff_first_pg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45i2IyMxyI/AAAAAAAAAFI/6xXPtQVHKQk/s320/diff_first_pg.jpg" alt="" id="BLOGGER_PHOTO_ID_5156167305596290850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When you click 'OK' you will be back out to your header section of the template.  Enter what you would like for the header and footer (in our case, it is the call to ex3_subtemplate.rtf).  Once you set this up on the first page, go to the end of your template layout and insert a page break.  On the new blank page 2, go back to the header and footer section and enter what you would like on page 2.  If you downloaded the example3.rtf file, you may not see page 2 because if I left blank lines in the template the output was showing an extra page.  But, if you hit enter until you get to page 2, you will see different code in the header section.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45jIIyMx0I/AAAAAAAAAFY/jyJ8N2rBti0/s1600-h/header_pg2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45jIIyMx0I/AAAAAAAAAFY/jyJ8N2rBti0/s320/header_pg2.jpg" alt="" id="BLOGGER_PHOTO_ID_5156167614833936194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="p0la" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the call to the template that we have in our example3.rtf.  It is not a subtemplate that is used universally, but a subtemplate used within example 3.  Because you are not allowed to enter tags in the header and footer sections of the .rtf, a call to a subtemplate will accomplish this.  And here is our final product....&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45jZIyMx1I/AAAAAAAAAFg/lMy7crp7pW8/s1600-h/page1_output.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45jZIyMx1I/AAAAAAAAAFg/lMy7crp7pW8/s320/page1_output.jpg" alt="" id="BLOGGER_PHOTO_ID_5156167906891712338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="zibz" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="a7u2" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45jloyMx2I/AAAAAAAAAFo/0XhTgLRkxOs/s1600-h/page2_output.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45jloyMx2I/AAAAAAAAAFo/0XhTgLRkxOs/s320/page2_output.jpg" alt="" id="BLOGGER_PHOTO_ID_5156168121640077154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy BIPping!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-4667081879071543093?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/4667081879071543093/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=4667081879071543093&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/4667081879071543093?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/4667081879071543093?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/cKB0wYd-1dg/different-header-on-page-2-so-you-got.html" title="A Different Header on Page 2?" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45hz4yMxuI/AAAAAAAAAEo/xYaY2eirqyY/s72-c/example3_xml.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/different-header-on-page-2-so-you-got.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GQXY5fyp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-9040345174740350291</id><published>2007-12-12T20:53:00.000-05:00</published><updated>2008-12-09T06:40:20.827-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:20.827-05:00</app:edited><title>What Are Subtemplates?</title><content type="html">Using Subtemplates&lt;br /&gt;&lt;br /&gt;I found a fantastic way to make our lives as BIP developers a lot easier!  It's called the subtemplate and it can be used over and over again.  For example, if your company has a logo that they like to display on every report header, you can create a subtemplate that holds the image.  Then, when you create the report template you call the subtemplate and your header logo is loaded into your report template.  The same goes for report footers.  If your company likes to display their name and address in the footer, you create another subtemplate with that information and call is in the footer of your report template.  Everyone likes to find shortcuts, right?  Well this shortcut could save you time and also make your reports more consistent because when you re-create the header for every report there is more room for error.&lt;br /&gt;&lt;br /&gt;Another great thing about using subtemplates is that if you have to make a change to the company logo or address, you only have to make the change in one place and it shows on every report!  Now, if you've already created templates without using subtemplates, I'm not trying to be a trouble maker and say to go back in and change them all.... but you should really convert over to this method for your next report.  It will pay off in the long run!&lt;br /&gt;&lt;br /&gt;So how do you use these things?  You can create subtemplates by using XSL or XSLT (a transformation languages used with XML data for formatting) or you can create an .rtf document like we did in our last 2 examples.  I found using an .rtf file is pretty straight forward in MS Word and it's also great for inserting a logo.  You can still use XSL to format the data like we did in example1a for setting a default value, so don't worry about that.&lt;br /&gt;&lt;br /&gt;Here is a short subtemplate example for ya....&lt;br /&gt;&lt;br /&gt;First off, I modified the .xml file from example1a to add a date tag which will be used in our report header.  You can download the new .xml file from &lt;a title="http://www.mediafire.com/?0ce5ajbljmd" href="http://www.mediafire.com/?0ce5ajbljmd" id="ldt:"&gt;http://www.mediafire.com/?0ce5ajbljmd&lt;/a&gt;&lt;br /&gt;Next is our new subtemplate file that includes our company header and date that is an element name from our report output.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45lHIyMx3I/AAAAAAAAAFw/A3ZBoOyxgX4/s1600-h/headfoot_layout.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45lHIyMx3I/AAAAAAAAAFw/A3ZBoOyxgX4/s320/headfoot_layout.jpg" alt="" id="BLOGGER_PHOTO_ID_5156169796677322610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="mqwn" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;You can also download this from &lt;a title="http://www.mediafire.com/?0ezjdthomyn" href="http://www.mediafire.com/?0ezjdthomyn" id="z8d8"&gt;http://www.mediafire.com/?0ezjdthomyn&lt;/a&gt; .  In this .rtf file we have our header and footer data as indicated by &amp;lt;?template:Header?&amp;gt; and &amp;lt;?template:Footer?&amp;gt;.  Within those tags I created tables that are the same width as the report where I would like to add the header/footer.  There is also a parameter tag &lt;b&gt;&amp;lt;?param@begin:P_DATE?&amp;gt;&lt;/b&gt; .  This tag creates a parameter that is used in the Header to display the date from the report data.&lt;br /&gt;&lt;br /&gt;Lastly, we have our example2.rtf file where we call the subtemplate  &lt;a title="http://www.mediafire.com/?533dqzmjtjt" href="http://www.mediafire.com/?533dqzmjtjt" id="fi9f"&gt;http://www.mediafire.com/?533dqzmjtjt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45lZIyMx4I/AAAAAAAAAF4/hp98LMxMQCw/s1600-h/example2_header.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45lZIyMx4I/AAAAAAAAAF4/hp98LMxMQCw/s320/example2_header.jpg" alt="" id="BLOGGER_PHOTO_ID_5156170105914967938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In MS Word, this is what is in the header.  You are calling the 'header template' from the subtemplate and passing the value P_DATE from the .xml file to the subtemplate.&lt;br /&gt;&lt;br /&gt;&lt;div id="nw.t" style="padding: 1em 0pt; text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45ll4yMx5I/AAAAAAAAAGA/J6CDTz5ktAo/s1600-h/example2_body.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45ll4yMx5I/AAAAAAAAAGA/J6CDTz5ktAo/s320/example2_body.jpg" alt="" id="BLOGGER_PHOTO_ID_5156170324958300050" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="vq.." style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;To link the report template with the subtemplate you have to import the subtemplate file in the report template body with the below syntax :&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-size:100%;"&gt;&amp;lt;?import:file:/// [path] subtemplate_file.rtf?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45l0YyMx6I/AAAAAAAAAGI/oWQ6PswAn60/s1600-h/example2_footer.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45l0YyMx6I/AAAAAAAAAGI/oWQ6PswAn60/s320/example2_footer.jpg" alt="" id="BLOGGER_PHOTO_ID_5156170574066403234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;div id="p7wh" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;You call the footer subtemplate the same way that you called the header subtemplate.  As long as your header and footer are in the same .rtf file, you would only have to import the file one time in your report template body.  Seeing that we aren't displaying and report data in the footer there are no parameters like in the header, but you could certainly add that if you so desire&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So there you have it, our first look at using subtemplates.. enjoy!&lt;br /&gt;Feel free to leave me comments and let me know if you found this helpful  - BIPgirl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-9040345174740350291?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/9040345174740350291/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=9040345174740350291&amp;isPopup=true" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/9040345174740350291?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/9040345174740350291?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/qFT6PGGN--w/using-subtemplates-i-found-fantastic.html" title="What Are Subtemplates?" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45lHIyMx3I/AAAAAAAAAFw/A3ZBoOyxgX4/s72-c/headfoot_layout.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/using-subtemplates-i-found-fantastic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GQHc-cCp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-3304672592099860275</id><published>2007-12-10T21:36:00.000-05:00</published><updated>2008-12-09T06:40:21.958-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:21.958-05:00</app:edited><title>Enhancing your Layout</title><content type="html">Hopefully everyone had a chance to look at example1.  Well now, I would like to change it.  I had a comment on my blog about handling null values, so I thought I would address that in today's post.  I have created example1a.xml to demonstrate how to handle a null phone number value and put a default value in it's place.  You can then take the logic in the template  and apply it wherever you need to.&lt;br /&gt;&lt;br /&gt;Here is example1a.xml  (you can download it from &lt;a href="http://www.mediafire.com/?5qnnju1zg1i"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.mediafire.com/?5qnnju1zg1i&lt;/span&gt;&lt;/a&gt;  )&lt;div id="u0y1" style="padding: 1em 0pt; text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45n64yMx7I/AAAAAAAAAGQ/wkZwZ6t8Q8k/s1600-h/example1a_xml.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45n64yMx7I/AAAAAAAAAGQ/wkZwZ6t8Q8k/s320/example1a_xml.jpg" alt="" id="BLOGGER_PHOTO_ID_5156172884758808498" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But first I have to step back a second and explain a little more about our template file.  For example1a, I took the .rtf file from example1 and enhanced it.  You can download this template from &lt;a href="http://www.mediafire.com/?9ocfbtmtzlp"&gt;http://www.mediafire.com/?9ocfbtmtzlp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45oV4yMx9I/AAAAAAAAAGg/iuyCRgtPXbY/s1600-h/1a_template_65.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45oV4yMx9I/AAAAAAAAAGg/iuyCRgtPXbY/s320/1a_template_65.jpg" alt="" id="BLOGGER_PHOTO_ID_5156173348615276498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From our previous example I have added a title, vendor phone column and combined the address, city, state and zip fields into one column.  I have also removed the table borders using normal MS Word functionality to make the data look more 'report-like' rather than "table-like".&lt;br /&gt;&lt;div id="e-sw" style="padding: 1em 0pt; text-align: left;"&gt; What I didn't discuss in our first example is that each field that was entered through our template-builder table/form menu has a "text form &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45osYyMx_I/AAAAAAAAAGw/YITiatvetSw/s1600-h/vendor_phone_normal.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45osYyMx_I/AAAAAAAAAGw/YITiatvetSw/s320/vendor_phone_normal.jpg" alt="" id="BLOGGER_PHOTO_ID_5156173735162333170" border="0" /&gt;&lt;/a&gt;field options" box.  If you double-click on VENDOR_PHONE you will get a box that looks like this :&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;We have a lot of formatting and conditional options using this little option box!&lt;br /&gt;If you click on the '&lt;b&gt;Add Help Text&lt;/b&gt;' button in the lower left hand corner you will&lt;br /&gt;normally just see the XML tag from your data.xml file.  This is how the XML data&lt;br /&gt;is merged with the template.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45oiYyMx-I/AAAAAAAAAGo/OYuBoP5K7yk/s1600-h/text_form_field_box.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45oiYyMx-I/AAAAAAAAAGo/OYuBoP5K7yk/s320/text_form_field_box.jpg" alt="" id="BLOGGER_PHOTO_ID_5156173563363641314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;            &lt;div id="t5d7" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So... I bet you're wondering how you enter a default value if our phone number just happens to be null.  Am I right?  In the same Text Form Field Options box, we can enter&lt;span style="color: rgb(102, 204, 204);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;&amp;lt;?if:VENDOR_PHONE=''?&amp;gt;Private Number&amp;lt;?end if?&amp;gt;&lt;br /&gt;&amp;lt;?if:VENDOR_PHONE!=''?&amp;gt;&amp;lt;?VENDOR_PHONE?&amp;gt;&amp;lt;?end if?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;span&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45o8oyMyAI/AAAAAAAAAG4/20p8qOziDH8/s1600-h/vendor_phone_default.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45o8oyMyAI/AAAAAAAAAG4/20p8qOziDH8/s320/vendor_phone_default.jpg" alt="" id="BLOGGER_PHOTO_ID_5156174014335207426" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;   &lt;div id="wo2p" style="padding: 1em 0pt; text-align: left;"&gt;        &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 102, 102);font-size:100%;" &gt;&lt;b&gt;Just &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 102, 102);font-size:100%;" &gt;&lt;b&gt;a no&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 102, 102);font-size:100%;" &gt;&lt;b&gt;te&lt;/b&gt;&lt;/span&gt;, you'll want to leave out any unnecessary white space when         entering into this box because you are only allowed 138 characters.&lt;br /&gt;&lt;/span&gt;   &lt;/div&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When we run our example from the Previewer as PDF we will get the output below with our default value populated for BIPboy&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45pQoyMyCI/AAAAAAAAAHI/KV0_DXE1jWU/s1600-h/Example1a_output_65.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_P7koYRXIT3Q/R45pQoyMyCI/AAAAAAAAAHI/KV0_DXE1jWU/s400/Example1a_output_65.jpg" alt="" id="BLOGGER_PHOTO_ID_5156174357932591138" 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/8232225088295823487-3304672592099860275?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/3304672592099860275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=3304672592099860275&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/3304672592099860275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/3304672592099860275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/zHmX-DzongM/enhancing-your-layout-hopefully.html" title="Enhancing your Layout" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45n64yMx7I/AAAAAAAAAGQ/wkZwZ6t8Q8k/s72-c/example1a_xml.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/enhancing-your-layout-hopefully.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GQ3c_eyp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-3424710547566389725</id><published>2007-12-06T13:32:00.000-05:00</published><updated>2008-12-09T06:40:22.943-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:22.943-05:00</app:edited><title>Our First Example</title><content type="html">Here is a very simple example of XML code that you can copy into notepad and save as example1.xml&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;!-- Generated by Oracle Reports version 6.0.8.25.0 --&amp;gt;&lt;br /&gt;&amp;lt;EXAMPLE1&amp;gt;&lt;br /&gt;&amp;lt;LIST_G_MAIN_SELECT&amp;gt;&lt;br /&gt;&amp;lt;G_MAIN_SELECT&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;VENDOR_NAME&amp;gt;BIPgirl&amp;lt;/VENDOR_NAM&lt;/span&gt;&lt;span style="font-size:78%;"&gt;E&amp;gt;&lt;br /&gt;&amp;lt;VENDOR_ID&amp;gt;00001&amp;lt;/VENDOR_ID&amp;gt;&lt;br /&gt;&amp;lt;VENDOR_LINE&amp;gt;1 BIPgirl Lane &amp;lt;/VENDOR_LINE&amp;gt;&lt;br /&gt;&amp;lt;VENDOR_CITY&amp;gt;Albany&amp;lt;/VENDOR_CITY&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;VENDOR_STATE&amp;gt;NY&amp;lt;/VENDOR_STATE&amp;gt;&lt;br /&gt;&amp;lt;/G_MAIN_SELECT&amp;gt;&lt;br /&gt;&amp;lt;/LIST_G_MAIN_SELECT&amp;gt;&lt;br /&gt;&amp;lt;/EXAMPLE1&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once saved, in MS Word you go to your newly added toolbar and load the file.  Select Load XML Data and then browse to example1.xml&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 238px; height: 162px;" src="http://docs.google.com/File?id=dfxq6jqz_10cmbkzqhc" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="iu8q" style="padding: 1em 0pt; text-align: left;"&gt;You will get a message acknowledging that the data was loaded successfully.  Then.. let the development begin!&lt;br /&gt;&lt;br /&gt;For my first practice template, I went to the Insert Menu on the Template Builder toolbar and selected the Table/Form option.  This is a quick and easy way to get the fields from your data file into your template with the correct syntax.  If you select the top node from the data source pane and drag it to the template pane, you can drop all the nodes or selected ones.  For this example I will just drop all the nodes and not touch any settings.&lt;br /&gt;&lt;br /&gt;Your template will look like this :&lt;br /&gt;&lt;div id="zj46" style="padding: 1em 0pt; text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45qVIyMyEI/AAAAAAAAAHY/2QLiK9I5iPk/s1600-h/example1_template.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45qVIyMyEI/AAAAAAAAAHY/2QLiK9I5iPk/s400/example1_template.jpg" alt="" id="BLOGGER_PHOTO_ID_5156175534753630274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Well that's fine and dandy, what will my user see?  Another great feature of the &lt;b&gt;&lt;span style="font-family:Arial;"&gt;XML Publisher Desktop Plug-in&lt;/span&gt;&lt;/b&gt; is that you can preview your output without loading it into the Apps.  You must first save your template as Example1.rtf and then you can navigate back to our handy toolbar.  You will see a Preview Menu on it.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span&gt;&lt;span style="font-family:Arial;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45qgYyMyFI/AAAAAAAAAHg/-d88TSZsxnM/s1600-h/preview_toolbar.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_P7koYRXIT3Q/R45qgYyMyFI/AAAAAAAAAHg/-d88TSZsxnM/s400/preview_toolbar.jpg" alt="" id="BLOGGER_PHOTO_ID_5156175728027158610" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div id="u:wb" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;div id="kw7t" style="padding: 1em 0pt; text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;This preview menu give&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;s&lt;/span&gt;&lt;span style="font-family:Arial;"&gt; you 4 options for your output (P&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;DF, HTML, EXCEL&lt;/span&gt;&lt;span style="font-family:Arial;"&gt; or RTF).  Because my output in the Apps will be PDF, that is what I will choose to preview in.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Here is our first report!&lt;br /&gt;&lt;div id="fqzh" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span&gt;&lt;span style="font-family:Arial;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45q04yMyGI/AAAAAAAAAHo/dk99sAR7xy0/s1600-h/example1_pdfoutput.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_P7koYRXIT3Q/R45q04yMyGI/AAAAAAAAAHo/dk99sAR7xy0/s400/example1_pdfoutput.jpg" alt="" id="BLOGGER_PHOTO_ID_5156176080214476898" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Woo hoo!  It may not look pretty, but we merged the data layer with the presentation layer on our desktop and after all, that is our goal here.  In my next post I will show you how we can add our own personal touches to the output.  Go ahead and give it a try!&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-3424710547566389725?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/3424710547566389725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=3424710547566389725&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/3424710547566389725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/3424710547566389725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/71mL1IJ8FOc/example-1-here-is-very-simple-example.html" title="Our First Example" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_P7koYRXIT3Q/R45qVIyMyEI/AAAAAAAAAHY/2QLiK9I5iPk/s72-c/example1_template.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/example-1-here-is-very-simple-example.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GQ3c-eyp7ImA9WxRbGE8.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-5984157277287258433</id><published>2007-12-05T16:15:00.000-05:00</published><updated>2008-12-09T06:40:22.953-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:40:22.953-05:00</app:edited><title>Getting Started with BIP</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;I’m sure the first thing you are asking yourself is “&lt;i style=""&gt;What is BI Publisher?”&lt;/i&gt;.&lt;span style=""&gt;  &lt;/span&gt;Well…. BI Publisher is a template based publishing tool that is bundled up in the Oracle EBS (there is also a stand-alone version if you do not have the EBS).&lt;span style=""&gt;  &lt;/span&gt;BI Publisher uses desktop word processing tools for your presentation file and merges it with the EBS data.&lt;span style=""&gt;  &lt;/span&gt;The basic idea behind this publishing tool, is to separate the presentation and data layers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-family:Arial;"&gt;EBS holds the collection of data -&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;You create the pr&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;esentation template&lt;span style=""&gt;  -&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;EBS merges the two together at runtime&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: left;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;The first thing that you need to do to get started with BIP is to install the desktop plug-in for&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt; MS Word.&lt;span style=""&gt;  &lt;/span&gt;You can also develop templates in Adobe Acrobat Professional, but I have found that MS &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Word is the way to go.&lt;span style=""&gt;  &lt;/span&gt;The MS Word plug-in is called Template Builder and is availab&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;le on Metalink through &lt;a name="top"&gt;Patch &lt;/a&gt;&lt;a href="http://updates.oracle.com/download/5887917.html" target="new"&gt;5887917&lt;/a&gt; “Oracle XML Publisher Desktop 5.6.3”&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: left;"&gt;  &lt;/p&gt;  &lt;div style="text-align: center;"&gt;&lt;b style=""&gt;&lt;span style="font-family:Arial;"&gt;Installing the XML Publisher Desktop Plug-in for Word&lt;/span&gt;&lt;/b&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_s1026" type="#_x0000_t75" style="'position:absolute;" wrapcoords="-202 0 -202 21411 21600 21411 21600 0 -202 0"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\cromerca\LOCALS~1\Temp\msohtml1\01\clip_image001.gif" title=""&gt;  &lt;w:wrap type="through"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;!--[endif]--&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;After you follow the on screen installation prompts, you will see a new menu in MS Word called “Oracle BI Publisher”.  &lt;/span&gt;&lt;span style="font-family:Arial;"&gt;You will also want to add the Template Builder Toolbar by navigating to &lt;/span&gt;&lt;br /&gt;View &gt; Toolbars&gt;Template Builder.  You will then see it appear with your other toolbars&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_P7koYRXIT3Q/R1cV4D5awuI/AAAAAAAAACA/NMoesgmBRRE/s1600-h/bip_toolbar.JPG"&gt;  &lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:100%;"&gt;From this toolbar you will load your sample XML file to add fields to the template and preview your output.&lt;/span&gt;&lt;o:p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:100%;"&gt;I’ll let you poke around a little. &lt;/span&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/8232225088295823487-5984157277287258433?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/5984157277287258433/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=5984157277287258433&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/5984157277287258433?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/5984157277287258433?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/kc60-BE5A8w/getting-started-with-bip.html" title="Getting Started with BIP" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/12/getting-started-with-bip.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYBRH49fip7ImA9WB9VEkU.&quot;"><id>tag:blogger.com,1999:blog-8232225088295823487.post-6848079264798500391</id><published>2007-11-27T21:30:00.000-05:00</published><updated>2007-11-28T16:42:35.066-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-28T16:42:35.066-05:00</app:edited><title>Welcome</title><content type="html">Hey all you BIPpers... Welcome to my blog!&lt;br /&gt;&lt;br /&gt;I am embarking on a new adventure, creating Oracle Reports in BI Publisher.  Everyone out there in 'Oracle World' is doing it, so why not me?  And why not let everyone know any tips that I stumble upon along the way?  Well, that's exactly what my blog is about.  A step-by-step guide to how I'm creating my reports and any important tips that helped me out.&lt;br /&gt;&lt;br /&gt;I have about 4 years experience in developing custom EBS reports in Report Designer 2.5 and Report Builder 6i.  I know... 4 years of experience isn't a lot, but with this new reporting tool everyone is a newbie so I don't feel as bad ;)&lt;br /&gt;&lt;br /&gt;Thanks for stopping by and feel free to email me about any of my posts!&lt;br /&gt;&lt;br /&gt;BIPgirl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8232225088295823487-6848079264798500391?l=www.bipgirl.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.bipgirl.com/feeds/6848079264798500391/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8232225088295823487&amp;postID=6848079264798500391&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/6848079264798500391?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8232225088295823487/posts/default/6848079264798500391?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bipgirl/~3/ZQG4jy_QzUw/test-post.html" title="Welcome" /><author><name>BIPgirl</name><uri>http://www.blogger.com/profile/02507504066976313686</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="00175775060540544625" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.bipgirl.com/2007/11/test-post.html</feedburner:origLink></entry></feed>
