cancel
Showing results for 
Search instead for 
Did you mean: 

Why cant i use ranges on certain fields in reports Odata?

YanGerzon
Participant
0 Kudos

Hi.


I am trying to extract some data from a report in BYD using Odata.
One field, Customer, allows me to use ranges on it(field ge "value" and field le "value").

Another, supplier, does not and gives me the following error:

<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>00145E5B1CC71EE0ACBD33E944B1819D</code>
<message xml:lang="en">Property CZ11FB902ED65FA8A3 (Entity Type RPZ2BF0DA99FB2F87EB9E3C02): only filter to multiple single values</message>
</error>
I looked into the metadata of the report and the customer field has the following description:
Type="Edm.String" Nullable="true" sap:label="Customer Name ID" sap:aggregation-role="dimension" sap:filterable="true"/>
While the supplier:
Type="Edm.String" Nullable="true" MaxLength="10" sap:label="Supplier_ ID" sap:aggregation-role="dimension" sap:filterable="true" sap:filter-restriction="multi-value"
I guess its because of the filtering restriction.
Is there a way around this? what decides if a field has this restriction or not?
Is there some data source manipulation that can be done to get around this?
Or maybe something else?

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

stefan_mueller
Advisor
Advisor

Hello Yan,

many of the business objects (like customer, material, purchase order, employee ...) are modelled like:

  • UUID
  • ID human readable
  • label / description

in the underlying data bases only the UUID is persisted. So for many objects like this a 'range' selection is not supported. You see in many case that a multi single selection is enabled in the standard reports.
A kind of 'pre-query' for a range based selection in 'from ID - to ID' resulting in a lists of UUID to finally query the data base has not been implemented.

I hope this answers your questions and shares some background information.

Best regards
Stefan

Answers (0)