Monday, February 25, 2008

What is the data template?

Some of you may be using an Oracle .rdf to generate your BIP reports and then attaching a .rtf layout template to it. This may be fine for your business needs at this point, but what if you could improve your report run time by 30-40%? That sounds nice, doesn't it? Well, if you were to use 'pure' BIP (which means writing your reports in XML) then it could happen. Of course every report is different, but you are putting less work on the BIP execution engine this way. This means that you have to take some time to explore XML if you don't already know it, but in the end it may speed up your reports.

The data template is how you communicate your request for data to the data engine. You write this data template in XML and the elements that you create define how the data engine will process the template and generate your XML output. A shell to create a data template looks like this :























The data template has a parameters section, a dataQuery section and a dataStructure section. Within each section there are elements. Below is a list of the elements

dataTemplate - required : declares that the xml you are writing is a dataTemplate to be used as your report.
parameters - consists of 1 or more child elements
parameter - the name of the parameter referenced in your dataQuery
lexicals - consists of 1 or more lexical elements to support flexfields
lexical - the 4 types are KFF segments, KFF, KFF where and KFF order by
dataQuery - where you write your sqlStatement elements
sqlStatement - a SQL query
link - where you link your sqlStatements together as a parent-child relationship
dataTrigger - the trigger and the event associated with it
dataStructure - required when writing and linking multiple queries
group - consists of 1 or more element elements
element - the tag name assigned to the element in the XML output

Those are the pieces of the data template that you will need to know.
In tomorrow's post, I will give you an example of a data template that is passing a parameter from a concurrent program.

2 comments:

Greg Partenach said...

HEY BIP Girl, you've dissappeared (under a pile of work and a real life I bet!)..

Don said...

I am having a problem getting data back from JD Edwards. Even thought the data shows up in the table in date format 00/00/0000 the data is returned through BIPublisher as a Julian date. I have tried multiple times to convert to a date but have no luck. Any suggestions?