Keeping Paragraphs Together

Tim Dexter | Oct 10, 2008 18:30 -0600

I have been trawling through our documentation lately. Looking for something else I came across something that I have been asked for lately. The need to keep paragraphs of text together!
This functionality was actually delivered back in 10.1.3.3.3, here is Leslie's prose ...

Support for "Keep Paragraph with the Next Paragraph"

The RTF standard includes a command that enables you to "keep a paragraph with the next paragraph." This command prevents a page break between the paragraph for which it is enabled and the following (or next) paragraph.

To enable "keep paragraph with the next paragraph" in Microsoft Word:

  • Select the paragraphs you want to keep together on a page.
  • From the Format menu, select Paragraph, and then click the Line and Page Breaks tab.
  • Select the Keep with Next box.

Keep Paragraph Intact
The RTF standard includes a command that enables you to keep all the lines of a paragraph together ("keep paragraph intact") and prevent the paragraph from breaking across pages.

To enable "keep paragraph intact" in Microsoft Word:

  • From the Format menu, select Paragraph, and then select the Line and Page Breaks tab.
  • Deselect the Keep lines together check box.

So now you know ...

Oracle Report Migration

Tim Dexter | Oct 7, 2008 15:50 -0600

I have had a coupe of mails asking where I am? Im here, I took a week away from writing for the blog - needed a rest and some time to think about a bigger, paper based project :0)

I put together a viewlet last week for a colleague on how the Oracle Reports migration library can be used - its now residing in the demo catalog here or you can access it directly here.

I used a fairly simple Oracle Report but I think it covers the 'can' and 'can't' of the migrator. I'll say right here, its not magic, it will not transform all of your report pixel for pixel, format trigger for format trigger but it gets you a long way down the road.
For the BIP uninitiated I also put together a Oracle Reports to BI Publisher presentation that you might find useful. You can get that here.

Would be interested in feedback on the tool - there is a more 'souped up' version in the works that will turn your report to tomato or chicken noodle!

Got a 10.1.3.4 Upgrade Issue?

Tim Dexter | Sep 30, 2008 14:50 -0600

Over the past week I have received a few mails concerning a problem in some 10.1.3.4 upgrades. They all seem to be related to a full BIEE upgrade rather than a BIP upgrade. the dev team are still investigating as it seems to be hard to reproduce, but just in case you are out there suffering ... we have a solution.

If you have specifically chosen to upgrade in the installer process and find that you can not get into the BI Publisher server interface after upgrading to 10.1.3.4. Trying either from the More Products > BI Publisher link in BIEE or going directly to the BIP server you get a user security error. You will hopefully have hit an issue that was found today. The fix is simple enough, it looks as thou the /Admin/Security/security.xml file contains some incorrect entries. The sample file we saw today had the following:

<folderPermission>
  <allow path="/Business Intelligence" />
  <allow path="/Executive" />
  <allow path="/Financials" />
  <allow path="/HR Manager" />
  <allow path="/Marketing" />
  <allow path="/Sales Manager" />
  <allow path="/Supply Chain Management" />
  <allow path="/Training" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Business Intelligence" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Executive" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Financials" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/HR Manager" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Marketing" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Sales Manager" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Supply Chain Management" />
  <allow path="D:/OracleBI/xmlp/XMLP/Reports/Training" />
</folderPermission>

The entries in red are incorrect. Just simply remove them from the file, save it and bounce the server and all should be well. Investigations are ongoing to check why they entries were in there and as soon as I have some confirmation I will let you know.
If you have hit this issue, can you share the OS and platforms you upgraded on. The install.log file located at $BIHome/BIServer/log would be very useful along with the steps you took during the install, if you can remember.

OOW Thursday & Label Printing

Tim Dexter | Sep 29, 2008 13:40 -0600

