Showing posts with label bi publisher. Show all posts
Showing posts with label bi publisher. Show all posts

Sunday, February 21, 2021

Text searching the SQL of BI Publisher Data Model contents in the OBIEE catalog

If you're working in an environment where there are a lot of Business Intelligence Publisher (BIP) reports in an on-site OBIEE instance, sometimes you want to impact assess, or find usages of a certain database table or column. The following shell script is a very simple way to search the Data Model SQL in BI Publisher reports in the filesystem. Note of course this only works if you have an on-site OBIEE instance. For Oracle eBusiness Suite you'd be better to query the CLOBs in stored XML Publisher tables, and for Cloud based Oracle Analytics - you'll need to work that one out!

Change the CAT= like to store the location of the shared folder that you're catalog resides in.

Save the contents to a file called bipdmsearch and remember to chmod 755 bipdmsearch so you can execute it.

#!/bin/sh

if [ -z "$1" ]; then
 echo "Usage: bipdmsearch <search string>"
 exit 1
fi

if [ -z "$CAT" ]; then
 CAT=/u01/app/obi12c/config12.2.1.2/bi/bidata/service_instances/ssi/metadata/content/catalog/root/shared
fi

echo "cd $CAT"
cd $CAT

echo "Search for $1"
find . -type f -name \*xdm\* -exec grep -il "$1" {} \;

echo "Done"
This is a post from Gareth's blog at http://garethroberts.blogspot.com

... and we're back!

Wow - it has been a long time since I posted here! So much so that the world has changed - with an onslaught of content and apps and tools and technologies and Cloud! However that said I've found myself coming back to visit my old posts from time to time as technical references to especially fiddly things are often lost in the mix of content these days. I've always had a list of things to add here, and over the last few years I've been working in-depth with the Oracle Business Intelligence Suite and picked up a bunch of tips and tricks along the way, so the list is even longer now ;-)

Although there are more people documenting more things there are still plenty of techniques that are obscure but warrant being being referenced.

So, we'll start off with a couple of easy ones, maybe something using OBIEE back end catalog updates, then kick into some tougher ones .... maybe Google Earth KML output from Oracle SQL/BI Publisher or something like that :-)

Enjoy ...

This is a post from Gareth's blog at http://garethroberts.blogspot.com

Friday, August 09, 2013

Oracle BI Publisher Desktop Microsoft Visual Basic System Error &H8000FFFF -2147418113 Catastrophic failure

Not too sure what I changed on my laptop, possibly just installation of another product or perhaps Microsoft or similar updates, but when I went to edit a BI Publisher RTF template I got the following error message on clicking ANY button in the BI Publisher plugin for Microsoft Word.

---------------------------
Microsoft Visual Basic
---------------------------
System Error &H8000FFFF (-2147418113). Catastrophic failure 
---------------------------
OK   Help   
---------------------------

After quite a bit of researching, I found the solution, for me it was the second of the following fixes:

1. Delete the EXD files. I attempted this in the root of my C:\ and D:\ drives, but it didn't fix the error.

DEL /S /A:H /A:-H *.EXD

2. Change security setting, and then reboot Windows.

2a. For Windows 32bit:

Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"

2b. For Windows 64bit:

Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"

Problem solved!

Catch ya!

Gareth

This is a post from Gareth's blog at http://garethroberts.blogspot.com

References

Related Posts

Tuesday, September 21, 2010

Enhancement Requests and Bugs for Oracle eBusiness Suite

From time to time I create enhancement requests or bugs, commonly on Oracle eBusiness Suite. Additionally I come across enhancement requests that I think deserve more visibility. This page is dedicated to that cause. If you have an Oracle Enhancement Request (ER) or Bug you would like to raise the visibility on, please feel free to comment or contact me.
If you like the looks of one of the Enhancement Requests noted below, log a Service Request (SR) on My Oracle Support (MOS) and ask for your MOS Customer record to be attached to the ER / Bug.

Created Logged By Bug / ER Status Product Description
2015/02/22 See ER 9130428 Open AR Need a Standard Way to Export the Aging 7 Buckets By Account Report Output to Excel
2013/10/07 See ER 17069048 Open BIP Enable use of recursive with clause
2013/06/05 See ER 12872320 Open BIP Request to add autofilter functionality to native Excel template (binary)
2012/01/22 Gareth 13616572 Open BIP BI Publisher RTF unable to show a fixed number of lines for a word wrapped cell
2011/05/13 See ER 12423249 Open BIP Adding support of SMTP username/password to "XAPI:EMAIL" bursting for E-Business Suite (EBS) 12.1.X
2010/11/09 See ER 8208646 Open AP/IBY R12 Unable to send Separate Remittance Advice as email attachment in PDF
2010/08/11 Gareth 10019593 Rejected AP/IBY ARXRWMAI - In Receipts Summary form, cannot query by payment server id - PSON (Payment Server Order Number)
2010/07/14 See ER 9908713 Open BIP Need the DeliveryManager API to have a trackback variable for bounced emails
2010/07/18 See ER 9918364 Open BIP Need email body to be set to UTF-8 charset when using East Asian language emails
2010/07/08 Gareth 9891120 Open eAM Need hook to extend EAM Maintenance Work Order Detail Report
2010/06/19 Gareth 9834226 Open AP Need to embed email images Payables/Payments "Send Separate Remittance Advices"
2009/01/07 See ER 7694052 Open AP Does the Supplier Open Interface API Support Updates to Supplier Information?
2005/03/25 See ER 4262148 Open AP Need Public API to manage custom AP Invoice Holds
PS. If you would like to monitor Enhancement Requests, and be notified by Oracle of status updates, create a Favorite in My Oracle Support and ensure Hot Topics (Favorites) emails are on as follows.

Create a Favorite:

  1. Login to My Oracle Support
  2. Search on the ER / Bug number in the Search box e.g. 4262148
  3. Click on the orange star next to the Title in the list view, or click on the article and click on the orange star. You should see "Favorite added" status message.

