Skip to Content

In this blog post series the new OData Service in SAP NetWeaver BPM will be introduced. It is available with SAP NetWeaver 7.3 EHP1 SP 09 and higher.

The OData Service enables a simplified access to BPM with a custom user interface based on a modern web technology like SAPUI5. Previously, it was already possible to build a custom UI directly based on the BPM Public API, but this required a server-side rendering of the UI using technologies like JavaServer Faces.

Nowadays, the rendering of the UI is often done on the client-side using technologies like JavaScript. The client-side rendering is usually implemented in a service-oriented way fetching the relevant business data via REST-based HTTP calls from a service provided by the server. Until now, such a service was not included in SAP NetWeaver BPM and thus had to be implemented as exemplary described in the blog post RESTful service for NetWeaver BPM. Such a custom implementation is costly and, compared to built-in functionalities, not maintained by SAP.

With SAP NetWeaver 7.3 EHP1 SP 09 an official REST service is introduced implementing the Open Data Protocol (OData). The built-in service 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 easily access the exposed data and functionalities. This accelerates the development of custom desktop and mobile applications with access to BPM related data and operations.

The main features of the BPM OData Service are:

  • Access to the Metadata of a BPM Task
  • Access to the Input and Output Data of a BPM Task
  • Claim a BPM Task
  • Complete a BPM Task
SAP NetWeaver 7.3 EHP1 SP 09 and higher
  • Support of complex types and collections
  • Complete a BPM Task with a fault
SAP NetWeaver 7.3 EHP1 SP 10 and higher
  • Start a BPM Process
  • Advanced Error Handling
SAP NetWeaver 7.3 EHP1 SP 11 and higher
  • Access to a collection of available BPM Tasks
  • Access to a specific BPM Task
  • Claim a BPM Task
  • Release a BPM Task
  • Forward a BPM Task
  • Search for BPM end-users
  • Access to BPM Task Definitions
  • Access to custom attributes of a BPM Task
  • Access to custom actions of a BPM Task
  • Execute a custom action of a BPM Task
SAP NetWeaver 7.3 EHP1 SP 12 and higher
  • Manage Substitution Rules for BPM Tasks
  • Filter BPM Tasks based on substitutions
  • Add a comment to a BPM Task
  • Access the status of a BPM Process
SAP NetWeaver 7.3 EHP1 SP 13 and higher
  • Access to a collection of BPM Processes
  • Suspend a BPM Process
  • Resume a BPM Process
  • Cancel a BPM Process
SAP NetWeaver 7.3 EHP1 SP 14 and higher
  • Access to a message of an Intermediate Message Event
  • Send a message to an Intermediate Message Event
  • New URIs to start a BPM Process
SAP NetWeaver 7.3 EHP1 SP 16 and higher

The series consists of multiple blog posts introducing the BPM OData Service. The first blog post BPM OData: Exploring the Service introduces the technical details that are useful when working with the OData Service. This will cover HTTP details of the service consumption such as supported HTTP methods or request/response payloads.

The service consumption with a SAPUI5 application is described in the blog post BPM OData: Implementing a Basic Custom Task Execution UI. This will cover the transformation of plain XML/JSON service responses into a SAPUI5 application. This part also contains some JavaScript code snippets to explain the binding between OData service response and SAPUI5 UI controls.

The implementation of a more advanced SAPUI5 application is shown in the blog post BPM OData: Implementing an advanced custom task execution UI. This includes the usage of complex data types and collections as well as completing a task with a fault. The blog post describes the technical details of these functionalities and explains how to enhance the sample SAPUI5 application accordingly.

The implementation of an SAPUI5 application for starting a BPM process is shown in the blog post BPM OData: Implementing a Process Start UI. The blog post describes the details of the BPM Process Start OData service and contains JavaScript code snippets showing how to build a sample SAPUI5 application.

The blog post BPM OData: Implementing a Custom Task Inbox can be used as a starting point to implement a SAPUI5 application for a custom task inbox. The blog post describes technical details of the BPM Tasks OData service and explains how to consume this OData service from SAPUI5 application.

The blog post BPM OData: Administrative Process UI describes the BPM Processes OData service. It explains the technical details of the service and shows how to consume it from SAPUI5. The blog post also provides a sample SAPUI5 application, which can be used as a starting point to implement an administrative UI for the management of the BPM processes.

Technical details of the BPM Messages OData service are described in the blog post BPM OData: What’s new in SAP NetWeaver 7.31 SP16?. The blog post shows how to send a message to an Intermediate Message Event via the BPM OData service as well as highlights the new functionality of SAP BPM in SAP NetWeaver 7.31 SP16.

This series will be continued with more blog posts, so stay tuned for updates…

Related Blog Posts

Related Resources

To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

  1. Dominik Espitalier

    Hey Andre,
    I am really looking forward to read your future blogs!! Actualy I am working on an own little uwl for mobile devices to list all the open tasks for a specific user. For me it is not clear if that’s possible with the new OData Services?

    (0) 
    1. Andre Backofen Post author

      Hey Dominik,

      as of SAP NetWeaver 7.3 EHP1 SP 09 we are focusing on the implementation of custom task execution UIs based on the BPM OData Service. More functionality is about to come, but getting a list of tasks is unfortunately not enabled with SP09. In order to make this possible, I would try to implement an own REST wrapper exposing a list of tasks. But at least your task execution UIs could now easily be implemented with any modern web technology (like SAPUI5), which would definitely boost the user experience of your mobile users.

      Best Regards,

      Andre

      (0) 
  2. Piyas Kumar Das

    Hi Andre,

    Great Bolg…….really cool stuff…..

    I also wanted your confirmation so that mention your blog in my document as this is the future with BPM.

    Only if you give me the confirmation i will be mentioning your blog in my document.

    Eagerly waiting for your confirmation.

    Cheers

    Piyas

    (0) 
      1. Govind Turka

        Hi Andre,

        Can we have some info on relative URL when custom UI and BPM are on different server. HTTP destination creation and adding it in relative URL with curly braces did not help. Can you please help here?

        (0) 
  3. Prasad Bandaru

    Hi Andre,

    We are using SAP Netweaver 7.4 SP06 . May i use ODATA service for process start ?

    Please help me my server can support or not with ODATA service ?

    thanks,

    Prasad

    (0) 
    1. jeetendra choudhary

      Hi Prasad,

      You can use the oData start service with the provided version. As a thumb rule any thing available on NW 7.31 SP0X should be available in NW7.4 SP 0X-5, i.e oData start service is available from 7.3 EHP1 SP 11 and higher so it should be available in 7.4 SP06 (SP11- 5).

      You can check all the services available in http://<server>:<port>/bpmodata/index.html

      Thanks & Regards

      Jeet

      (0) 
  4. Jan Nyfeler

    Hi Andre

    as I can see here: URIs for Accessing BPM Processes – Modeling Processes with Process Composer – SAP Library and here URIs for Accessing BPM Tasks – Modeling Processes with Process Composer – SAP Library there is only a way to read and write comments on task level. However, the Java API supports to read and write on a process instance level, which is much more required in my opinion. Are there plans to supply this functionallity on a process level as well?

    Also, it seems as currently there is no way to attach files to a process/task programmaticaly. Only via WDJ task header. The Java API only supports a way to read attachments, not to add any.

    Is there a recommended way how to handle files during a bpm process?

    Best regards

    Jan

    (0) 

Leave a Reply