I am trying to implement a load that is split into batches.
I have used the following manual:
https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/extracting-sap-data-using-odata-part-4-handling-large-volumes-of/ba-p/2849727
unfortunately I am getting the following error:
The expression ‘concat(‘$top=’,pipeline().parameters.Batch, ‘&$skip=’,string(mul(int(item().value), int(pipeline().parameters.Batch))))’ cannot be evaluated because property ‘value’ cannot be selected. Property selection is not supported on values of type ‘Integer’.
I have tried to circumvent the error by adding a “set variable” within the ForEach-activity before copy data. But I simply don’t know how to do it without getting an error.
Could anyone tell me what kind of variable I have to use (I assume “Array”) and how to fill the “value” of this variable properly?
2
The error message suggests that the value
property cannot be selected because it is not supported on values of type ‘Integer’. This means that the item()
expression is returning an integer value. When I go through the same blog that you provided, in for-each activity the expression for items is given as @range(1,....)
. This will return values like [1,2,….n] (array of integers only). As this array doesn’t have any property, using the expression @item().value
will result to the same error. To avoid the error, give the expression in the copy data Query text box as
@concat('$top=',pipeline().parameters.Batch, '&$skip=',string(mul(int(item()), int(pipeline().parameters.Batch))))
1