X

An Oracle blog about BI Publisher

JDE XML Fun and Games

I have been helping a JD Edwards customer over the last few days. Nothing too tough but the XML that JDE spits out can have its own 'issues'. In JDE you can use their App engine to generate reports, a UBE. It has been modified to spit out XML too but the structure can be a bit daunting.

Here's a PO XML structure:

<R5543500>

<Properties>

<Purchase_Order_Print_S42_Column_Headings>

<PageHeaders>

<Purchase_Order_Print_S42_Group>

<On_Ship_To_S45>

<OLN_S47>

<Purchase_Order_Print_S42>

<Grand_Total_S50>

<Buyer_S51>

Not too bad on the surface but the XML is generated in 'pages' - the engine in its former use generates the layout of the report in a page fashion for the rendering engine to generate the output.

This means things can get a little funky in the template because we dont care about pages in the data - the BIP rendering engine will handle all that for you.

Mac at GW Electronics has been getting to grips with RTF templates and the XML, he had also started down the path of using XPATH to navigate around the XML to get the data he needed for various parts of the report.

He had also alighted on the use of our updatable variables to help get the right element. He had things like:

<?/R5543500/Purchase_Order_Print_S42_Group/On_Ship_To_S45/OLN_S47[xdoxslt:get_variable($_XDOCTX, 'x')]/DescriptionLine2_ID24?>

where the variable was being updated as the template looped over the XML groups. It was not working very well. It's nasty and will come at a cost, albeit a small one.

Im not a fan of our updatable variables - talk to an XSL purist and they will tell you we have committed blasphemy for providing them in our engine. My beef with them is that they are too verbose and expensive in terms of resources.

Looking at Mac's template and having the benefit of having a decent XML editor (XMLSpy) on my machine I was able to spot that he could use.

<?../DescriptionLine2_ID24?>

To get to the same data item - much simpler no? The takeaway from this? Arm yourself with a decent XML editor - and learn the data structure you are working with. XMLSpy will cost you but there are others out there that can help with working out navigation paths through the XML and stay away from those updateable variables if you can

Join the discussion

Comments ( 8 )
  • John Banks Friday, July 25, 2008
    We are in the early stages of implementing BI Publisher for J.D. Edwards (Enterprise One 8.12 tools 8.97). Currently, we are using a software product from a third-party vendor, whom shall remain nameless at this point. Nevertheless, their product will read variable meta-data in a PDF file, parse it, and deliver a PDF to multiple locations simultaneously including, e-mail, print, and a network folder. I know BIP will deliver a PDF file to a printer and an e-mail address, but will BIP deliver a PDF file to multiple e-mail addresses and to a network folder?
    Best regards,
    JB
  • Tim Monday, August 4, 2008
    Hi John
    BIP supports 'bursting' of documents to multiple delivery channels. The currently JDE implementation does not include this thou. they are planning a release pretty soon to enable this feature out of the box for JDE.
    Until then you could investigate the core bursting APIs that we provide and create your own custom solution.
    Tim
  • jeff blankenship Thursday, August 13, 2009
    John,
    Tools release 8.98 supports bursting and sending to distribution lists.
    regards,
    jeff
  • Sergei Tuesday, February 23, 2010
    Does 8.98 tools release support delivery to a folder?
  • Anton Bue Tuesday, April 27, 2010
    Well, I *have* to leave a comment in this thread.. Well put :)
  • Kitty Tuesday, July 20, 2010
    Adding to my bookmarks thanks. Needed more pictures though.
  • never fail list building system Sunday, August 22, 2010
    Staggering blog post bro. This kind of is just a extraordinarily nicely structured write-up, just the data I was looking to find. I am truly thankful
  • Giovanni Leisch Tuesday, October 19, 2010
    For every one page that worked, I probably have 10 that did not
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.

Recent Content