Do you have an error and are feeling lost in the vast world of APIs and SAP? Hopefully this article will provide some much needed context and direction.
Whenever you are troubleshooting, you want to minimize the variables to isolate the issue.
Think of SAP as a layer on top of any original endpoints APIs. Likewise, any additional features you use on SAP such as formulas, transformations or bulk, add additional layers of functionality. More layers means more variables.
The goal of troubleshooting SAP is to tear off layer by layer of functionality until you find where the issue is.
Let's say you have a formula, and it is failing. Lets go through the steps in a hypothetical situation:
Step 1. Review formula execution logs
Because we're troubleshooting a formula, let's start by looking at the formula execution logs to determine what step is failing.
You find it was failing on a Connector Request Step. Now you know that it's an API call that's failing. Let's remove the "layer" of formulas. From the execution log, you can see that the request is:
POST /MyCustomObject. The request is using a common resource with a transformation, that's another layer.
Step 2. Test outside of the formula
Get the payload that was being sent in the formula from the execution logs and test the API outside of the formula. When you call
POST /MyCustomObject, you see that its failing with a 500 Internal Server Error. Perfect.
Step 3. Check the connector instance
Let's make sure the connector instance is working. You call another API on that connector instance without using your transformation and it works fine.
Let's say your transformation is mapped to
contacts. Try transforming the data yourself and create a contact with the same data. You discover that works. So the transformation is the problem.
Step 4. Check your transformation
GET /MyCustomObject to see what the data looks like when you retrieve it. You find it looks weird.
firstName is mapped to a date field. The problem is on the transformation.
This same strategy should be used with any "layer" on SAP, like events, bulk, Connector Builder. Remember that each feature you use adds another "layer" on top of the original API, whatever it may be. When debugging, remove as many layers as possible to get to the root of the issue.