I know, it's Monday, what happened on Thursday? A hectic morning on the demo grounds is what, lots of folks wanting to know more about BIP for Apps and lots of 'follow the leader' to get the folks interested in standalone or BIEE BIP through the demopod maze to get to the standalone pod and vice versa.

Here's what I mean, you can see the BIP for Apps pod on the right hand corner (great location, thanks Nadia) and the BIP Standalone pod circled on the left.

DemoPod1.jpg

Do you take the easier route 1 or go for the more scenic route 2? Route 2 is more fun, but fraught with the imminent danger of losing the 4 people trailing behind you, as you move through the crowds of people around the intermediate pods. We should have had a sign on a pole that we could carry above our heads to ensure folks knew where we were and could not get lost. OK, I have beaten that train of thought to death but you get the picture - it was busy!

During the week, Wednesday I think, I bumped into Rick Pollina from Arrow Electronics. A hot topic recently has been getting BIP content to label printers, whether they be Zebra, Intermec or others. Im hoping to get an entry out on a more 'conventional' approach soon, but Rick came up with a neat solution - eText templates.

For those of you that have not come across eText templates yet, they are another template type, built in MSWord but are for 'electronic' output e.g. EDI messages or EFT - basically position or delimited based content. In recent months I have seen folks using them to generate flat file output - not what they were designed for, but they work.

I'll let Rick explain the problem and their final approach:


The first approach the team was working used BI Publisher loaded with the proper barcode fonts and would generate a PDF that looked exactly as the label would print. They were then going to use a PASTA driver to convert the image to postscript and send it to the ZEBRA printer that accepts postscript.) Basically this approach eliminated the need for ZPL coding and just send an image to the printer. For some reason they were not able to get this to work, not sure why as it appears the old ZEBRA printers seem to accept postscript. (Tim: this is the conventional approach, I had not heard that Zebra could accept PS, the solution we have worked on finally generates a Raster image of the label that Zebra supports)

The alternative approach and the one we ultimately chose was to build the template with the ZPL code's embedded in the template and send the RAW text image to the ZEBRA printer. On a Linux/Unix platform you define the printers as RAW and you can run it through CUPS or local define the printer. On windows you can probably setup the printer as Text, although I did not try this.

Attach find the sample template I built using etext format supported by BI Publisher. I choose this over native XSL-FO template (also supported by BI Publisher), because the development team was already using ms-word for the development of all their other templates.

To view the template as it would be created you need to install the BI Publisher desktop (free download from Oracle) and use the template viewer--but you probably new this already :)

The advantage to this approach is that the new ZEBRA printers are Accepting XML and the old ones like we have still require ZPL so you can account for both types with the same SQL and a different Template.

