
The BPM OData service enables you to access BPM-related data and operations with a custom user interface based on a modern Web technology such as SAPUI5. It acts as a wrapper, exposing selected functionalities of the BPM public API.
Due to the well-defined OData protocol, the service provides a uniform way to access the exposed data and functionalities. Therefore, the service supports you in development of custom desktop applications as well as mobile applications with access to BPM-related data and operations.
For more information about the BPM OData service and corresponding examples, see the BPM OData blog series in SCN
.
To access the BPM OData service, the following role needs to be assigned to you:
SAP_BPM_ODATA
In addition, you need the necessary permissions to execute specific actions on BPM entities. For example, you can only claim a task if you are a potential owner. To start a process, the role SAP_BPM_TRIGGER_EVENT must be assigned to you. The additionally needed permissions are listed as prerequisites in the respective sections, for example, in BPM OData Service for Accessing BPM Tasks, BPM OData Service for Accessing BPM Task Data, or BPM OData Service for Starting BPM Processes.
For more general information about BPM roles, see Authorizations and Roles.
With the help of the BPM OData service you can access the following BPM data and operations from custom UIs:
To access BPM task and task data, the following services are available:
The data that is exposed by an OData service is based on an underlying abstract data model. This data model is called Entity Data Model (EDM). The data types of the BPM data are modeled during design time. The format used to model these data types is the XML Schema Definition (XSD). The EDM of the BPM OData service is generated at runtime. The EDM can be inspected using the standard OData operation $metadata.
For general information about OData, see http://www.odata.org/introduction
.
The BPM OData service is available via a defined URL. The URL is composed as follows:
http://<host>:<port>/bpmodata/<service_name>/<path_segment(s)>/<OData_resource_path_and_query_options>
You need to know the host name and the server port used to connect to SAP BPM. The keyword bpmodata is then followed by the name of the specific service you want to use.
The path segment is specific to the service and is not always needed. The last part of the URL is the OData resource path and the query. The OData resource path specifies the resource you want to access or the operation you want to perform.
In BPM, we use IDs to identify different artifacts, for example, task instances. IDs can be represented in two different formats: hexadecimal and URI. The BPM OData service can handle both formats.
Example Hexadecimal
Sample ID: d6e6590d109d11e39633000000288732
|
GET /bpmodata/tasks.svc/TaskCollection('d6e6590d109d11e39633000000288732') |
|
GET /bpmodata/taskdata.svc/d6e6590d109d11e39633000000288732/InputData |
Example URI
Sample ID: bpm://bpm.sap.com/task-instance/d81fe974703611e0803800000156fd47
An ID in URI format contained in a URL needs to be URL-encoded as follows: bpm%3A%2F%2Fbpm.sap.com%2Ftask-instance%2Fd6e6590d109d11e39633000000288732
|
GET /bpmodata/tasks.svc/TaskCollection('bpm%3A%2F%2Fbpm.sap.com%2Ftask-instance%2Fd6e6590d109d11e39633000000288732') |
|
GET /bpmodata/taskdata.svc/bpm%3A%2F%2Fbpm.sap.com%2Ftask-instance%2Fd6e6590d109d11e39633000000288732/InputData |