Bursting Multiple Templates

I'm using XML Publisher on EBS 11.5.10.2
I have one data template with several templates defined to it.
How can I write in the bursting file dynamic location (Template details)?
Bursting File:
<?xml version="1.0" encoding="UTF-8" ?>
<xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
<xapi:request select="/XX01PO_PO/LIST_G_HEADERS/G_HEADERS">
<xapi:delivery>
<xapi:email id="pomail" server="${G_SMTP_SERVER}" port="${G_SMTP_PORT}" from="${G_FROM_EMAIL}" reply-to="${G_EMAIL_NO_REPLY}">
<xapi:message id="pomail" to="${G_REQUESTOR_EMAIL}" subject="Frutarom Purchase Order" attachment="true" content-type="html/text">
          Attached PO report for PO number ${H_FULL_PO_RELEASE}
          </xapi:message>
</xapi:email>
</xapi:delivery>
<xapi:document output="${H_BURSTING_FILE_NAME}" output-type="pdf" delivery="pomail">
<xapi:template type="rtf" location="${/XX01PO_PO/LIST_G_GENERAL/G_GENERAL/G_BURSTING_LOCATION}" filter=".//P_EMAIL='Y'" />
</xapi:document>
</xapi:request>
</xapi:requestset>
When location is variable, I'm getting the following message:
[UNEXPECTED] [111530:RT46162896] java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:585)
     at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:566)
     at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:231)
     at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:182)
     at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
     at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
     at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
     at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
     at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
     at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5926)
     at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3458)
     at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3547)
     at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:290)
     at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:157)
Caused by: org.xml.sax.SAXParseException: <Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
     at oracle.xdo.parser.v2.XMLError.flushErrorHandler(XMLError.java:441)
     at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:303)
     at oracle.xdo.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:343)
     at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:285)
     at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
     ... 17 more
