Oracle Analytics Cloud and Server

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

String Functions in RTF template is not working in our EBS environment.

Received Response
162
Views
15
Comments

Summary

String Functions in RTF template is not working in our EBS environment.

Content

Dear Experts

I am having an issue with XML Publisher in EBS where I need to build an RTF data template to sit over seeded XML produced by the Oracle Price Book. Within this template I have a need to only display certain rows using an if statement and the simple XSL 1.0 string function "contains".

This is the command: <?if:contains(current-grouping-key(),'/')?>.

It works in Preview mode in Word using the BI publisher plugin "Oracle BI Publisher Desktop 1221.2.0.

The EBS environment is 

RDBMS : 12.1.0.2.0

Oracle Applications : 12.2.5

The seeded responsibility used to generate the XML is "Oracle Pricing User".

I have attached the log file, the XML data and RTF template for your reference. I have tried different string functions such as "starts-with" and still the log file is producing an error.

Any help would be much appreciated.

Regards

Rick Taylor

«1

Answers

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    May I know what you are printing in CategoryName tag. For me its showing some reference not showing exact tag name

    image

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Nope....I am getting below output...There are two category name under same tag...one contains value with dot and second contains value with /.

    If you put condition <?if:contains(current-grouping-key(),'/')?> do you want to check both the tags?

    It will be easy if you can paste your expected output?

    image

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Just now I tried in my EBS env. 12.1.3. it worked

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Hi Rick...I used template viewer . My version is BI Desktop version is 10G which is supported by EBS.

    First I tried to preview the exact rtf which you have uploaded....it gave for the category i.e. category name which contains dot(.) and category name which contains forward slash ( / ). This behavior as same as EBS ?

    Then I changed the condition it printed only category name which contains / .

    Let me know if still that don't work for you?

    Regards,

    Brajesh

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Can you put if condition as below and try. I just tried it worked for me for the rtf and data you have provided

    <?if:contains(CategoryName,'/')?>

  • Rick Taylor
    Rick Taylor Rank 3 - Community Apprentice

    Hi

    I tried this as well in template viewer but the filter on the group produced random results. The problem will still be that the Oracle Advanced Pricing module doesn't like "contains" (or any other string function) in the layout when producing a price book. My requirement is to use the seeded pricing engine to produce a price book and add a layout that manipulates the PL/SQL generated XML to only show a newly defined Reporting Product category (The one that contains /) and also restrict the output to only those products that the customer was interested in (i.e. a Customer cross reference item was defined).

    Instead of raising an SR with Oracle I am going to create a custom report that reads the generated price book data. This gives me greater control over the output by having my own data definition. Was hoping not to make this a two step process.

    Thanks for your assistance

    Rick

  • Rick Taylor
    Rick Taylor Rank 3 - Community Apprentice

    Hi Brajesh

    This field is current-grouping-key(). The layout is a copy from the Oracle seeded Price book summary report.

    Regards

    Rick

  • Venkat Thota - BIP
    Venkat Thota - BIP Rank 7 - Analytics Coach

    Try this

    <?for-each-group:PriceBookLinesVORow[contains(CategoryName,'/')];./CategoryName?>.

    also post what was your exact requirement ,we can able to simplify your layout , Thanks

  • Rick Taylor
    Rick Taylor Rank 3 - Community Apprentice

    Expected output

    image

  • Rick Taylor
    Rick Taylor Rank 3 - Community Apprentice

    Hi Brajesh

    Could you confirm that you get similar lines in the attached output in template viewer?

    I have included two tables. They produce different results.

    The first table is using <?if:contains(current-grouping-key(),'/')?>

    The second table is using <?if:contains(CategoryName,'/')?>

    Regards

    Rick