Switch on Hot Topics Emails:

  1. Go to the Settings tab
  2. Click on Hot-Topics Email under Personal on the left side menu list.
  3. Switch On the Hot Topics email, every 1 days (or suitable), and ensure you have checked "Product Bugs Marked as Favorites"
  4. Save
To see your Favorites, click on the Knowledge tab, then click Favorite Articles in the Recent Activity tab.

Table of Enhancement Request Statuses

Status CodeDefinition
11 Code/Hardware Bug (Response/Resolution)
12 To External (User Group) Review
15 Enhancement Req. Internal(Oracle) Review
19 Approved for User Group Voting
20 To Requestor, Need More Info
22 Approved for Future Release
23 Scheduled for Future Release
50 ER Waiting for Base ER Fix
82 QA/PM to Eval ER, Chg Delivered Internal
97 Closed, Enhancement Rejected
98 Closed, Enhancement Implemented

Catch ya!
Gareth
This is a post from Gareth's blog at http://garethroberts.blogspot.com

Related Posts

 

Thursday, August 12, 2010

EBS Bursting: Filter on XML Elements using XPATH in Bursting Control File

Just a quick post to give an example of a bursting control file that has multiple emails, with a filter based on XML Element in the data to select which email to send.

Oracle EBusiness Suite XML / BI Publisher Bursting Control File Example - Multiple Email Filter

Here it is:

<?xml version="1.0" encoding="UTF-8"?>
<xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
<xapi:globalData location="stream"/>
<xapi:request select="/ARXSGPO_CPG/LIST_G_SETUP/G_SETUP/LIST_G_STATEMENT/G_STATEMENT">
<xapi:delivery>
<xapi:email server="${XXX_SMTP}" port="25" from="${XXX_SEND_FROM}" reply-to ="${XXX_REPLY_TO}">
<xapi:message id="email1" to="${XXX_CUST_EMAIL}" cc="${XXX_ARCHIVE_EMAIL}" attachment="true" content-type="html/text" subject="Statement from ${ORG_NAME} - ${STATEMENT_DATE}">Hello,
Please find attached the Statement for period to ${STATEMENT_DATE}.
${ORG_NAME}
Internal Ref: Customer Email
</xapi:message>
</xapi:email>
<xapi:email server="${XXX_SMTP}" port="25" from="${XXX_SEND_FROM}" reply-to ="${XXX_REPLY_TO}">
<xapi:message id="email2" to="${XXX_AGENT_EMAIL}" cc="${XXX_ARCHIVE_EMAIL}" attachment="true" content-type="html/text" subject="Statement from ${ORG_NAME} - ${STATEMENT_DATE}">Hello,
Please find attached the Statement for period to ${STATEMENT_DATE}.
Regards,
${ORG_NAME}
Internal Ref: Agent Email
</xapi:message>
</xapi:email>
</xapi:delivery>
<xapi:document key="${CUSTOMER_ID}_1" output="${XXX_SHORTNAME}_Statement_${STATEMENT_DATE}" output-type="pdf" delivery="email1">
<xapi:template type="rtf" location="xdo://AR.XXX_STATEMENT_PRINT.en.00/?getSource=true" filter="/ARXSGPO_CPG/LIST_G_SETUP/G_SETUP/LIST_G_STATEMENT/G_STATEMENT[XXX_CUST_MODE='Email']"/>
</xapi:document>
<xapi:document key="${CUSTOMER_ID}_2" output="${XXX_SHORTNAME}_Statement_${STATEMENT_DATE}_Agent" output-type="pdf" delivery="email2">
<xapi:template type="rtf" location="xdo://AR.XXX_STATEMENT_PRINT.en.00/?getSource=true" filter="/ARXSGPO_CPG/LIST_G_SETUP/G_SETUP/LIST_G_STATEMENT/G_STATEMENT[XXX_AGENT_MODE='Email']"/>
</xapi:document>
</xapi:request>
</xapi:requestset>

Catch ya!
Gareth

This is a post from Gareth's blog at http://garethroberts.blogspot.com

References

Related Posts

Monday, November 02, 2009

HTML Formatting issues in EBS R12 XML Publisher Remittance Advice Emails aka. Use Inline CSS Styles in BIP

Apologies for the cryptic title on this one. The issue is a simple but subtle one ... and if you're not an eBusiness Suite customer, but interested in the BIP HTML formatting part, please read on as the discussion may be relevant.

In the Oracle eBusiness Suite Release 12 there is an out-of-the-box solution for sending Payables Remitttance Advice notices via Email. The program is "Send Separate Remittance Advices" and is integrated into the Payments Process. The standard solution utilizes XML Publisher under the covers, but (at the time of writing) has been coded to force HTML output for the Email content and uses its own delivery mechanism, rather than a more flexible bursting one that could attach PDFs to emails. Now, this means there are a couple of limitations with the output format for these Remittance Advice notices:

  1. The out-of-the-box HTML generated by XML / BI Publisher uses CSS Stylesheets as opposed to Inline CSS. This causes formatting issues with some specific Email Clients (such as GMail) as described by this "old" but still relevent post. This is the main focus of this article and I'll give details of a workaround.
  2. The use of HTML means from a document printing perspective a pixel-perfect format is tough to achieve.
  3. Images e.g. Company Logos, need to be referenced in the HTML and hence need to be publicly accessible on a web server. This also means that when Supplier's receive the Remittance Advice emails will probably not have the images displayed by default and they'll get the "some pictures have been blocked to help prevent the sender from identifying your computer ... click here to download images" or similar spam/tracking warnings.

So the out-of-the-box solution has these gotcha's until such time as it uses a "fixed-format", "all content embedded in email" delivery method such as attaching a PDF to the email with the advice details...

BUT WAIT, there may be workarounds.

For Issue 1. we can tell XML / BI Publisher to embed Inline CSS rather than CSS Stylesheets using the following undocumented XML Publisher configuration. Place the following configuration in the xdo.cfg file and put it in eBusiness Suite $XDO_TOP/resource directory. Usual caveats apply; please test this before rolling to Production. Also be aware that this may affect all HTML output, with output file sizes likely to increase.

<config version="1.0.0"  xmlns="http://xmlns.oracle.com/oxp/config/">
   <properties>
    <!-- html-css-embedding valid values  embed-to-element | embed-to-header | externalize -->
       <property  name="html-css-embedding">embed-to-element</property>
   </properties>
</config>

For Issue 2. one trick is to place your formatting inside a Table and fix the width / height to that which you require. This may take a smidgen of tweaking, but at least you can get something that looks and prints nicely.

For Issue 3 ... well, I'm still working that one - no workaround from Support yet to embed the images in the HTML. Will keep you posted. UPDATE: Enhancement request (ER) Bug 9834226 has been raised for the issue of inability to embed images in Remittance Advice.

Hope this helps.

Catch ya!
Gareth
This is a post from Gareth's blog at http://garethroberts.blogspot.com

References

Related Posts

Concurrent Program parameters in XML / BI Publisher Template - eBusiness Suite

Just a short post with a note of how to get Oracle eBusiness Suite Concurrent Program Parameters into the output on an XML Publisher RTF Template.

There are two simple options, given an example parameter with token P_ORG_ID:

1. Add the concurrent program parameter as a field in the XML - this may be easier / necessary when you get to bursting or similar. Refer to the parameter using the usual <?P_ORG_ID?> RTF syntax.

2. Add the parameter using the param@begin syntax at the top of your RTF file:

<?param@begin:P_ORG_ID?>

And then refer the the value using dollar notation:

<?$P_ORG_ID?>

Catch ya!
Gareth
This is a post from Gareth's blog at http://garethroberts.blogspot.com

Related Posts

BI / XML Publisher 5.4pt start-indent problems in XSL-FO blocks on EBS Check Format recursive template

So you've just finished the first cut of your funky BI Publisher Check (Cheque) format template, and you feel pretty accomplished:

  • Logos, tables, non-preprinted stationary: Yes
  • Magnetic ink on printer loaded and ready to go: Yes
  • MICR font: Yes
  • Conditional signatures: Yes
  • Void check handling: Yes
  • Fixed Row Enumeration filler in tables via recursive templates: Yes




And then it all goes pear shaped … Doh!
Your filler recursive template does a dance to the right, indenting 5.4pt at a time.



With the cause in the XSL-FO template something like this: start-ident="5.4pt"



Well, you aren't the first person, or second to hit this, thanks theFurryOne for prompting this post. There is a workaround ... or two. You could edit the XSL-FO and replace the 5.4pt text with 0.0pt, but then you'd need to work with XSL-FO templates rather than RTF.

Alternatively you could put the following magic in the first cell of the filler recursive template:

<?attribute@incontext:end-indent;'0.0pt'?>
<?attribute@incontext:start-indent;'0.0pt'?>
<?attribute@incontext:padding-start;'0.0pt'?>

And a bit of a re-jig on the recurvsive sub template alignment. For example:



And we're rockin and rolling - no XSL-FO template needed, "pure" RTF:



Catch ya!
Gareth
This is a post from Gareth's blog at http://garethroberts.blogspot.com

References

Related Posts

Wednesday, October 21, 2009

OpenWorld 2009 done - back to Windy Wellington

With OpenWorld 2009 all done plus a few highly enjoyable days in the Valley I'm now back at home. I had a fantastic time once again, second time around was much less daunting - I went for less sessions, more unconference and more shopping!

The first couple of days of OpenWorld this year seemed very light on attendees, but with a flurry of activity in the last few days and a fantastic appreciation event - an awesome performance from Aerosmith - things really picked up. Very few product announcements of essence from the Oracle team so the real highlights for me were catching up with a variety of people/groups at a number of events:

  • Australia/New Zealand Dinner
  • Rittman Mead BI Meetup
  • Bloggers Meetup
  • Oracle APEX Meetup
  • Catching up with the BI Publisher crew and meeting Ike
  • Hanging out with Michael, Greg and Mike - cheers guys.

A huge thanks to all the above for the hospitality.

So only a few notes this year that took my interest to note them down. It seems a bit light especially on the eBusiness Suite side so if I have missed anything major, please post a comment.

Larry's Keynote Announcements:

  • Linux update - survey (was it by HP?) reported 65% of Oracle Database customers run Oracle Enterprise Linux beneath the database. Interestingly high percentage.
  • Review of Exadata "v2" (Sun Oracle Database Machine) with statistics showing results twice as fast as "v1".
  • Product Support System in the works including on site data mining for analyzing system configuration and auto-advising bugs/patches needing to be addressed.
  • Fusion Applications related:
    • Commitment for support of, and new functionality in eBusiness Suite, Peoplesoft, JD Edwards and Siebel applications for the next decade in addition to Fusion Applications
    • "Version 1" of Fusion Applications in Testing.
    • Fusion Applications are "SaaS ready" and deployed on SOA, BI standards based middleware.

Just the one product release announcement related to my areas of work:

  • Business Intelligence Applications OBIA 7.9.6.1 Release available

A number of interesting things up and coming, but most set for calendar year 2010.

OBI 11g - yet to be released, but demo'd, with my notes:

  • Common UI Components across the BI and Fusion product suites
  • Online BI Publisher Template Builder
  • A variety of excellent new features addons such as Answers Groups, Selection Steps, Visualizations
  • Extensions to current fuctionality such as Action Framework
  • Additional features such as Scorecards

Oracle APEX 4.0

  • The whole APEX community is getting ready and excited about the APEX 4.0 release due 2010.
  • It's great to see the new APEX Listener pre-production release out and getting plenty of feedback.

E-Business Suite:

  • 12.1.1 to include a new hompage / navigator + Web 2.0 style components therein
  • 12.1.1+ Integrated SOA Gateway (as an alternative to the EBS Adaptor which is part of SOA Suite).
  • Enterprise Manager pack addons for Health checks including online Patch and technology component Version comparison and recommendation tools.

