Static and Dynamic Data – SWF Airline Report

Loading dynamic query data via web services in an ABAP stack is not an option for the online environment this site is hosted under. But loading data via static XML files is always an option no matter the environment. Xcelsius needs to have the xml data formatted in a certain way and because of this Xcelsius itself was used to transform the web service query data into compatible xml data. The end result is a static xml file that gets loaded every time you view the online report.

Xcelsius has the ability to send and consume data via Data->Connections. Two of the available connections are web service based and xml based.

Web service connection
With a web service connection things are pretty simple because the web service definition WSDL provides all the info needed to send or consume data. Once the WSDL url is entered the input and output values the web service is capable of handling are automatically displayed in a tree like structure. It’s just a matter of mapping web service data to spreadsheet cells.

XML connection
Loading xml data is a bit more tricky. Xcelsius only accepts xml data under the following format:
<data>
<variable name="VAR_NAME">
<row>
<column>VAR_VALUE</column>
</row>
<row>
<column>VAR_VALUE</column>
</row>
....
</data>

This xml format looks like a column definition with one value on each row. Something like mapping an XML variable to a spreadsheet column.

Since Xcelsius can both read and write this format, you can load dynamic data via a web service connection and export it via an XML one. You can load local xml files by specifying absolute file path with the file://prefix but you can’t save directly to local files. Either you create a server side script capable of handling the xml content and saving it to a local file, or you can just catch the sent xml content via a Firefox add-on like Firebug and paste the content manually into an xml file.

This post is part of SWF Airline Report.

Leave a Reply

Your email address will not be published. Required fields are marked *