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
Comments (3)
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
Posted by John Banks | July 25, 2008 4:53 PM
Posted on July 25, 2008 16:53
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
Posted by Tim | August 4, 2008 9:28 AM
Posted on August 4, 2008 09:28
John,
Tools release 8.98 supports bursting and sending to distribution lists.
regards,
jeff
Posted by jeff blankenship | August 13, 2009 7:27 AM
Posted on August 13, 2009 07:27