04-12-2024 03:30 AM
Hello
I am new to SnapLogic and trying to develop a pipeline that reads data from SAP BW with a BAPI call and loads into a database. Currently I am facing issues as SAP BW EXECUTE snap is not returning anything in output.
This is the snap configuration.
With Mapper snap I am passing the input structure to the SAP EXECUTE snap. This is the input to the EXECUTE snap -
Please suggest what could be wrong here.
Thanks
Minal
04-16-2024 12:28 AM
Thanks, I checked as per your suggestions and input parameters are correct.
There is another issue, in some cases the Snap is failing with error - com.snaplogic.snap.api.SnapDataException: Invalid data value(s)'.
Error view is enabled but again, its not returning anything in the output.
Error view:
04-18-2024 06:36 AM
Hi All,
Thanks for the suggestions provided so far. Its really helpful.
After further analysis, we found that the SAP BW system doesn't have data for the input selection that's the reason output was empty when called from SnapLogic. So its fine.
But now I am facing another issue, when calling one of the BAPIs, I am getting error as 'Invalid field value ORGUNIT_KEY for type Type Number'
One field is defined as 'Number' in BAPI definition, but it has some records with '#' value. Due to this SAP Execute snap is failing in SnapLogic. I tried using Type Converter snap but its not working.
What can be done in this case? Is there any other way to handle this?
04-18-2024 06:58 AM
Glad to hear that you find the reason for the first "issue".
About this one, to me it looks like that the SAP Execute Snap is expecting String for the input parameter "ORGUNIT_KEY".
So, try to convert ORGUNIT_KEY as String either using Type Converter Snap or in a Mapper Snap, before the SAP Execute Snap, using to string function.
04-24-2024 12:38 AM
Hi All,
Issue was due to wrong data type of the data that was being returned by the BAPI. In this case field ORGUNIT_KEY was numeric however BAPI was returning it as # so this was failing in SnapLogic. It was resolved after correcting the code on SAP to return numeric data type value.
Thanks
Minal
05-03-2024 09:03 AM
Like @SpiroTaleski and @JensDeveloper suggest putting a Mapper Snap in front and then validating will show you the interface of the RFC and you can do the mapping there as well. Your RFC is custom built, (starts with a Z*) and therefore replicating your issue somewhere else will not be possible.
If you can use Transaction SE37 in the SAPGui and execute the Function Module there to make sure you know what Input/Table fields have to be filled. Also, some input fields of RFC and BAPIs require leading zeros if you call them from outside.