When I'm changing the line
<xapi:template type="rtf" location="${/XX01PO_PO/LIST_G_GENERAL/G_GENERAL/G_BURSTING_LOCATION}" filter=".//P_EMAIL='Y'" />
to
<xapi:template type="rtf" location="xdo://XX01.XXILPO_PO.en.US/?getSource=true" filter=".//P_EMAIL='Y'" />
(Location is hard coded, everything work fine
XML File:
<XX01PO_PO>
<P_REPORT_TYPE/>
<P_FROM_ORDER>223564</P_FROM_ORDER>
<P_TO_ORDER>223564</P_TO_ORDER>
<P_SHIPPING_DETAILS_TEXT/>
<P_FREE_TEXT/>
<P_SHOW_ITM_ORG_ATTCH>Y</P_SHOW_ITM_ORG_ATTCH>
<P_DISPLAY_LOGO>Y</P_DISPLAY_LOGO>
<P_ORG_ID>380</P_ORG_ID>
<P_EMAIL>Y<P_EMAIL/>
<P_CONC_PROG_APPL>XXIL</P_CONC_PROG_APPL>
<P_CONC_PROG>XXILPO_PO</P_CONC_PROG>
<LIST_G_GENERAL>
<G_GENERAL>
<G_REPORT_DATE>09-Sep-2012 07:09</G_REPORT_DATE>
<G_PRINTED_DATE>09-SEP-2012</G_PRINTED_DATE>
<G_REQUEST_ID>47141508</G_REQUEST_ID>
<G_INSTANCE_NAME>DEV</G_INSTANCE_NAME>
<G_USER_NAME>GK</G_USER_NAME>
<G_REQUESTOR_NAME>K, Gi</G_REQUESTOR_NAME>
<G_RESTRICT_PRINT>E</G_RESTRICT_PRINT>
<G_BURSTING_LOCATION>xdo://XX01.XXILPO_PO.en.US/?getSource=true</G_BURSTING_LOCATION>
<G_SMTP_SERVER>sgex01.int</G_SMTP_SERVER>
<G_SMTP_PORT>25</G_SMTP_PORT>
<G_FROM_EMAIL>[email protected]</G_FROM_EMAIL>
<G_EMAIL_NO_REPLY>[email protected]</G_EMAIL_NO_REPLY>
<G_REQUESTOR_EMAIL>[email protected]</G_REQUESTOR_EMAIL>
<G_SHIPPING_DETAILS_TEXT/>
</G_GENERAL>
</LIST_G_GENERAL>
<LIST_G_HEADERS>
<G_HEADERS>
<H_PO_HEADER_ID>293355</H_PO_HEADER_ID>
<H_PO_RELEASE_ID/>
<H_PO_NUMBER>223564</H_PO_NUMBER>
<H_RELEASE_NUM/>
<H_FULL_PO_RELEASE>223564</H_FULL_PO_RELEASE>
<H_ORG_ID>380</H_ORG_ID>
<H_REVISION_NUM>0</H_REVISION_NUM>
<H_PO_DOCUMENT_TYPE>STANDARD</H_PO_DOCUMENT_TYPE>
<H_START_DATE/>
<H_END_DATE/>
<H_COMMENTS/>
<H_AUTHORIZATION_STATUS>APPROVED</H_AUTHORIZATION_STATUS>
<H_I_AUTHORIZATION_STATUS>Approved</H_I_AUTHORIZATION_STATUS>
<H_BURSTING_FILE_NAME>PO_Report_223564</H_BURSTING_FILE_NAME>
<H_HEADER_LOGO>FR_LOGO_EN.gif</H_HEADER_LOGO>
</G_HEADERS>
</LIST_G_HEADERS>
</XX01PO_PO>

I'm not sure if you can do this without calling some of the other java api's. don't quote me on that. Can you get table of contents to work natively without bursting using the work plugin? If you can then you should be able to use bursting.
Make Sense?
Ike Wiggins
http://bipublisher.blogspot.com

Similar Messages

  • Multiple Template in BIP

    Hi
    What is the use of multiple template in BIP Report. Can we print multiple template at a time. If no, then why they have given this facility of multiple template.
    Mash

    Hi,
    with multiple Templates you have the chance to use the same data for different requirements. Assume you want to have a nice layout for your customer add a rtf-template which returns a pdf. A second layout may be required for another country (for example in an right-to-left language). Than add a excel-template to get the same data as a excel-sheet to "play" with the data. Or you want to display the same data in a website, then you like to have html as output. This can be reached with the first rtf-template, but with another template you can fullfill special requirements for the different output types (as html for example has no page numbering compared to pdf). Perhaps next time you need the data as CSV ....
    And if there's than a change in your data set you had to maintain this only once.
    Regards
    Rainer

  • Creating multi-page document with multiple templates

    Hi,
    I am new to Pages and am attempting to create a photo book that I can export as a PDF and have printed through an online service. I have successfully created multiple templates in Pages that I want to use in my book, but cannot figure out how to create a new page based on an existing template. If I select "New" or "New from Template Chooser" I end up with a brand new document, not a new page in my existing document. If I select Insert --> Pages, I am only given the choice to insert a Text or a Blank page. How do I insert a new page based on a template? Or, how do I apply a template to a blank page?
    Thanks very much,
    Eric

    Okay, I have figured out a way to accomplish my goal. I have my master Pages document that I am adding pages to by:
    1. File --> "New from Template Chooser"
    2. Selecting my template
    3. A new document is opened
    4. I add my photo and custom text
    5. Copy the new page from the Pages area in the left nav
    6. Paste the new page back into my master document
    This works, although is a bit cumbersome. Would much prefer to be able to simply add a page in my master based on an existing template, but I still don't see how to do that...

  • XML publisher multiple templates in a single report

    Hello
    We are currently implementing PeopleSoft benefits where the user will have an option to select a benefit template from multiple selections and create a report form based from the combination of template he selected.
    My question would be based from the multiple templates, is it possible if the templates be printed out into just one report using xml publisher?
    thank you!

    Yes. This is possible by using sub templates.
    You can declare sub templates in the beginning and then call the sub template.
    You will need to register the sub templates in "Content Library" (Reporting Tools > XML Publisher> Content Library) to be able to call thses from another template.

  • Changes to multiple Templates

    I know how to apply changes to child pages of "a" Template
    after updating that Template. However, when I make changes to
    multiple Templates of my site, is there a way to apply those
    changes to child pages of all those (updated/modified) Templates at
    once (using a single command or something) without having to work
    on one Template at a time?
    Here is a specific situation: We have nearly 50 Templates in
    our Web site. We have to update a domain name of a link in all
    these Templates. That is -- from "www.OLDname.com" to
    "www.NEWname.com". It's easy to do a find and replace to make the
    above change in all these Templates. (Note: I am referring to only
    the changes in the NON-editable region of these Templates). Once
    the above change is done, how do I apply those changes to all the
    child pages of these Templates in a few easy steps ;-) Is opening
    each Template and doing "Modify > Templates > Update
    Pages..." the only way to achieve this?

    Alan, thanks for the response.
    I have one more question. When I run this command
    "dw menu-->Modify-->Templates-->Update Pages", I
    get lots of errors like the ones below. I had to press numerous
    "OK" buttons to clear them away. Since they were so many, I usually
    kill the process to get rid of them.
    Error Message - Sample #1
    Error accessing file "C:\sth\Templates\general.dwt:" file not
    found (error code 2)
    Error Message - Sample #2
    There is an error at line 7 of
    "C:\sth\sth\Templates\some.dwt": Unbalanced body tag.
    Error Message - Sample #3
    There is an error at line 218, column 8 (absolute position
    28866) of "C:\sth\sth\sth.htm": Duplicate editable regions of name
    "Document body".
    I don't get this problem when I work on the Templates one by
    one. Is there a way to suppress these errors, or at least cancel
    the operation after this command has been issued ("dw
    menu-->Modify-->Templates-->Update Pages").
    Thanks again for your help.

  • Multiple templates one document

    How do I insert multiple templates in a single document?

    What the printer has asked for is called "bleeds".
    Bleeds run images off the edge of the paper so the excess is cut away when the printed job is guillotined to final size.
    *1. Create an over-size page*
    +Menu > File Page Setup… > Paper Size: > Manage Custom Sizes: > Create a page with 10mm or 0.375" extra on all sizes ie 20mm or 0.75" extra width and height+
    For an A4 brochure this would be 317mm wide by 230mm high.
    For US letter brochure this would be 11.75 x 9.25"
    *2. Construct the brochure* with the final trimmed boundaries in 10mm or 0.375" from the outside of the page.
    Use guides to mark the trimmed outline and line for image bleeds 3mm or 1/8" outside the trimmed page boundary..
    Add crop marks (0.5 pt 100% cmyk lines) in the corners pointing in to just 1mm or 0.1" short of the trimmed corners.
    *3. Layout images to run to the bleed guides.*
    If you want to avoid all this extra manual work, try:
    http://www.macupdate.com/info.php/id/18896/swift-publisher
    Which has all of this plus imposition, true master pages and many other features.
    Peter

  • Multiple template language in Bursting Control File

    Hello,
    I have created a tempalte in English language. I have used translation for French and Polish Language using .xlf file
    How to call them in the Bursting control file?
    I am calling the French language as
    <xapi:template type="xsl-fo"
    location="xdo://XXNCV.XXNCV_AR054_03.fr.00"
    </xapi:template>
    But it still shows the English output.
    Please help. Thanx in advance.
    my email is [email protected]

    Hi, just thought I'd mention I managed to get the bursting and translation working via an xlf file and bursting control file, e.g.
    <xapi:template type="xsl-fo"
    location="xdo://xxxAR.xxx_XML_PRINT.en.US"
    locale="fr-US"
    translation="/usr/tmp/xxx_XML_PRINT_fr_US.xlf"
    filter=".//G_INVOICE_HEADER[PRINTING_OPTION='PRI']" >
    </xapi:template>
    Unfortunately, parameter passing doesn't seem to work when bursting translations, e.g. Page: &1 of &2; I've logged this in an SR.

  • Bursting Web Templates with Multple Sources

    I'm currently tring to burst a reporting using the Broadcast in our BI 7.0 Enviroment - I ran into an issues when trying to use the busting option when my template contained sources from Multiple Cubes.
    Has anyone been successful bursting using multiple Cubes in on report?
    DS_1 = Cube1
    DS_2 = Cube2

    Hi,
    Did u check CUBE OPTIONS under the FILE menu of your transformer.May be !

  • Bursting with template control

    Hi there,
    I am using the xml publisher in PeopleSoft and my requirement is as follows.
    Every year there are 500 odd staff who receive a pay rise and each staff member receives a letter detailing this payrise. Additionally there are 8 different types of letter that any staff member could have.
    What I want to do is burst by the staff members department ID and control the template by which letter I want to use. I've generated my xsd file and my program generates the xml and publishes the process.
    My problem is that although the bursting works, and the correct template is chosen, only the first page is printed for each department. I have looked around and saw that you can place page breaks on a template but because I won't necessarily use the same template for the next page I wasn't sure that this is the answer.
    I don't have any for-each statement in the template as there is no looping in any page. If I have 500 rows then I want 500 pages.
    Do I need to have something within the xsd file (and attribute??) that the publisher can interpret so that a new page is generated (and correct template chosen) for each row in the xml file??
    Thanks,
    Andrew

    Hi Dave,
    My xml file looks similar to this (other than there would be more rows):
    <?xml version='1.0'?>
    <Start>
    <BIS_SAL_LTR_XML>
    <BIS_DEPTID_GRP>505210</BIS_DEPTID_GRP>
    <BIS_SALRVW_LTR_NBR>4A</BIS_SALRVW_LTR_NBR>
    <BUDGET_YEAR>2008</BUDGET_YEAR>
    <TITLE1>1 July 2008</TITLE1>
    <TITLE2>Malcolm D Knight</TITLE2>
    <TITLE3> Peter Dittus</TITLE3>
    <TITLE4>Secretary General</TITLE4>
    <TITLE5> Jozef Van &apos;t dack</TITLE5>
    <TITLE6>Head of Human Resources</TITLE6>
    <DESCRSHORT>Mr</DESCRSHORT>
    <FIRST_NAME>Andrew</FIRST_NAME>
    <LAST_NAME>Casey</LAST_NAME>
    <BIS_INCR_AMT_STR>5,000.00</BIS_INCR_AMT_STR>
    <BIS_INCR_PCT_STR>3.85</BIS_INCR_PCT_STR>
    <BIS_INCR_SAMT_STR>0.00</BIS_INCR_SAMT_STR>
    <BIS_EXPAT_AMT>23400.00</BIS_EXPAT_AMT>
    <BIS_SALARY>153400.00</BIS_SALARY>
    <ANNUAL_RT>130000.200</ANNUAL_RT>
    <COMP_RATECD>18</COMP_RATECD>
    <DESCR1>lower third</DESCR1>
    <DESCR40>Expatriation allowance 18%</DESCR40>
    </BIS_SAL_LTR_XML>
    </Start>
    My xsd file is like this:
    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Start">
    <xs:complexType>
    <xs:sequence>
    <xs:element maxOccurs="unbounded" name="BIS_SAL_LTR_XML">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="BIS_DEPTID_GRP" type="xs:string" />
    <xs:element name="BIS_SALRVW_LTR_NBR" type="xs:string" />
    <xs:element name="BUDGET_YEAR" type="xs:unsignedByte" />
    <xs:element name="TITLE1" type="xs:string" />
    <xs:element name="TITLE2" type="xs:string" />
    <xs:element name="TITLE3" type="xs:string" />
    <xs:element name="TITLE4" type="xs:string" />
    <xs:element name="TITLE5" type="xs:string" />
    <xs:element name="TITLE6" type="xs:string" />
    <xs:element name="DESCRSHORT" type="xs:string" />
    <xs:element name="FIRST_NAME" type="xs:string" />
    <xs:element name="BIS_INCR_AMT_STR" type="xs:string" />
    <xs:element name="BIS_INCR_PCT_STR" type="xs:string" />
    <xs:element name="BIS_INCR_SAMT_STR" type="xs:string" />
    <xs:element name="BIS_EXPAT_AMT" type="xs:decimal" />
    <xs:element name="BIS_SALARY" type="xs:decimal" />
    <xs:element name="ANNUAL_RT" type="xs:decimal" />
    <xs:element name="COMP_RATECD" type="xs:string" />
    <xs:element name="DESCR1" type="xs:string" />
    <xs:element name="DESCR40" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    Thanks,
    Andrew

  • Broadcasting - email bursting multiple email adresses

    Hello all,
    For broadcasting emails we use the bursting option. We want to use the option of 'filter document by characteristic value' so we can specify the reports by sales organization (0SALESORG).
    This works fine if we putt an e-mail address in the InfoObject, but we want to email the same report to multiple email adresses. So (for example) for salesorg 10 we want 4 email adresses to receive the broadcasting report. Is this possible?
    In the SAP documentation I only see 1 e-mail address per sales org for example.
    We are running SAP BW 7.0 SP 12.
    Thank you in advance.
    Message was edited by:
            Gerard Bot

    HI,
    it is not possible to use more than one Email-addresses.
    There is no user-exit for this stuff. The only thing i could imagine, is that you send the mail to a distribution list of your mailserver.
    May you can create a distribution List on Mailserver, add the receiptients to that list, and change the email-address in the attribute to the mail-address of the distribution list.
    Within SAP is no chance.
    best regards,
    Kai

  • IRecruitment Offer Letter review button to have multiple template to select

    Hi,
    I have a requirement in i recruitement Offer letter generation to have multiple Offer letter selection at the time of review page. I've Created a custom template and associate the template to Business group and now i've 10 different templates with different texts . i've started the process for selecting applicants and then gone into Enter basic details and then to review page and in that view offer letter button . here i need to select a tempate among the 10 custom template which i created , I've register this 10 template in Assocation template form where on whatever the radio button i kept in that form only that template output is bedefault coming where as i need to select the template as per my choice. Kindly let me know if any advice on this matter.
    Regards,
    Abdul Samad

    You can not select template at that time. While creating the offer you just submitting the details for the offer. Once the request is approved, Go to Offer Workbench => click on offer letter. Once you click there you will be able to choose the template on the following screen.
    Save the offer letter once you choose the template.

  • Printing Multiple Templates' output in a single PDF

    Hi All,
    I have a requirement wherein I have to print the data from several or a few templates into a single pdf.
    Requirement:
    All the Service Contracts created on a particular day will need to be printed in a single report
    For eg: If there are 5 different Service contracts created on a particular day, then each of the service contracts will be associated with a different template, but the output should be printed within a single report.
    Also, there can be more than one instance of the same service contract.
    Explanation
    Suppose I have SC1....SC9 and I have 5 templates Template1....Template5 and each of the SC1...SC9 may or may not be associated with a template
    Consider that SC1..SC5 has to be printed in Template1, SC6, SC7 in Template2
    SC8,SC9 to be printed in Template3.
    Issue
    Now I do get the output in a single report, but I get 2 blank pages when there is no data for Template4 and Template5.
    Approach
    I have create a single template file with all the 5 template in it and each of the templates are in a single page.
    TEMPLATE 1+
    COMPANY LOGO
    <?for-each-group:G_TEMPLATE;TEMPLATE?> <?if:TEMPLATE = ‘TEMP_A’?><?for-each: G_MAIN?>
    ..... Template Body.....
    <?split-by-page-break:?> <?end if?> <?end for-each?><?end if?> ?><?end if?> <?end for-each-group?>
    The same thing repeats for Template2... Template5, with only the difference being the Template Body.
    Subtemplate Approach not feasible:
    I have worked with sub-templates and I know for sure that it is not feasible for this approach becuz all the pages have to be printed within the single report
    Is there a way to resolve this issue of eliminating the blank pages when there is no data in the xml file for the particular template.
    Thanks in advance to all who might give a thought to this
    XML FILE
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ROWSET>
    - <LIST_G_MAIN>
    - <G_TEMPLATE>
    <TEMPLATE>TEMP_A</TEMPLATE>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    </G_TEMPLATE>
    - <G_TEMPLATE>
    <TEMPLATE>TEMP_B</TEMPLATE>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    </G_MAIN>
    </G_TEMPLATE>
    - <G_TEMPLATE>
    <TEMPLATE>TEMP_C</TEMPLATE>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    - <G_MAIN>
    <PARAM_1>P1</PARAM_1>
    <PARAM_2>P2</PARAM_2>
    <PARAM_3>P3</PARAM_3>
    <PARAM_4>P4</PARAM_4>
    </G_MAIN>
    </G_MAIN>
    </G_TEMPLATE>
    </LIST_G_MAIN>
    </ROWSET>

    assuming my corrected sample data structure is correct, here is a template that works with it. No blank pages for template D and E:
    <?if@section:count(G_TEMPLATE[TEMPLATE='TEMP_A'])>0?>
    <?for-each-group:G_TEMPLATE[TEMPLATE='TEMP_A'];TEMPLATE?>
    Template: <?TEMPLATE?>
    <?for-each:G_MAIN?>
    ..... Template Body A.....
    Param 1: <?PARAM_1?>
    Param 2: <?PARAM_2?>
    Param 3: <?PARAM_3?>
    Param 4: <?PARAM_4?>
    <?end for-each?>
    <?end for-each?>
    <?end if?>=====secton brk (next page)========
    <?if@section:count(G_TEMPLATE[TEMPLATE='TEMP_B'])>0?>
    <?for-each-group:G_TEMPLATE[TEMPLATE='TEMP_B'];TEMPLATE?>
    Template: <?TEMPLATE?>
    <?for-each:G_MAIN?>
    ..... Template Body B.....
    Param 1: <?PARAM_1?>
    Param 2: <?PARAM_2?>
    Param 3: <?PARAM_3?>
    Param 4: <?PARAM_4?>
    <?end for-each?>
    <?end for-each?>
    <?end if?>=====secton brk (next page)========
    <?if@section:count(G_TEMPLATE[TEMPLATE='TEMP_C'])>0?>
    <?for-each-group:G_TEMPLATE[TEMPLATE='TEMP_C'];TEMPLATE?>
    Template: <?TEMPLATE?>
    <?for-each:G_MAIN?>
    ..... Template Body C.....
    Param 1: <?PARAM_1?>
    Param 2: <?PARAM_2?>
    Param 3: <?PARAM_3?>
    Param 4: <?PARAM_4?>
    <?end for-each?>
    <?end for-each?>
    <?end if?>=====secton brk (next page)========
    <?if@section:count(G_TEMPLATE[TEMPLATE='TEMP_D'])>0?>
    <?for-each-group:G_TEMPLATE[TEMPLATE='TEMP_D'];TEMPLATE?>
    Template: <?TEMPLATE?>
    <?for-each:G_MAIN?>
    ..... Template Body D.....
    Param 1: <?PARAM_1?>
    Param 2: <?PARAM_2?>
    Param 3: <?PARAM_3?>
    Param 4: <?PARAM_4?>
    <?end for-each?>
    <?end for-each?>
    <?end if?>=====secton brk (next page)========
    <?if@section:count(G_TEMPLATE[TEMPLATE='TEMP_E'])>0?>
    <?for-each-group:G_TEMPLATE[TEMPLATE='TEMP_E'];TEMPLATE?>
    Template: <?TEMPLATE?>
    <?for-each:G_MAIN?>
    ..... Template Body E.....
    Param 1: <?PARAM_1?>
    Param 2: <?PARAM_2?>
    Param 3: <?PARAM_3?>
    Param 4: <?PARAM_4?>
    <?end for-each?>
    <?end for-each?>
    <?end if?>

  • Uix: including multiple templates

    Hello,
    I have a common template - which defines the tabs, branding and other common features. For every tab I have three sub-tabs (page headers). Each page header will have its own side nav items. This is what I am trying to do and I do not know if it is even posible:
    1. Define common.uit ( done ) - it has three tabs: View, Admin, Reports
    2. Define viewtemplate.uit - which will be the page headers ( sub tab ) for the "View" tab
    3. Define viewsidenav_1.uit - which will hold the definition for the side nav for View: page header_1
    I am not too sure how to get this together in the view_tasks.uix
    These are my definitions:
    common.uit
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <templateDefinition xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    targetNamespace="commonTemplateTargetNamespace"
    localName="Common" expressionLanguage="el">
    <type base="ui:pageLayout">
    <attribute name="selectedTab" javaType="int"/>
    <attribute name="selectedPH" javaType="int"/>
    </type>
    <content>
    <pageLayout>
    <attributeMap>
    <rootAttributeMap/>
    </attributeMap>
    <childMap>
    <rootChildMap/>
    </childMap>
    <!-- now, the content of the pageLayout -->
    <corporateBranding>
    <image source="http://www.oracle.com/admin/images/ocom/oralogo_small.gif"
    destination="http://www.oracle.com"/>
    </corporateBranding>
    <tabs>
    <tabBar selectedIndex="${uix.rootAttr.selectedTab}">
    <contents>
    <link text="View" destination="../view/view_tasks.uix"/>
    <link text="Admin" destination="admin.uix"/>
    <link text="Report" destination="report.uix"/>
    </contents>
    </tabBar>
    </tabs>
    <globalButtons>
    <globalButtonBar>
    <contents>
    <globalButton text="Login" destination="login.uix"/>
    <globalButton text="help" destination="help.uix"/>
    </contents>
    </globalButtonBar>
    </globalButtons>
    <copyright>
    <styledText text="Copyright Oracle 2006" styleClass="OraCopyright"/>
    </copyright>
    <privacy>
    <link text="Privacy Statement" destination=""/>
    </privacy>
    <contents>
    <rootChild name="contents"/>
    </contents>
    </pageLayout>
    </content>
    </templateDefinition>
    viewtemplate.uit - which defines the page headers
    <?xml version="1.0" encoding="windows-1252"?>
    <!-- Template definition file. Add any needed namespaces,
    and specify the required "targetNamespace" and "localName" attributes -->
    <templateDefinition xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    targetNamespace=""
    localName="ViewTemplate"
    expressionLanguage="el">
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="common.uit"/>
    </templates>
    <!-- Type section: Define a "base" attribute if needed -->
    <type>
    <!-- Add any needed named children -->
    <!-- Add any needed attributes -->
    </type>
    <!-- Content section: define the content of the template -->
    <content>
    <!-- Add UINode content here to make your template valid -->
    <pageHeaderLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents >
    <link text="pageHeader1"
    destination="http://www.oracle.com"/>
    </contents>
    </globalHeader>
    </pageHeader>
    </pageHeaderLayout>
    </content>
    </templateDefinition>
    <Haven't done the side nav as yet ... > but this is the overall page that needs to include the two templates:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el"
    xmlns:myTemplate="commonTemplateTargetNamespace">
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="../templates/common.uit"/>
    <templateImport source="../templates/viewtemplate.uit"/>
    </templates>
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <document>
    <metaContainer>
    <!-- Set the page title -->
    <head title="View Tasks"/>
    </metaContainer>
    <contents>
    <body>
    <contents>
    <form name="form0">
    <contents>
    <myTemplate:Common title="View Tasks" selectedTab="0">
    <contents/>
    <tabs/>
    <pageButtons/>
    <globalButtons/>
    <pageHeader/>
    <start/>
    <end/>
    <about/>
    <copyright/>
    <privacy/>
    <corporateBranding/>
    <productBranding/>
    </myTemplate:Common>
    </contents>
    </form>
    </contents>
    </body>
    </contents>
    </document>
    </contents>
    </dataScope>
    </content>
    <handlers>
    <!-- Add EventHandlers (<event> elements) here -->
    </handlers>
    </page>
    Thanks !

    I think the BC4J UIExtensions are correctly registered.
    This is the servlet element of my web.xml file (that has never been touched):
         <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.BajaServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.loggedInKey</param-name>
    <param-value>LoginHandler.isLoggedIn</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.servlet.loginPage</param-name>
    <param-value>Login</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.ui.UIExtensions</param-name>
    <param-value>oracle.cabo.data.jbo.ui.JboUIExtension</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>

  • Responding to multiple emails via multiple templates

    Hi! I’m looking for a way to implement templated email responses via the mail or gmail app. What I would like to do is this. After receiving an email I would like to respond with a one of many templates via e-mail in the most efficient way possible. Any ideas would be a big help.

    Delete the email account in question and re-add it.         

  • Setting initial focus amidst multiple templates, task flows, and fragments.

    Hi Guys,
    Using JDev 11.1.1.4.
    I've got page fragments for which I'd like to set the initial focus. The issue is that oftentimes these .jsff pages are nested within page templates, train templates, dynamic regions, etc. As far as I know, the initial focus for a component is set on the document. The trick is finding out what all the prefixes are before the .jsff component.
    pt1:dynamicRegion:3:pt1:t1:0:it1Is there any easy way to figure out all the prefixes before this :it1, which can oftentimes be dramatically different?
    Would the easiest way be to set the initial focus to say "defaultFocus" and then have every .jsff have a component id called "defaultFocus"? Feels like cheating, but any other way I can think of seems way too complicated.
    Thanks,
    Will

    The method we use is mainly programmed by: Marianne Horsch.
    So again, 1 page:
    <af:document ...  initialFocusId="#{backingBeanScope.bolsysPageBean.initialFocus}">
    <af:form .... defaultCommand="#{backingBeanScope.bolsysPageBean.defaultCommand}">Within the body of this page a dynamic region is defined, this is all that is ever refreshed.
    Bean, not all logging etc removed:
      private static final String DEFAULT_COMMAND_ATTRIBUTE = "defaultCommand";
      private static final String INITIAL_FOCUS_ATTRIBUTE = "initialFocus";
      private String defaultCommand;
      private String initialFocus;
      public BolsysPageBean() {
        super();
        initPage();
      public final void initPage() {
        List<UIComponent> childrenList = getPageChildrenList();
        if (!childrenList.isEmpty()) {
          UIComponent defaultCommandComponent =
            UIComponentUtils.findComponentWithAttribute(childrenList, DEFAULT_COMMAND_ATTRIBUTE);
          if (defaultCommandComponent != null) {
            defaultCommand = defaultCommandComponent.getClientId(FacesContext.getCurrentInstance());
          UIComponent initialFocusComponent =
            UIComponentUtils.findComponentWithAttribute(childrenList, INITIAL_FOCUS_ATTRIBUTE);
          if (initialFocusComponent != null) {
            initialFocus = initialFocusComponent.getClientId(FacesContext.getCurrentInstance());
      private List<UIComponent> getPageChildrenList() {
        UIViewRoot root = FacesContext.getCurrentInstance().getViewRoot();
        if (FacesContext.getCurrentInstance() != null && FacesContext.getCurrentInstance().getViewRoot() != null) {
          return UIComponentUtils.getAllChildComponents(root);
        return Collections.<UIComponent>emptyList();
      public String getDefaultCommand() {
        return defaultCommand;
      public String getInitialFocus() {
        return initialFocus;
      }Util code:
      public static List<UIComponent> getAllChildComponents(UIComponent root) {
        List<UIComponent> list = new ArrayList<UIComponent>();
        if (root.getFacetCount() > 0) {
          Map<String, UIComponent> facetMap = root.getFacets();
          for (Map.Entry<String, UIComponent> entry : facetMap.entrySet()) {
            UIComponent facetComponent = entry.getValue();
            list.add(facetComponent);
            if (facetComponent.getChildCount() > 0 || facetComponent.getFacetCount() > 0) {
              list.addAll(getAllChildComponents(facetComponent));
        list.addAll(getOwnChildren(root));
        return list;
      private static List<UIComponent> getOwnChildren(UIComponent root) {
        List<UIComponent> list = new ArrayList<UIComponent>();
        if (root.getChildCount() > 0) {
          for (UIComponent child : root.getChildren()) {
            list.add(child);
            if (child.getChildCount() > 0 || child.getFacetCount() > 0) {
              list.addAll(getAllChildComponents(child));
        return list;
      }  The dynamic region is based on a backing bean as well.
    As I said before, when you want it right use beans (:
    -Anton

Maybe you are looking for