Some other interesting tidbits that I noted:

  • Trial Usage of Advanced Compression on Oracle internal E-Business Suite top 100 objects reduced space usage on average by 3 times. Gotta see how Vision instances go with compression.
  • BI Publisher Data Template builder in the works (still), along with the demo'd BI Publisher Online Layout Template editor (demo'd as noted above).

Wrap-Up

So another excellent OpenWorld over - thanks to Oracle for putting on another flawless event and appreciate the Bloggers Pass. Even the weather made me feel at home ;-)

Next major event on my calendar is the NZOUG Conference 2010, Rotorua, New Zealand, March 15-16 2010 - looking forward to it. Hope to see some of you there!

PS. On a side note, from a New Zealand perspective, interesting that an IBM data center should fail around OpenWorld given Larry's consistent reiteration about the redundancies in the Oracle Database Machine and lack thereof in IBM's ex TPC-C beating solution! Even more than a week later seems like things are not quite back to the usual high Air New Zealand standards - following pic snapped 20-Oct-09.

Related Posts

 

Tuesday, May 05, 2009

Oracle EBS Release 12.1 Released: Top 8 New ATG Features

Oracle has announced the availability of Release 12.1, plenty of buzz around on this and Beehive updates.

Update: Oracle Application Management / Change Management Pack 3.0 also released! See Patch 8333939

Let's take a look at the Top Eight R12.1 new ATG (Applications Technology) features from my perspective.

  1. Out of the box Techstack Upgrades. New R12.1.1 installations are Database 11.1.0.7, Java 6, Application Server (Java/OAF)/JDeveloper Runtime 10.1.3.4, Application Server (Forms/Reports) 10.1.2.3.
  2. OAF: Record History. R12.1.1 OAF allows viewing Row/Blame or Row/Who information similar to that available in Forms interface (who remembers Release 9 character mode key sequences ;-)
  3. OAF: BI Publisher Integration. R12.1.1 provides a personalizable "Print" button for OAF pages. Very Nice.
  4. OAF: Flexfield References support. R12.1.1 gives the same functionality as Forms UI for referencing other fields as part of flexfields.
  5. Attachments APIs. Bulk upload and web services/API for Document Attachments. Sounds great!
  6. Integration / SOA. A bunch of new functionality including Web Services Invocation Framework (WSIF), a step towards easier integration.
  7. Diagnostics upgrades. A variety of changes/functionality to Oracle Diagnostics including BI Publisher enablement for new diagnostics. Oracle Diagnostics is an excellent source of EBS information for techie types!
  8. Autoconfig: Share Applications Tier between environments. R12.1 introduces the ability to share applications executables between instances, like Production and Test. Probably not what you'd want for your typical PROD/DEV/TEST setup, but for a "Production" / "Production Support" mirror setup this is very tempting.

Plenty of other candidates, but those are the ones that took my fancy from the ATG bag of tricks!

So how am I doing against my Chinese New Year predictions?

  1. Release 12.1: AVAILABLE
  2. Patch 5612820 for EBS Release 11i: AVAILABLE
  3. Native Excel Templates for XML / BI Publisher: Still waiting for them!
  4. Further emergence of OBIA with EBS: Release 12.1.1 has specific mention of further integration with Business Intelligence Applications (OBIA), needs a closer look.
  5. Change Management Pack for the eBusiness Suite: AVAILABLE: Patch 8333939.
  6. New Oracle Application Express (APEX) components to allow APEX/EBS Integration/support: Still waiting, but I'm currently looking at alternatives for APEX/Apps integration for R12.x.
  7. Oracle Fusion Applications: As expected delayed until at least 2010.

Disclaimer: The words, ideas and opinions here are my own. Please don't assume they represent the opinion of any other person or organization. This information is based on various sources, so it may not match the actual functionality delivered!

Related Posts

Tuesday, February 10, 2009

Revisited: Changing the default layout format between RTF/PDF/Excel for BI / XML Publisher 11i Concurrent Requests: Patches 5612820, 7627832 here now!

Some good news for eBusiness Suite 11i "bippers" to kick off the year of the Ox. In a previous post I provided a temporary solution for the issue where the default value of the Output Format for a BI Publisher based concurrent request was hardcoded to PDF. Many people have requirements to default the output type to Excel (xls).

Happily, my custom solution is now obsolete.

I'm pleased to advise that on 9-Jan-2009 Oracle provided Patch 5612820 for Oracle eBusiness Suite Release 11i. This patch has a co-requisite, Patch 7627832 released 11-Dec-2008 that took me a while to track down! Now both major current install levels of R11i and R12 are catered for:

  • R11i and R12 Patch 5612820 DEFAULT OUTPUT FORMAT ATTRIBUTE AT TEMPLATE LEVEL IS REQUIRED
  • R11i Patch 7627832 1OFF:7017250:ATG RUP6:11.5.10.2:5612820 : BI PUBLISHER LAYOUT DEFAULTS TO 'RTF'

For R11i prerequisites, you'll need to be on ATG RUP 6 Patch 5903765 see Note:444524.1, which I previously wrote about here. Both patch 7627832 and ATG RUP 6 have a number of other prerequisites and postrequisites so you may have some patching to do to get your 11i environment up to the required patch level.

For R12, Patch 5612820 is included in Release Update Pack 12.0.6, otherwise you'll need R12.AD.A.delta.4 and R12.ATG_PF.A.delta.4 before it can be applied.

Here are some screenshots of the new Default Output Type field on the Templates page.

Release 11i:

Release 12:

And the new Profile Option FND: Default Template Output Type, which takes effect if there is no default output type on the XMLP Template setup.

Release 11i:

And verification that the default output format is indeed working...

Release 11i:

Release 12:

Nice, get patching!

Related Posts

Saturday, January 24, 2009

A Look Ahead to 2009 - Oracle eBusiness Suite and Happy New Year!

Flickr tanakawho - Lion Dance

Gong Xi Fa Cai
Happy Chinese New Year - for January the 26th!

2008 has been and gone, and we're well into 2009. Let's look at some of potential up and coming tidbits for the Oracle eBusiness Suite.