I also noticed that ZEBRA got an award here this week along with presenting. It looks like they already have a nice design tool that they could probably extend to produce the XSL-FO that can be used for the template. (looks like they already support SAP through there smartform client tool to design labels.

You can get the sample files Rick kindly provided here.

To fill in the gap you might have spotted, 'how do I know the ZPL format?'
Rick used the label creation application that Zebra provide with their printers to build a label layout, more information available from Zebra - I'll try and get more info on this for you. He then exported it to the ZPL format and then built the eText template to create the skeleton of the ZPL and filled in the data items. not for everyone I know but it was a quick and straightforward solution and still leverages the one data source, multiple layout templates mantra that I keep pushing to all of you.

OOW Wednesday

Tim Dexter | Sep 25, 2008 03:50 -0600

Another busy day on the demogrounds, or at least a morning for me. I got to slope off for 2 hours at the Meet the Experts session at the Applications Lounge. Apparently, Im an expert, and folks value my input - thanks to those of you that came. Apologies, to Helga from Deloitte, whose notepad I drew all over trying to explain how Publisher worked inside Siebel CRM. I think it helped.

After the MTE session and break for some food and a quick visit to the JDE and PeopleSoft reporting demopods. I got to see Mikhail from the PeopleSoft dev team in full flight, sadly he spotted me and tolds the folks he was talking to, to emial me if they had questions.Then it was off to the Unconference session, where I stumbled through a more complex template. Apologies to all - after the session I realized I had opened a completely mangled Invoice template - hence the confusion on all the for-each's.

The day wrapped up back in the demogrounds and on the phone to try and procure a wrist band for the evenings entertainment. That in hand I got over to Treasure Island to check out the music. Seal was great, took me back to my youth.

Seal.jpg

Bit blurry but we were dancing!

Then to UB40, these were/are a reggae band from the 80s, I think alot of folks were a little bemused by the beat. When they opened their set they had a great Publisher back drop.

UB402.JPG

The first PDF template, probably around before PDFs had even been thought of. The UB40 form was a form you filled out every week to explain that you had not worked and could rightfully claim unemployment benefit in the UK.

ub401.jpg

If the form were around today, it would a prime candidate for either using as a template or for data entry!

OOW Tuesday

Tim Dexter | Sep 24, 2008 00:30 -0600

Nearly half way through ... phew! I have not seen this many people since last years OOW. Now that we live out 'in the sticks' and rarely visit downtown Denver seeing this much huanity at once is a bit of a shock. Now I sound like some country hick, but it it pretty quiet where we live, blink and you miss it.

Attended a full session on JDEdwards E1 and Publisher this morning. Publisher was billed as 'Oracle's best kept secret'. To a large extent I have to agree - poling the attendees at my session last night, nearly half the room had only just heard of Publisher. I feel a little guilty trolling out the same old intro slides but the majority of folks are still wanting to learn about it. Tomorrow, I rectify things a bit and I have a session at the 'Unconference.'

For the uninitiated, its held outside of the main rooms, projector, microphone(I think) and your laptop and how ever turns up. Im going to try and get into some of the more advanced techniques in templating and anything else folks want to cover. Hope to see you there with some goodies to give away - Moscone West 3rd Floor Overlook I.
If you have more generic questions, Im at the Meet the Experts session from 12-2pm Moscone West 2nd Floor Lobby - Section 2

This afternoon was spent on the demo grounds switching between the Publisher for Applications and the Enterprise pods. Very busy with lots of questions. Here's the worn out Applications pod gang.


DemoPodCrew.jpg

Thats Bogeon 'the Patchman' Kim, Kevin the I've had a little too much coffee, Support Meister McDermott and Noelle 'the Fixer' Bartlam. Sorry about the photo guys and gal - I blame the camera! Kevin was 'in da house' this afternoon giving demo after demo ... awesome stuff. He's here all week, so come on by and catch a performance.

OOW Monday

Tim Dexter | Sep 23, 2008 08:50 -0600

A hectic Monday, a morning on the demo grounds and an agonising afternoon getting ready for our 5.30 dinner appointment, sorry Publisher session. I think it was too late in the day, I could hear stomachs rumbling from the stage.

The spot we have on the demo grounds is prime real estate, we are right on the front of the demo section at the end of the main walkway into the exhibition hall - you can not miss us and yoiu have no excuse not to come and say Hi! In the south hall we have EBS and a standalone demo pods. Over in the West hall you'll find JDE, PeopleSofy and Siebel pods - yep, Publisher is taking over!

Other than the session being late, its went OK. Somewhere between my hotel room and the room my presentation managed to mangle itself completely. I'll et that cleaned up and posted here soon.

We had a good mix of folks, majority of you still EBS but a good smattering of JDE, PeopleSoft and Siebel bippers. You all certainly seem to be 'maturing' in your use of Publisher with many folks now live and generating some of the tougher documents that you need, Im talking check printing, invoices and purchase orders.

Special mention to Lisa, Lisa volunteered as a complete newbie to come up on stage and build a template with a little help from Noelle. She finished way faster than I expected and proceeded to tell the audience 'how simple building templates' was, a bit like 'mail merge' AT this point I have to say, I did not know Lisa, did not pay her, etc - she got a cool t-shirt for here trouble thou!

Tomorrow I have scheduled an Unconference session @3pm on 3rd Floor Moscone West - I have some t-shirts left so come, if not for the session, on advanced templating, then for the free shirt !

OOW Sunday

Tim Dexter | Sep 21, 2008 22:30 -0600

After a frantic week of preparation Im finally here in San Francisco, this year I get toi stay downtown, so no busing it in from the peninsular. The flip side is, lots of walking Im a good 10 blocks from the Moscone center but thats all good.

Arrived in Oracle town where even the pavements have Oracle blurb, the town has been truly painted red. There was supposed to be an OAUG XML Publisher user group meeting this afternoon, sadly it got canceled.

So we nade up for it by getting over to the APEX/Publisher hands on session at the Marriott.

ApexHandsOn.jpg

A nicely filled room with folks getting some experience developing and implementing Publisher reports with APEX.

Tomorrow, demo grounds and my session @5.30pm in Moscone West 2024 - still got plenty of room, so come on down.

Plenty of other BI related sessions worth checking out too.

11:30 am – 12:30 pm
S299587 - Introduction to Oracle Business Intelligence Publisher
Mike Donohue, Oracle;
Nick Psomas, Oracle
Marriott Salon 9
1:00 pm – 2:00 pm

S299155- Smart Reporting in Oracle E-Business Suite Financials
Amarnath Molugu, Oracle;
Mohit Saggi, Oracle
Moscone West - 2006
1:00 pm – 2:00 pm

S299581- Oracle Business Intelligence Road Map and Strategy
Paul Rodwick, Oracle
Marriott Salon 9
1:00 pm – 2:00 pm

S300603 - Oracle Business Intelligence Publisher Automation: Bursting and Document Delivery in E-Business Suite
Tim Sharpe, CD Group
Moscone West - 3003
4:00 pm – 5:00 pm

S300247 - Considering an Upgrade to Oracle E-Business Suite Release 11.5.10.2 or 12? Learn from a Recent R12 Upgrade
Teresa Kim, California Department of General Services;
Glenn Webb, Deloitte Consulting LLP
Moscone West - 3006

5:30 pm – 6:30 pm
S298463 - What's New with Oracle Business Intelligence Publisher: The Standard Reporting Platform for All Applications
Tim Dexter, Oracle
Moscone West - 2024

Focus On Publisher

Tim Dexter | Sep 16, 2008 13:10 -0600

With OpenWorld looming, Mike and his Product management team have put together a document on all of the BI Publisher related sessions going on next week.

With 25 sessions listed ranging from JD Edwards World integration to APEX BIP reporting there is sure to be something of interest to everyone.

Get the document here.

Would love to hear from anyone that's coming, leave a comment or drop me a mail. We can meet up and chew the fat!

Configure the Account Analysis Report in SLA/GL

Tim Dexter | Sep 15, 2008 10:40 -0600

Kevin 'Support Meister' McDermott dropped me a mail today. He has seen multiple service requests around the Account Analysis Report in SLA/GL, several folks are struggling in this area. So to try and help you to help yourselves and calm Kevin's SR queue, here's the solution.

In R12 the Account Analysis Report in applications Subledger Accounting
and General Ledger, have been completely written as XML Publisher programs. The data is extracted and generated into XML format using a Data Template extract via the JAVA program XDODTEXE.
The layout is then generated using the Output Post Processor concurrent manager. The problem for users of these reports is that they generate very large data sets so the Release 12 instance needs to be configured to handle these large programs.

A. Set the Scalable Option to on for these programs.
This prevents this error in the Subledger Accounting program's log:
Calling XDO Data Engine...
****Warning!!! Due to high volume of data, got out of memory exception...***
****Please retry with scalable option or modify the Data template to run in scalable mode...***
1. As System Administrator: Navigate to Concurrent->Program->Define.
2. Query up the report: Account Analysis Report
(do this for both the General Ledger and the Subledger Accounting program definitions).
3. Add a parameter:
ScalableFlag.
Value set should be yes_no
Default value should be Y.
Select checkboxes Enable and Required.
Do not select the check box Displayed, or users could turn this off at runtime.
Token needs to be ScalableFlag (this is a case sensitive value).

B. Configure the XML Publisher Administrator Configuration settings.
This prevents "java.lang.OutOfMemoryError" errors in the Output Post Processor log associated to the Subledger Accounting program.

1. As XML Publisher Administrator navigate to Administration->Configuration.
2. Under Temporary Directory pick a temporary file location on your concurrent processing node. This should be at least 5GB or 20x larger than largest XML data file you generate.
3. Under FO Processing:
Use XML Publisher's XSLT processor set to True
Enable scalable feature of XSLT processor set to False
Enable XSLT runtime optimization set to True

C. Configure the Output Post Processor's JVM.
These steps set the JVM to 2GB, depending upon your server's size you might find 3 GB (-mx3072m), 4GB (-mx4096m) or even 5GB (-mx5120m) is a better value. This setting prevents the error "java.lang.OutOfMemoryError: Java heap space" in the Output Post Processor's log associated to the Subledger Accounting Program.

1. Login to SQL*Plus as APPS.
2. SQL>update FND_CP_SERVICES set DEVELOPER_PARAMETERS =
'J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx2048m'
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = 'FNDCPOPP');
3. Bounce the concurrent managers.

