Ruby and SAP

I was browsing through SAP Developer Network, when I came across this interesting blog: Interfacing data into BW using Perl, Ruby, or Python. Well, being a "no longer active" open source advocate, I love the idea of being able to interface data into BW using open source tools.

What better tools to use then the language of ruby, the birth mother of the "super framework" of the almighty "Rails". FYI, Rails is a framework to develop web applications in super-fast time and less-codes. Well that's the promise anyway. Also, developing AJAX enabled web application is a breeze.

So, without wasting time, I installed ruby using the Ruby One Click Installer and installed mysql for database. I created some mockup data to simulate data load to BW and these are my assessment:
  1. Method is only feasible for delta loading, as it uses XML-SOAP interface to load data into BW.
  2. Before creating XML datasource, you have to create a "mockup" Flat File datasource. The generated BW XML datasource will be created based on this flat file comm and transfer structure.
  3. When creating the Info Package based on the generated datasource, under "update" tab, choose "Initialize Delta Process" and "Initialize Without Data Transfer".
  4. Schedule the load. Now under RSA7, your delta queue will be there.
  5. Now create another infopackage, choosing "Delta Update".
  6. Everytime data is available in the delta queue, the data will be loaded to the data target when the scheduled delta update info package take place.
  7. Infocube cannot be used as a data target for this XML delta update. Instead use an ODS which can push the data to an infocube later.
  8. 0RECORDMODE is a necessary field in the transfer structure for this delta process.

And yes, it works folks! So, if you need interfacing to some unknown proprietary system, this is one way to solve it. Bravo Piers for a job well done!