There are a lot of different options to connect with a SAP system from Kettle. It was back in 2009 were I tested the functionality to access a SAP BI system via Webservices (XML/A) and here are my (historic) findings:
To analyze the result of the MDX query with Kettle is complicated (you need for every number of columns a separate transformation) but is possible. In these days other Pentaho frontend tools are able to process this direct via OLAP4J. I tested this with the Webservices step (using Basic Authentication) and for specific usecases this would be an option. Further development brought the OLAP Input step and this simplifies a lot and was tested successfully.
Here are some further information that might be of help for setting this up:
For the XML/A interface the following webservice should be switched on in transaction SICF:
XMLA has two methods
Discover – This method is used to query metadata and master data (this corresponds to the BAPI MDDataProviderBW).
Execute – You can execute MDX commands with this method to receive the corresponding result set (this corresponds to the BAPI MDDataSetBW).
Description of the service can be reached by: <Protocol>://<Server>:<Port>/sap/bw/xml/soap/xmla?wsdl
For XMLA with SAP BI you have to create MDX commands generated from the metadata you receive from the system.
Below is transaction MDXTEST in SAP BI to test MDX query on a SAP BI infoprovider or query:
[Measures].[ZKFHRFTE]} ON COLUMNS,
[0EMPLOYEE].MEMBERS ON ROWS
Some syntax templates are available in the MDX test editor.
Another service that is available is to get data directly from a query or query view. The service has one method: GetQueryViewData
Go to SICF and activate this web service: /sap/bc/srt/rfc/sap/QUERY_VIEW_DATA
The output will be in format of Datasets: AXIS_INFO (Metadata description of the characteristics, attributes, and structures on the axes), AXIS_DATA (Characteristic values, attribute values etc.), CELL_DATA (Value cells: The cells are arranged by row first, and then by column), TXT_SYMBOLS (Text elements for the query).
Unfortuneatly all screen shots or data samples I have are from a real system but I hope some of the information given here are useful nevertheless to set up the SAP side.
Update: SAP Recommends using Enterprise Services aka web services to access the functionality remotely. Further information can be found over here: