Blog co-authored by Holger Handel (Head of Product Management for SAP Analytics Cloud for Planning) and special thanks to Johannes Huhn for his development support.
This is the second article on the topic, following the first blog written few weeks ago, which was more focusing on the functional aspects of this Plan-to-Action scenario around Human Resource Planning and Position Management.
In this article, we will explore the technical view of our decentralized approval logic managed by SAP Build Process Automation, based on a Workforce Planning application entirely created in SAP Analytics Cloud.
To establish an HTTP API Connection, SAP Analytics Cloud has introduced Multi-Actions public APIs in the second half of 2023. These APIs can trigger Multi-Actions execution and query the results later. For guidance on configuring this API, please refer to the following blogs:
Public HTTP API connection in SAP Analytics Cloud
As previously mentioned, SAP Analytics Cloud requires an HTTP API connection linked to the SAP Build Process Automation tenant to be created.
HTTP API connection details in SAP Analytics Cloud
To trigger a SAP Build Process Automation process from an external application (in this case SAP Analytics Cloud), correct setup and credentials are essential. Follow the tutorials below to 1) create an API trigger and 2) call the API trigger. The BTP destination provides the credentials for use in SAC HTTP API connection:
Utilizing the HXM pre-delivered SAC content from SAP, we have adapted the “Confirm” button to not only publish changes to SAC’s planning model but also trigger a new process in SAP Build Process Automation.
Confirm button triggers the workflow in SAP Build Process Automation
A new process is instantiated for each planned new position, leveraging SAP Analytics Cloud Multi-Actions concept.
API Step calling SAP Build Process Automation workflow
In the body request, various parameters, such as context about headcount and position, can be passed.
Body request with SAC context mapping
Once the SAC Multi-Action is executed, the SAP Build Process Automation workflow is called and instantiated.
SAP Build Process Automation overall workflow
Process Inputs are used throughout the overall process, consisting of those being passed over from the public API via the body in the request.
Process Input definition
Once information is available, it flows into the Position Approval Form, where it is exposed. Additional items, such as a comment box, can be added to explain the approve or reject decision.
Approval Form Template
After defining the Approval Form Template, Process Inputs must be mapped to different fields in the form.
Mapping fields from the Approval Form to the Process Inputs
If a new position is approved, the information is passed over to SAP SuccessFactors using the Position Management API available.
Note, in order to call the Position Management API, you must import the APIs as an Action in SAP Build Process Automation. You can follow an example on how to create actions here: https://developers.sap.com/group.connect-process-external-sap-bpa.html
Position API Connection
Once the SAP SuccessFactors connection is configured, it is used as a Destination Variable in the Approval step.
Position Management call from SAP BTP Process Automation
In the same step, Process Inputs must be mapped to different fields of the Position Management API.
Mapping Process Inputs to Position Management API
Once this step is done, an email is sent to the defined controllers notifying them that a position has been approved and captured in SAP SuccessFactors.
Approval Email Configuration
If the position is rejected, SAP BTP Process Automation initiates a SAC Multi-Action to delete the rejected position.
Note: the Multi-Action API from SAP Analytics Cloud must be imported as an action into SAP Build Process Automation (similar to the approach to embed the Position Management API).
SAC Multi-Action call to delete the rejected position
This Multi-Action consists of two steps: first, it deletes the rejected position via the position parameter passed from SAP Build Process Automation, cleaning all associated records in the SAC Planning model, and then publishes the changes.
Deletion of the rejected position via a SAC Multi-Action
Afterwards, there’s a step to send an email to inform the controller(s) that the position has been rejected this time.
Rejection Email Configuration
The objective of this second blog was to showcase the technical application of various BTP services in the context of an HR planning scenario. While the above case has been simplified for readability, both SAP Analytics Cloud and SAP BTP Process Automation provide complete flexibility for customers and partners to customize the process according to their specific requirements.