1. Release 12.1: I was expecting this late last year, but we saw 12.0.6 instead. Release 12.1 promises to deliver a number of things, the main one for me will be a whole swag of XML / BI Publisher layouts for standard reports. A couple of Metalink oops My Oracle Support Notes indicate R12.1 is in controlled release. Haven't had a chance to track down the patch number .. anyone have it? For documentation on R12.1 see the Release Content Documentation.

2. Patch 5612820 for EBS Release 11i: This minor piece of functionality to default the Layout Format for BI Publisher based concurrent requests has been nagging me. Its out for R12, and actually its already out for R11i (9-Jan-2009) however ... the Default Layout on the XMLP side is there but the critical concurrent processing portion to default the layout on a concurrent request was missing so its back with Development. I'll keep you posted.

3. Native Excel Templates for XML / BI Publisher: This one may be subtle but for me its a biggie. Release 12 FSGs with native Excel Templates I believe are in controlled release. RTF templates have their moments, but I know a number people are looking for Excel templates. Excel and Accounting live together, and its high time they were standard for XML Publisher with eBusiness Suite. Here's hoping for more than just FSG native Excel templates.

4. Further emergence of OBIA with EBS: I've spent quite a bit of time with the Business Intelligence products lately, and the Oracle Business Intelligence Applications (OBIA) stack is a formidible beast. Albeit complex, there is plenty of sense and underlying power. I think only a handful of people have tapped into this and I'm keen to see how it plays out this year.

5. Change Management Pack for the eBusiness Suite: I'll be watching this closely too - the important parts from my perspective will be automated patching, and the ability to cut your own custom patches for applying using adpatch - nice, but of course I'm assuming you'll need front up with a few $$ too. Watch this space.

6. New Oracle Application Express (APEX) listener: Apparently due in APEX v4, the new listener will hopefully once again push APEX squarely back into the realm of the EBS after mod_plsql's support was tragically cast aside, only to resurface after clarification from Oracle :-) Any update on this David?

7. Oracle Fusion Applications: I wasn't sure whether to put this in, but I think its worth a mention. Perhaps shouldn't include it here with the emphasis on 2009 as my gut feel is that we'll be waiting a tad longer than that. However, if you've heard anything let us know!

8. What's happening for me in 2009? Well, fingers crossed I'll get stuck into a couple of projects that should have seen the light in 2008!

Do you have any hopes/requests/tidbits for Oracle eBusiness Suite action in 2009? Post a comment.

What happened in 2008?

In my neck of the woods a whole lot went on in 2008 including Website launches, Virtuate contract wins, Product demos, a GreaseMonkey Script release, attending OpenWorld for the first time, joining the NZOUG committee and helping to organize the NZOUG Conference, a new phone (Nokia E71 - nice), a new laptop (Toshiba A300 Y01 running Vista 64 ouch) and a ton more. Despite the gloomy economic outlook I'm hugely looking forward to 2009, the year of the Ox.

Disclaimer: The words, ideas and opinions here are my own. Please don't assume they represent the opinion of any other person or organization.

Related Posts

Thursday, November 20, 2008

R12 Patch 5612820 Available: Changing the default layout format between RTF/PDF/Excel when submitting XML / BI Publisher Concurrent Request

In a previous post I provided a temporary solution for the issue where the default value for the Output Format of a BI Publisher based concurrent request was hardcoded to PDF.

For those those customers lucky enough to be on Release 12 I'm glad to say Oracle has provided a patch for this enhancement, the base issue documented in Metalink Note 401328.1 or Bug 5612820 or Bug 5036916:

  • R12 Patch 5612820 DEFAULT OUTPUT FORMAT ATTRIBUTE AT TEMPLATE LEVEL IS REQUIRED

This patch is included in R12 Release Update Pack 12.0.6, but as a note at the time of writing 5612820 is available on controlled release ... not sure of the reason since its in 12.0.6. The code base required for applying 5612820 is:

  • R12.AD.A.delta.4
  • R12.ATG_PF.A.delta.4

For those people on Release 11i, unfortunately you'll have to wait a little longer ... still awaiting the 11i version of the patch.

Here's a screenshot of the new Default Output Format field on the Templates page.

And verification that the default output format is indeed working...

Nice!

Wednesday, September 03, 2008

Top 7 Reasons for a FREE version of BI Publisher a.k.a Uncage Oracle XML Publisher

I'd like to see a "free" (as in beer) version of BI Publisher (XML Publisher) added to the list of "free" Oracle products. Here are my reasons:

1. BI Publisher for everyone.

BI Publisher is fundamentally such a fantastic product that every organization and developer should benefit from it.

2. Remove the quirks.

The accelerated uptake from the "free" version would (hopefully) translate to the quirks of the product being identified and fixed in fraction of the time it would take for a paid expensive product.

3. Ease the expense.

BI Publisher bundled up in a package costing large $$$? I have trouble driving Oracle's online store at the best of times, and I can't find "BI Publisher Standalone" on its own - only bundled with other stuff I don't need or want, yet ;-) Try searching on "Publisher". Now making a free version would solve this problem - no license to find and buy!

4. It needs other technology to lean on.

In a similar nature to a plugin, BI Publisher doesn't stand on its own feet. Like APEX (needing the Oracle RDBMS) and JDeveloper (an IDE) it needs either someone to feed it or something else to connect to. If there is a free version its more likely that the other thing will be Oracle. Update: This point has been updated from the original post to clarify my use of "plugin".

5. It's a killer combo with APEX and XE.

The other "free" products - APEX and XE are natural integration partners with BI Publisher and the resulting combination is a awesome one. I see a number of people wanting this integration - but without the cost.

6. Raise visibility.

Although its been around for a number of years in various forms, the product on its own doesn't seem to be highly visible. Or is that just because of the quirks?! Making it free would bring visibility to new levels.

7. Beat the competition

Various other competitors exist, both in free and paid form. Making at least an entry level version of BI Publisher free would make it a viable competitor, and ensure Oracle customers lock into Oracle products taking out the chance of a competitors plugin being used.

8. Create Leads for Oracle

Oracle would benefit by having a greater stream of leads and support revenue.

