Symptoms
I've created a K2 connect Service Object, which receives a list of SAP data. In the Test Cockpit everything works fine. When I create a SmartObject referencing the newly created Service Object, the last row of the SAP data is duplicated. Is there a method to remove the duplicated data from the list?
Diagnoses
We can reproduce this behaviour, if SAP RFCs supply input tables as input parameters. These input tables are normally used to ship more than one item to the backend system and are a complex type / structure. We used these input tables to supply filter values to the backend system, because we are expecting a large amount of data and the backend system should manage the filtering.
Resolution
After changing the RFCs not to use input tables as input parameters but rather using "simple" input parameters, this behaviour went away and the last entry will not be duplicated anymore.
After discussing it with some technical experts, in addition to the above, they have also suggested the following 2 options:
- Use a custom method
- Make all collections/tables XML.
You will then return one row of data but you will have to do the extra step to deserialize the results using the Serialization objects created for you.