Back to Main Page |
Today's posting is my attempt to share with you problem that I eventually resolved, but not without a lot of time and frustration! I hope that by sharing it with you, I can spare you the same ordeal!
The starting point here is a layout template that worked perfect in the Template Builder but which failed to produce any output when I ran it in the E-Business Suite concurrent manager. This is not a case of the production data containing an error that did not exist in the sample data -- this situation occurred in the Concurrent Manager when run against the exact same data that completed successfully in the Template Builder.
Unfortunately, the Concurrent Manager did not end an error. I did not see the familiar Red or Yellow condition that usually indicates an error. The first clue that I had that something was amiss was when I attempt to view the report and then saw the two alerts shown at right: |
In the end, it turned out that the error was caused by an XSL-FO error that theTemplate Builder did not catch. But before I explain that part, I want to walk through how I finally figured that out because the techniques might come in handy for some other problem that you are trying to track down in the future.
As I said, from outward appearances, it looked> like my report had been successful. The only clue I could find
as to why the application could not find my report was this message in the log file:
Beginning post-processing of request 2775358 on node HRDEV02 at 24-JAN-2008 12:48:25.
Post-processing of request 2775358 failed at 24-JAN-2008 12:48:52 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
So, as I set out to resolve the issue, the first stumbling block I faced was, “What in the heck
is the OPP service log?!” From my college days, I could remember a rap song called "OPP" by 2LiveCrew (remember
Luther Campbell?), but I don't think this problem had anything to do with that -- and this blog is rated G anyway!
("Other People's... Publisher?" Hmmmmmm) After a little bit of poking around on Google, it turns out that OPP in this
case is the Output Post Processor, and you can use this simple query to locate it for any XML Publisher
concurrent request:
SELECT fcpp.concurrent_request_id req_id, fcp.node_name, fcp.logfile_name
FROM fnd_conc_pp_actions fcpp, fnd_concurrent_processes fcp
WHERE fcpp.processor_id = fcp.concurrent_process_id
AND fcpp.action_type = 6
AND fcpp.concurrent_request_id = &con_req_id
Armed with that information, I was able to find the log file. On our system, the file returned by the query was named "FNDOPP75246.txt". That log file actually contains the details from more than one concurrent request, so you’ll have to read through it to find the information specific to the request you are troubleshooting.
Ultimately, I found a message like this one:
[75246:RT2775358] oracle.apps.xdo.template.fo.area.NoAvailableAreaException: The value of either leader-length or rule-thickness proprty is too large.
As I said, the file contains log information for lots of post-processor activities. I was able to tie that
log message to my process because the concurrent request id is thre second of the two numbers in the brackets at
the beginning of the message. (The first number is the same number that appeared in the file name and I think that
it's the UNIX process id.)
So, what was that message telling me?
The first bit of good news was that the word "property" is misspelled in the error message which makes it really easy to get an exact match when you paste the text of the error into a search engine. I quickly found out that it meant that I had a leader or rule formatting object that was taking up too much real estate. It turned out that the margins on my footer were out of synch with the size of footer on the page. Specifically, I had some information in the footer that was right-aligned, and because the right edge of the footer was further right than the margin tab setting in my document, the formatter tried to place the text further right than the properties that had been set up for the document would allow. I have illustrated the concept below.
The error I encountered certainly was tricky and difficult to figure out, and I hope that this page saves someone else the same distress that I endured. However, the real lesson that I want to impart in this posting is the troublshooting technique of locating and using the OPP log to resolve your problem.