Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Correcting the SAP Business Connector

by DrHyde (Prior)
on Jul 29, 2003 at 08:22 UTC ( #278765=CUFP: print w/ replies, xml ) Need Help??

SAP has an "easy" to use tool called the Business Connector for querying your SAP system. You throw some XML at a URL, it does Java-ish things to poke and prod SAP, and gives you XML back. It - correctly - dies if you give it bad XML. Unfortunately, it returns broken XML itself. So I use a little shell script to fetch the data and clean it with perl. I use perl instead of sed because I also need to do a few other transformations on the data for which my sed-fu is not strong enough:

if test `curl -s -w %{http_code} -u $SAP_USER:$SAP_PASS -d $BC_XMLDAT +A -o $TEMPFILE $BC_URL` == 200 ; then echo Successfully retrieved data, now correcting it (cat $TEMPFILE && echo -n '</xml>') | perl -pne ' s/&/&amp;/g; # and a few other corrections ' > corrected.xml else echo Error fetching data from Business Connector exit 1 fi
In the long term I want to switch to using sap::rfc so I don't have to do this - and hopefully avoid all that XML nastiness.

Now I'll admit that the perl involved is utterly trivial, but I think this demonstrates just how good a "glue" perl can be for sticking other languages and software packages together. The shell script above is in fact embedded in a Makefile, and the resulting XML file is later munged with more perl.

NB, the perl code here originates with a colleague; the shell and make wrapper is mine.

Comment on Correcting the SAP Business Connector
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://278765]
Approved by ybiC
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2014-10-23 02:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (123 votes), past polls