Oops, that's 8, oh well, luckier than 7 for some ;-)

Post your support here!

Tuesday, September 02, 2008

XML / BI Publisher concurrent request fails with no error message? Check Output Post Processor (OPP) logfile for errors like: invalid char in text

So your Oracle Reports based concurrent request completed with warning and your concurrent request log file looks like this:

+------------- 1) PUBLISH -------------+
Beginning post-processing of request 1294502 on node XXXX01 at 02-SEP-2008 12:53:28.
Post-processing of request 1294502 failed at 02-SEP-2008 12:53:33 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+

And if you go to System Administrator, Concurrent > Manager > Administer, Query up "Output Post Processor", click on Processes, View Manager Log, you see something like:

[9/2/08 10:44:34 AM] [198325:RT1294354]
Template code: XXGLXXXX
Template app:  XXV8
Language:      en
Territory:     US
Output type:   EXCEL
[9/2/08 10:44:49 AM] [UNEXPECTED] [198325:RT1294354] 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:517)
 at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
 at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
 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:1657)
 at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:967)
 at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5888)
 at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3438)
 at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3527)
 at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:247)
 at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:157)
Caused by: oracle.xdo.parser.v2.XMLParseException: Invalid char in text.
 at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:324)
 at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:290)
 at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:266)
 ... 17 more
[9/2/08 10:44:49 AM] [198325:RT1294354] Completed post-processing actions for request 1294354.

You look at your XML file via View Concurrent Requests, Diagnostics, View XML. Then how do you find the invalid character?

Try loading the XML Data in BI Publisher Desktop Word Plugin (Data > Load XML Data), and hopefully you'll see something like the following that gives the details of where the error is occurring (of course without the smudges ;-):

In this case the "invalid char" is indicated by the square box.

Throwing that into a hex editor (part of the highly recommended PSPad) we see character hex 05 followed by the two periods (hex 2E):

Looking at our ASCII table we see 05 is Enquiry - but this isn't a printing character and so will be causing the problem.

Okay, so now we know what's causing it, we can just update the data to remove the special character, and run the report again without hassles!

Or we could write a wrapper PL/SQL procedure to remove the control characters from the affected fields and add to the Report definition SQL.

Or those of you with more problems that just one occurrence of the control character could log an SR and see if something can be done other than that referred to in Note:155078.1!

Wednesday, August 27, 2008

BI / XML Publisher Bursting fails with InvalidPropertyValueException for IPP_HTTP_RESPONSE_CHECK_INTERVAL

If you are attempting bursting and hit an error that looks something like the following:

[082608_022234429][oracle.apps.xdo.batch.DeliveryHelper][EXCEPTION]
oracle.apps.xdo.delivery.InvalidPropertyValueException: Invalid String property  value for Integer. 
Property name :[IPP_HTTP_RESPONSE_CHECK_INTERVAL], 
Property  value :[O]

Check out Metalink Note 603424.1!

Solution:

A patch containing a later version of the DeliveryHelper.java must be installed in order to resolve the issue:

  • Oracle E-Business Suite 11i The issue is encountered only when Patch 6470598 has been installed. This one-off patch has already been superseded by a new patch which included the fixed version of the DeliveryHelper.java. Patch 6470598 XML Bursting Reply-To Using From Instead resolves the issue.
  • Oracle E-Business Suite Release 12 A one-off patch on top of the 12.0.4 code level is required to resolve the issue: Patch 6482024 Bursting Engine Does Not Resolve OA_MEDIA. This patch is released under the terms of 'By Support' which implies that the patch is queryable on Metalink, but downloads of this patch requires a password. Please contact Global Customer Support to receive a password to download the patch.

Wednesday, July 09, 2008

Where do I get the XML file or request output file for my BI Publisher Report / Concurrent Request?

A quick post ... it's been a frenetic few months, so blog posts a bit thin lately but plenty of good stuff in the pipeline!

Generally when I'm designing a BI Publisher/XML Publisher report I'll create a concurrent program that generates XML, I'll follow the usual steps:

  1. Setup the concurrent program to output Text
  2. Run it to ensure its working
  3. Switch the concurrent program to output XML
  4. Run the concurrent program to output XML
  5. SFTP/copy the o*.out XML file from $APPLCSF/$APPLOUT
  6. Load it into Word via the BI Publisher Desktop plugin and design the layout "on the run".
  7. Setup the BI Publisher Data Definition/Template
  8. Perform system/unit tests

Is there an easier way to get the XML file from a concurrent request? Sure is - nice and easy through the front end.

Get the XML File from a BI Publisher based concurrent request/report:

  1. View->Requests
  2. Find the request you're interested in
  3. Click on Diagnostics button
  4. Click the View XML
  5. Save the file to your PC by doing File->Save As, *.xml

But where does the XML file live?

Well, by default it is $APPLCSF/$APPLOUT/o{REQUEST_ID}.out.

But if that's the XML file, then where does the actual output file reside as the location of the XML file is where normal request output resides?

Get the Request Output File for a BI Publisher based concurrent request/report:

The output is $APPLCSF/$APPLOUT/{REPORTNAME}_{REQUEST_ID}_{COUNT}.PDF|RTF|EXCEL|HTML

Where

  • REPORTNAME is the concurrent program short name,
  • REQUEST_ID is the concurrent request ID
  • COUNT is a counter based on the number of times a request has been re-published.
  • One of PDF, RTF, EXCEL, HTML is the file extension/type dependent on the output formats chosen.

An example is: XXXX_FNDSCURS_2803880_1.EXCEL

Output file location courtesy of Tim's post here.

Cool, file locations identified!

 

Tuesday, April 15, 2008

BI Publisher + Release 12 Known Issues on Metalink

Quick pointer to a handy note on Metalink. I think it's excellent for Oracle to keep known issue lists and troubleshooting guides up to date.

Oracle XML Publisher Release 12 Known Issues

Some of the key issues that I think deserve reference as I've seen posts on the Oracle forums / public blogs about them:

12.1. Decimal Numbers and Rounding with BI Publisher syntax

