We ran into an issue with adding authorization basic data into IFS Cloud via Flow and the OData connector. The data is read from a csv file and the app works as intended, with the caveat that the description field in this table is of type varchar(30), meaning that if the csv file contains a row with a description longer than 30 characters the whole thing fails.
In this instance we solved it by hardcoding a truncating function to the description value, but we first tried to find a method of programmatically truncating such values when necessary. Is this possible with OData? I managed to find the metadata of the projection by adding /$metadata to the end of the url in the browser, and in the resulting xml you can find the string length of the field in question. The problem is reading this xml from Flow, using OData.
Does anyone know of a way of doing this?
In your case I dont think you can use the OData connector using the standard functionality to fetch the metadata and process the response, as far as I know the standard functionality of the OData connector only accepts a JSON response.
Edit: If you use the “Code” functionality you should be able to define your own url,operation and response for you projection(using C#) and from here you should be able to process the reponse and get the information you need.
I’ve done something similair but i used the REST connector and instead of using the metadata for each projection/entity i used the openapi definition for the projection, example: /main/ifsapplications/projection/v1/CustomerHandling.svc/$openapi?V3
And in the REST connector i defined a transform to make the response more Flow friendly.
Within the JSON object you will find components/schemas/“yourentity” and here you can find your property and max length.
Spoken to R&D. Since the data is in the Projection metadata it should be an low hanging fruit to implement. Would be very valuable to have this info in the connector machine step. Added to R&D backlog.