BPM OData Service Restrictions

This topic lists the data types that are not supported by the BPM OData service and some restrictions for using the BPM OData service.

XSD Binary Types

XSD binary types such as xsd:hexBinary and xsd:base64Binary are not supported. If such a type is detected, the BPM OData service will return an error.

Namespaces

The OData standard does not support namespaces. If the OData services type conversion detects two properties with the same name because it ignores namespaces, it will return an error.

XSD Facets

Restrictions defined by XSD facets are ignored. A property in the generated entity data model (EDM) type is always nullable regardless of what is specified in the originating XSD type. XSD restrictions defined for values of simple types are skipped in the EDM types.

XSD Attributes

Since XSD attributes of XSD elements are not supported in BPM, they are not relevant for consideration by the BPM OData service for task data.

Collections

Only unbounded collections are supported. Therefore, the OData service supports only 0 as the value for minOccurs and 0 or unbounded as the value for maxOccurs.

Reserved Names

The following names are reserved and must not be used for XSD types: InputData, OutputData, FaultData, ProcessStartEvent, StartData.

The optional URL parameter prefixReservedNames adds an SAP-specific prefix to the reserved names. Use this URL parameter if your XSD uses one of the reserved names but you cannot change this particular name (URL parameter: prefixReservedNames=true). Using this URL parameter, the reserved name InputData has the prefix SAPBPMInputData.

Examples:

GET /bpmodata/taskdata.svc/<task-instance-id>/$metadata?prefixReservedNames=true

GET /bpmodata/taskdata.svc/<task-instance-id>/SAPBPMInputData?prefixReservedNames=true

GET /bpmodata/taskdata.svc/<task-instance-id>/SAPBPMInputData?$expand=<wrapper-type>&prefixReservedNames=true

Validation of Input Data

The BPM OData service does not validate any input data. For example, it does not check whether or not the length of a given string fits the specified maximum or minimum length. The validation of the input data needs to be done by the client that uses the BPM OData service and by the process that works with the data.