Rounding Issue When Adding Decimal Numbers

As Oracle XDK conforms to XSL standards for IEEE 754, you might encounter rounding issues when adding numbers that are decimals. For example, suppose you add 13683.80 and 516.39, using this syntax in Oracle BI Publisher:
<?13683.80 + 516.39?>
The value returned is 14200.189999999999 which is caused by a limitation based on the IEEE 754 Binary Floating-Point-Arithmetic.

To work around this issue, use the format-number function or the round syntax as shown here to obtain a return value of 14200.19:
<?format-number:(13683.80 + 516.39);'D99'?>
or
<?(round((13683.80 + 516.39)*100) div 100)?>

12.2. XML Publisher Bursting "Request ID" parameter LOV values

Request ID Parameter LOV Not Populated for XML Publisher Bursting Report Program and XML Report Publisher Program

When you submit the XML Publisher Bursting Report Program (XDOBURSTREP) or the XML Report Publisher Program (XDOREPPB) you are prompted to select the Request ID for the data generation program. The LOV for this parameter is not being populated due to an incorrect profile option reference. You therefore cannot select the appropriate data file to complete the request.

See Note:404928.1 for details of workaround.

If anyone hits any other known issues not documented in the above note whether Release 11i or 12 related, please comment on this post, or ask Support to add it to Note:404928.1!

Wednesday, April 02, 2008

BI Publisher: How do I replace linefeeds, newline or carriage return whitespace / special characters

Over on the forums, one post came up that is usually a quick answer.

How do I replace newlines (carriage returns or linefeeds) with a space? Well, with BI Publisher Template Builder things weren't exactly going to plan.

Basically you've got an XML element like this:

<sort_field1_inv>110
000
000
110000
0000
0000</sort_field1_inv>

And you want the output to be this: 110 000 000 110000 0000 0000

Should be easy. The 10.1.3.2.0 documentation for xdofx has replace function for replacing strings. Only problem is no mention of special characters. Doh! Okay, just throw in the chr(10) function and should be fine.

So let's try it out:

<?xdofx:replace(SORT_FIELD1_INV,chr(10),' ')?>  

Uh-oh: lovely error message on preview including:

oracle.xdo.parser.v2.XPathException: Extension function error: Method not found 'chr' 

Oh well, lets try some xsl magic similar to the following, including a bunch of variations not presented here!:

<xsl:value-of select='translate(/SORT_FIELD1_INV,"&#x20;&#x9;&#x10;&#x13;&#xD;&#xA;"," ")'/>

Nope, that didn't change anything, still newlines coming through.

Hmm, now what version of the BI Publisher Desktop Word Addin are on? In my case, a tad behind the times, but still matching the documentation that says chr should be available - 10.1.3.2.0 Build 87.

Luckily with Google, a ounce of Japanese reading ability, and of course Babelfish - found that 10.1.3.3.1 or higher would fix this.

So downloaded BI Publisher Desktop 10.1.3.3.2 from this page, uninstalled 10.1.3.2.0, installed 10.1.3.3.2 and now its all go, solution is as previously:

<?xdofx:replace(SORT_FIELD1_INV,chr(10),' ')?>  

Sorted!

UPDATE: Since the eBusiness Suite is still on 5.6.3, the above solution does not work. Here is an alternative solution:

<fo:inline linefeed-treatment="treat-as-space"><?SORT_FIELD1_INV?></fo>

On with it!

Wednesday, March 26, 2008

BI Publisher EBS Bursting 101: A tutorial/case study including Bursting Control File to email Suppliers Remittance Advice in 1 easy step

Here's a brisk case study into the power of core BI Publisher functionality in combination with the Oracle eBusiness Suite with a focus on Bursting.

The requirement here is to send Suppliers their Remittance Advice via email with a pixel perfect PDF attachment, of course with minimal coding. I'm limiting the functionality to email remittance advice for EFT payments in order to simplify this tutorial. Plus there are some coding shortcuts - your're more than welcome to provide free code fixes if you can spot them ;-)

Test Data

Firstly, lets look at the test data ingredients used:

  • 1 Supplier: say "Virtuate"
  • 1 Supplier Site: say "WELLINGTON" with Remittance Email address entered, Payment Method = EFT, Bank Account assigned
  • 2 Invoices for the Supplier say INV0001, INV0002
  • 1 Payment Batch say BURST_01 where payments have been made and payment batch confirmed

XML Data Source

Now, we need to create the Separate Remittance XML file somehow. Rather than reinvent the wheel, I started with a stock standard Payables Separate Remittance Advice report (APXPBSRA.rdf), and did the following:

  1. Setup a new concurrent program definition by copying the existing one, renaming, changing the executable, changing output to XML
  2. Added the new concurrent program to Payables "All Reports" request group
  3. Copied the report definition $AP_TOP/reports/US/APXPBSRA.rdf to a new report XXV8_APXPBSRA.rdf under modifications top directory
  4. Spiced up the new report with a couple of extra fields (Remittance Email, Fax number, etc)
  5. Restricted the data returned to only Suppliers Sites with a Remittance Email address (take this out later for fax/print etc).
  6. Restricted the data returned to only payments with payment method of EFT (checks have their on remittance advice).
  7. Ran to get the XML output. Note the <APXPBSRA><LIST_G_SEL_CHECKS><G_SEL_CHECKS> structure, we will use this later in the Bursting Control File
  8. And of course hacked the XML output - cut'n'paste style to add more data rather than having to key it (an additional supplier and invoices). Note this technique includes overwriting the output file $APPLCSF/$APPLOUT/o{REQUEST_ID}.req and follows the principles in my post on masquerading one request as another.

Layout

Okay, that sorts out the base report and data, now onto the fun stuff with a few screenshots:

  1. Create a new pretty RTF layout template
  2. Register the Data Definition
  3. Register the Template
  4. Run XML Report Publisher on the request that produced the prior XML data, and all lovely!

Bursting

Righto, now onto the Bursting part. We're going to:

  1. Create a Bursting Control File to email Suppliers
  2. Upload the control file to the Data Definition
  3. Test it out by calling the XML Publisher Report Bursting Program
  4. (Optional) Extend the Report to automatically submit the Bursting program

