I am working on an MDK app trying to apply some filters automatically inherited from a List Picker a in Filter Page called from a Filter Action related to a Filterable Object table.
It is working as expected for List Pickers in which the property is a direct value.
Generated filter for OData service / entity: "$filter=COUNTRY_ID eq 'US'"
But we have currently one scenario when we have an attribute in the related OData service / entity that has concatenated values.
Example of Attribute Value: TAG_CONCAT = 'H00002,H00035,H00435,H00878'
If at the List Picker we set the FilterProperty in the following way:
The generated filter for OData is something like: "$filter=(TAG_CONCAT eq 'H00035' or TAG_CONCAT eq 'H00878')"
Which in most of the cases won't retrieve the required row.
The solution for this case (implemented in the equivalent app in Fiori / Web ) is using the "substringof" OData function in order to have a condition like the following:
"$filter=(substringof('H00035',TAG_CONCAT) or substringof('H00878',TAG_CONCAT))"
I have tried in this way in the List Picker:
But is generating a filter like:
"$filter=(substringof(<TAGID>,TAG_CONCAT) eq 'H00035' or substringof(<TAGID>,TAG_CONCAT) eq 'H00878'))
and is not working.
I have already investigated some places in order to try to override or change the generated filter, so I can fix it and keep the List Picker functionality, and in general, the Filter Page functionality, but without success.
Also I have tried to add some filters in the Query Options of the Object Table direclty, but it seems that if it is already related to a "Filterable" object in the action, the filter in the QueryOptions is discarded.
Please comment what are the possible options or workarounds in this case.
Thanks in advance, your help is appreciated.