D. Test the reports.

There you go, no excuses, no need for an SR you got it here from the 'horses' mouth, well Kevin's anyhoo.

Pad Your Reports

Tim Dexter | Sep 11, 2008 11:40 -0600

Im not talking about filling your reports with fluff. I can remember, mistakenly filling my high school essays with fluff and padding. Why use 5 words when 10 can say it more eloquently and fill the word count more quickly. Sadly, there was no pulling the wool over my teacher's eyes - just had to learn more facts!

I have just been helping out on a demo for a customer proof of concept. They wanted the following report output.

Padding1.jpg

Nothing fancy there on the surface, building the report is straightforward enough. We can get this output very quickly.

Padding2.jpg

But have you noticed in the original, there is some space after each set of categories.

We can achieve this by manipulating the 'padding' in the first cell of the row to effectively increase the height of the whole row. This increases the space between the last row of the group and the beginning of the next.

Just insert the following in a form field in the first cell:

<?if:LAST='Y'?>
<?attribute@incontext:padding-bottom;'10.0pt'?>
<?end if?>

The LAST element was in the XML to define whether the current member of a group is the last. You could equally use a position() based if statement, you just need to have some means of identifying the last member of a give grouping. The next line just manipulates the 'padding-bottom' attribute - here we are making it 10pts. This effectively provides us the row height we need to provide the spacing between the rows we need. There are of course other padding attributes:

  • padding-top
  • padding-bottom
  • padding-start
  • padding-end

XSL uses 'end' and 'start' rather than 'right' and 'left' for internationalization purposes. With the extra conditional field we can now generate the required output.

Padding3.jpg

this post kinda begs the question, 'how the heck do you know what you can manipulate?' Well there is the XSL-FO spec available, if you want to wade through it. Personally, I dont very often. My best friend is the Template Builder for Word -> Tools > Export > XSL-FO Stylesheet. this will dump your current RTF template into the browser. There you can check out whats going on in the template. Its not that tough - it's bit like complex HTML, there are tables, rows, cells, etc and each have attributes that you can override to your hearts content. Yes, you have to write some code at the moment, but the extra power in the formatting is worth it I think. I have not touched Oracle Reports (in anger) in a while but I can not think how I would achieve the layout above, not off the top of my head anyway. So get padding!