At this point please make sure you have done the following EBS bursting prerequisite steps:

  • (Optional, but highly recommended) Upgrade to 11.5.10.2 / XMLP 5.6.3 or higher (ATG RUP5 or higher is nice)
  • Apply 5968876 XDO:EBS-BURSTING INTEGRATION PATCH
  • Restarted your applications processes - or the button to upload your bursting control file won't appear!
  • Set the Temporary Directory under XML Publisher Administrator, Administration, General - to e.g. /tmp, or you'll get error message:
    java.lang.NullPointerException at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.getSystemTempDirectory(JCP4XDOBurstingEngine.java:413)
  • Assign Concurrent Program "XML Publisher Report Bursting Program" to the appropriate Request Group, e.g. "All Reports" / Payables
  • Make sure you have an SMTP server that you can send your email through!

Bursting Control File

Next, lets get into the Bursting control file and look at it a bit closer:

1. Create Bursting Control File to email Suppliers custom Separate Remittance Advice

<?xml version="1.0" encoding="UTF-8"?>
<xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
<xapi:request select="/APXPBSRA/LIST_G_SEL_CHECKS/G_SEL_CHECKS">
<xapi:delivery>
<xapi:email server="smtp.yourdomain.com" port="25" from="youremail@yourdomain.com" reply-to ="">
<xapi:message id="${C_CHECK_ID}" to="${C_REMITTANCE_EMAIL}" cc="yourcc@yourdomain.com" attachment="true"
subject="Virtuate - Remittance Advice for Payment ${C_CHECK_NUMBER}"> Please find attached Remittance Advice for payment ${C_CHECK_NUMBER}. Regards, The Payables Team Virtuate Limited
</xapi:message>
</xapi:email>
</xapi:delivery>
<xapi:document output="Remit_Advice_${C_CHECK_NUMBER}" output-type="pdf" delivery="${C_CHECK_ID}">
<xapi:template type="rtf" location="xdo://SQLAP.XXV8_APXPBSRA.en.US/?getSource=true" filter=""></xapi:template>
</xapi:document>
</xapi:request>
</xapi:requestset>

Hmm, what does all this jargon in the control file do? Well, here's a pretty picture that explains a lot of it:

2. Make sure it all works ... gotta make sure its the right flavor!

Navigate into Payables, Submit Request, XML Publisher Report Bursting Program, and specify the request from your last custom Separate Remittance Advice request.

Hey presto, take a look at your email:

Check the output:

3. (Optional) Extend the Report to automatically submit the Bursting program

Automatic Burst

Now, we don't want to have to manually (or via request set) submit the Bursting program every time we run the report, so let's automate that. By putting a parameter on the new Separate Remittance Advice report to control whether we Burst, and submitting a new request in the after report trigger, we can achieve this. We'll implement this is a similar fashion to my post on Beautiful Statements in 1 Easy Step.

So lets do this:

  • Add parameter P_BURST to report and concurrent program definition (Yes/No).
  • Add code to after report trigger.
      declare
        v_req_id number := 0;
      begin
        if nvl(:p_burst,'N') = 'Y' then
          v_req_id := xxv8_xmlp_burst_pkg.submit_request_burst('XXV8_APXPBSRA',:p_conc_request_id);
          if v_req_id > 0 then
            srw.message(20002, 'Submitted request_id ' || v_req_id);
            commit;
          else
            srw.message(20002, 'Failed to submit request');
          end if;
        end if;
      end;
    
  • Create PL/SQL package to do the submit of Bursting Program.
    create or replace package XXV8_XMLP_BURST_PKG AUTHID CURRENT_USER AS
      function submit_request_burst
      ( p_code in varchar2
      , p_request_id in number
      ) return number;
    end XXV8_XMLP_BURST_PKG;
    /
    
    create or replace package body XXV8_XMLP_BURST_PKG AS
    function submit_request_burst
    ( p_code in varchar2
    , p_request_id in number
    ) return number
    is
      l_req_id number := 0;
    begin
      if p_code = 'XXV8_APXPBSRA' then
        l_req_id := fnd_request.submit_request('XDO','XDOBURSTREP',NULL,NULL,FALSE,
                                               p_request_id);
      end if;
      return l_req_id;
    end submit_request_burst;
    
    end XXV8_XMLP_BURST_PKG;
    /
    
  • Test it all out!

Sweet, all automatic, working and ready for the primetime!

Issues

But let's note a few issues to look out for.

  1. I'm not very happy about "hardcoding" the SMTP server details in the control file. Would be great if BIP honoured either the Workflow SMTP setup or database smtp_server parameter. However, since the control file is in a structured data field in the database shouldn't be hard to write a script to update them all. Left to a future exercise though!
  2. I'm not very happy about "real" emails being delivered from Test/Development etc. environments. Would be great if BIP honoured the "Test Address" workflow parameter. Left to a future exercise, also related to issue Issue 1.
  3. Resolving items higher up the XML tree seems to be an issue with bursting in that they drop out and the solution as in my post on disappearing parameters doesn't work. Update: This functionality seems to be a known issue. Enhancement Request 6969869 has been logged for this issue. Thanks Lavina! In the meantime looks like XSLT transformation would come in handy, but that's a separate post!
  4. Minor issue that layout is not applied to the Bursting Request so no output, but can just run XML Report Publisher over it.

References:

Thanks to Dilip for the suggestions and request to put this together.

NB: In this tutorial I used Payables (SQLAP) as the application under which I register the new concurrent program and subsequently BIP Template and Data Definition, but custom Virtuate application for concurrent executable. This is to make the tutorial a working example without additional setup. You may want to use your modifications or similar custom application for all new entities.

PS. This Remittance Advice email bursting solution is an alternative to the standard Workflow Remittance Email solution.

PPS. If this all seems to hard and you are interested in BIP or Workflow Supplier Remittance Advice Email/Fax solution as a Consulting solution, contact me - see my Profile for email address.