Monday, May 12, 2014

Typical Problems Making SAP BAPI Calls

This is an uncomplete list of typical problems when you run BAPI calls.

1. If you get an empty result from SAP, you have to pass a stub of the result that you expect (read http://blogs.msdn.com/b/adapters/archive/2008/01/10/when-i-execute-bapis-i-don-t-get-back-any-data-help.aspx for more information).

2. If you get this exception
Microsoft.ServiceModel.Channels.Common.XmlReaderGenerationException: An error occurred when trying to convert the byte array [30-00-30-00-30-00-30-00-30-00-30-00-30-00-30-00] of RFCTYPE RFCTYPE_DATE with length 8 and decimals 0 to XML format. Parameter/field name: CLEAR_DATE   Error message: Die Parameter "Year", "Month", und "Day" beschreiben eine nicht darstellbare DateTime.
 you might want to create the Biztalk BAPI schema with enableSafeTyping=true. Also use this option during run-time. You can then use dates in the form of YYYYMMDD.

If you are aware of (1) and (2), a working BAPI Call would be:
<ns0:GETSTATEMENT xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS3007/">
 <ns0:COMPANYCODE>xxx</ns0:COMPANYCODE>
 <ns0:CUSTOMER>xxx</ns0:CUSTOMER>
 <ns0:DATE_FROM>20140101</ns0:DATE_FROM>
 <ns0:DATE_TO>20140505</ns0:DATE_TO>
 <ns0:NOTEDITEMS>X</ns0:NOTEDITEMS>
 <ns0:LINEITEMS />
</ns0:GETSTATEMENT>
Thanks, Mirko!

No comments: