Oracle Analytics Publisher

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Working with Main and Subtemplate in OTAP

Received Response
21
Views
2
Comments

Within our organization we use for 2 reports a main template with subtemplates. 

We develop in the acceptance environment and then the report goes to the production environment. 

 At the moment both environments have the same URL for the location of the subtemplates. 

 In November the database will go to the cloud and also the location of the BIP Server. Unfortunately we will then get a separate URL per environment, which means that a developed report in the acceptance environment will not work in production, because the import and call code refers to an incorrect location. 

Can somebody advise me how to make the import code and call code flexible so the report works in both environments. 

Answers

  • Riyaz Ali-Oracle
    Riyaz Ali-Oracle Rank 6 - Analytics Lead

    Instead of referencing subtemplates via full URLs, upload them to the BI Publisher Catalog and reference them by Catalog path, like this:

    <?import:xdoxsl:///Shared/Custom/SubTemplates/YourSubTemplate.rtf?>

    Try this:

    -->Upload the subtemplate to a shared folder in both environments (e.g., /Shared/Custom/SubTemplates/).

    -->In your main RTF template, use:
    xml

    -->Ensure the template name inside the subtemplate matches the one you're calling.

    <?import:xdoxsl:///Shared/Custom/SubTemplates/YourSubTemplate.rtf?><?call-template:YourTemplateName?>

  • User_0OG2P
    User_0OG2P Rank 2 - Community Beginner

    Thanks for the replay.

    I have been investigating this option, and we concluded that working with a shared folder accessible for both environments is not an option. Because environment A is to develop changes and environment B is production. The change that something goes wrong is too big.

    We are wondering if there is a code that can be used to determine which importline to use

    if environment A use <?import:xdoxsl:///environment_A/SubTemplate/letter.xsb?>

    if environment B use <?import:xdoxsl:///environment_B/SubTemplate/letter.xsb?>

    <?call-template:letter?>