Configuring the connection in SAP SuccessFactors
Events are used in SAP SuccessFactors (SF). Data for the process of an event is sent to d.velop integration service for SAP Solutions via SAP Eventing or via the direct connection using the REST interface in the default CloudEvent.
In this section, you will learn how to make the necessary configurations in SAP SuccessFactors (SF).
More information about SAP SuccessFactors and SAP BTP can be found in the corresponding product documentation from SAP.
Connecting SAP SuccessFactors to SAP Event Mesh via Eventing
The connection between SAP SuccessFactors and d.velop integration service for SAP Solutions (dvpIS) is established via Eventing.
In SAP SuccessFactors, events are sent to a queue of an event broker. The event broker then performs the lifecycle management for the events. dvpIS registers with the event broker and subscribes to events from the queue to which SAP SuccessFactors sends events. The event broker and the protocols used ensure that no events are lost.
Creating a SAP Event Mesh service instance
Create a service instance for connecting to an event broker and for creating and receiving events.
Ensure that SAP Event Mesh is installed and configured.
This is how it works
Open the SAP BTP cockpit and select the subaccount in which you want to install the service instance. Ensure that you have the necessary entitlements to create an instance of SAP Event Mesh in the subaccount.
Follow the instructions in the SAP Event Mesh documentation for installing a service instance.
Note
In the configuration, use a suitable value for namespace and enter appropriate rules for queueRules and topicRules.
Recommendation: Use the value default/dvelop.sf2dvp/1 for namespace. Use the value ${namespace}/* for publishFilter. Use the value of subscribeFiler for queueRules and topicRules.
Example configuration
{
"options": {
"management": true,
"messagingrest": true,
"messaging": true
},
"namespace": "default/dvelop.sf2dvp/1",
"resources": {
"units": "20"
},
"rules": {
"topicRules": {
"publishFilter": [
"${namespace}/*"
],
"subscribeFilter": [
"${namespace}/*"
]
},
"queueRules": {
"publishFilter": [
"${namespace}/*"
],
"subscribeFilter": [
"${namespace}/*"
]
}
},
"version": "1.1.0",
"emname": "evtmesh_sf2dvp"
}Creating a service key for the SAP Event Mesh service instance
The service key provides data for authentication and access points. This data is used by SAP SuccessFactors and d.velop integration service for SAP Solutions. You must create the service key.
This is how it works
Open the SAP BTP cockpit.
Open the subaccount in which you have created a SAP Event Mesh instance.
Click Instances and Subscriptions.
Click the SAP Event Mesh instance to open the configuration.
Under Service Keys, click Create.
Enter a name.
For the OAuth2 configuration, you require the authentication data of the service key. Note down the relevant data.
Click the three dots next to the created service key.
Click View.
Note down the values in the fields clientid, clientsecret, tokenendpoint and uri in the area under messaging, which is labeled with the value httprest in the protocol key. This data is required for the OAuth2 configuration of SAP SuccessFactors.
Note down the values in the fields clientid, clientsecret, tokenendpoint and uri in the area under messaging, which is labeled with the value amqp10ws in the protocol key. This data is required for the OAuth2 configuration of d.velop integration service for SAP Solutions.
Creating an OAuth2 configuration in SAP SuccessFactors
To use the API for the SAP Event Mesh service instance, enter the previously noted authentication data for the service key. More information about the authentication data: Creating a service key for the SAP Event Mesh service instance
This is how it works
Open SAP SuccessFactors.
Navigate to Security Center.
Click Destination Settings.
Click OAuth2 Configurations.
Click Add.
Configure the new entry as follows:
Configuration Name: SAP BTP EventMesh
Description: OAuth2 connection to SAP BTP Event
OAuth Type: OAuth 2.0
Grant Type: Client-Credentials
Client ID: Noted value from clientid.
Client Secret: Noted value from clientsecret.
Token URL: <Token-Service-URL>/oauth/token
Token Method: POST
Configure the Custom Header parameters as follows: x-qos: 1.
Click Save.
Configuring the Hire event in SAP SuccessFactors
In SAP SuccessFactors, configure which data is sent to which system in which format, for which event and with which authentication data. A template is provided for easier processing.
This is how it works
Open SAP SuccessFactors.
Navigate to Integration Center.
Click My integrations.
Click Create.
Click Import an Integration Definition.
In the installation folder under resources, select the file Template_HireEvent_CloudEvents_by_Eventing_definition.icd.
Click Upload.
Enter a name.
Click Next. You do not have to enter anything in the Configure fields step. All entries are preconfigured. This process for defining an event is more complex and is not required when using the template. You can also skip the Response fields and filter steps using Next until you reach the destination settings step.
Replace the value of REST API URL with the value of url from the service key for the SAP Event Mesh service instance. More information: Creating a service key for the SAP Event Mesh service instance
Under OAuth-Configurations, select the created OAuth2 configuration.
Click Next followed by Save.
Testing the configuration
Once you have completed all configuration steps, you can return to the configuration of the Hire event in SAP SuccessFactors under Integration Center and perform a test of the event creation. The data transferred for the test is selected by SAP Success Factors automatically. The event must be displayed in the specified queue in SAP Event Mesh.
This is how it works
Open SAP SuccessFactors.
Navigate to Integration Center.
Click My integrations.
Select the integration for the created Hire event.
Click Edit integration under Actions in the row for the integration.
Click Review and run followed by Run now.
Verify whether SAP Event Mesh receives an event by using the test tools in SAP Event Mesh to check the configured queue for received events.
If no event is processed, check the configuration steps again. Check whether the systems are reachable at the specified addresses.
Note
If Eventing is already configured in d.velop integration service for SAP Solutions (dvpIS), the event may already have been processed in dvpIS before you can see it with the test tools. In this case, deactivate Eventing on the dvpIS start page and repeat the test.
If an event is processed, check whether a message has been generated from the event in dvpIS.
Open the dvpIS administration interface.
Click Messages.
Check whether an entry for the event is listed in the table.
If no message has been generated, check the configuration steps again. Check whether the systems are reachable at the specified addresses.
Connecting SAP SuccessFactors to d.velop integration service for SAP Solutions via REST
If SAP Event Mesh is not available, you can send events directly to d.velop integration service for SAP Solutions (dvpIS) using the Cloud Events API. You require a service user, which is assigned to the subaccount, and a service key.
Note
Note that with this connection, SAP SuccessFactors and dvpIS communicate directly with each other. If dvpIS is not available, e.g. for maintenance reasons, events cannot be received. You can check such situations using the monitoring tools of SAP SuccessFactors.
Providing the integration user in d.velop integration service for SAP Solutions
When connecting SAP SuccessFactors directly to d.velop integration service for SAP Solutions (dvpIS) via REST, you specify a service user in the OAuth2 configuration. This must be a valid user for using dvpIS with sufficient permissions (e.g. role collection d-velop-integration-service-admin-collection with administration rights).
This is how it works
Open the BTP cockpit.
Open the subaccount in which dvpIS is installed.
Click Users.
Select an existing user or create a new user.
Click Role Collections.
Click Assign Role Collection.
Select a suitable d.velop role collection, e.g. d-velop-integration-service-admin-collection.
Use the user name and password of this user in the OAuth2 configuration for SAP SuccessFactors.
Creating a service key for the service instance
To allow SAP SuccessFactors to make direct use of the API for d.velop integration service for SAP Solutions (dvpIS), you have to provide the data for authentication. SAP SuccessFactors uses this data to authenticate the requests. Create the service key.
This is how it works
Open the SAP BTP cockpit.
Select the subaccount and then the space in which you installed dvpIS.
Click d-velop_integration_service-srv.
Note down the value under Application Route.
Navigate back to the overview and click Instances and Subscriptions.
Click d-velop_integration_service-uaa.
Under Service Keys, click Create.
Enter a name.
For the OAuth2 configuration, you require the authentication data of the service key. Note down the relevant data.
Click the three dots next to the created service key.
Click View followed by Form.
Note down the values of the fields clientid, clientsecret, url and xsappname.
Creating an OAuth2 configuration in SAP SuccessFactors
You must enter the previously noted authentication data for the service key in SAP SuccessFactors so that the data can be used for the API calls of d.velop integration service for SAP Solutions (dvpIS). More information about the authentication data: Creating a service key for the service instance
This is how it works
Open SAP SuccessFactors.
Navigate to Security Center.
Click OAuth Configurations.
Click Add.
Configure the new entry as follows:
Configuration Name: d.velop integration service UAA
Description: OAuth2 connection to d.velop integration service for CloudEvents
OAuth Type: OAuth 2.0
Grant Type: Password:
Client ID: Noted value from clientid.
Client Secret: Noted value from clientsecret.
Token URL: <Value from "Application Route">/api/token/sf
Token Method: POST
Username: Name of the service or integration user
Configure the Custom Header parameters as follows:
x-scope: <Noted value from "xsappname">.administrator
x-token-url: Noted value from url.
Click Save.
Enter the password of the service user.
Configuring the Hire event in SAP SuccessFactors
In SAP SuccessFactors, configure which data is sent to which system in which format, for which event and with which authentication data. A template is provided for easier processing.
This is how it works
Open SAP SuccessFactors.
Navigate to Integration Center.
Click My integrations.
Click Create.
Click Import an Integration Definition.
In the installation folder under resources, select the file Template_HireEvent_CloudEvents_by_REST_definition.icd.
Click Upload.
Enter a name.
Click Next. You do not have to enter anything in the Configure fields step. All entries are preconfigured. This process for defining an event is more complex and is not required when using the template. You can also skip the Response fields and filter steps using Next until you reach the destination settings step.
Replace the value of REST API URL with the value of Application Route. More information: Creating a service key for the service instance
Under OAuth-Configurations, select the created OAuth2 configuration.
Click Next followed by Save.
Testing the configuration
Once you have completed all configuration steps, you can return to the configuration of the Hire event in SAP SuccessFactors under Integration Center and perform a test of the event creation. The data transferred for the test is selected by SAP Success Factors automatically.
This is how it works
Open SAP SuccessFactors.
Navigate to Integration Center.
Click My integrations.
Select the integration for the created Hire event.
Click Edit integration under Actions in the row for the integration.
Click Review and run followed by Run now.
Open the dvpIS administration interface.
Click Messages.
Check whether an entry for the event is listed in the table.
If no message has been generated, check the configuration steps again. Check whether the systems are reachable at the specified addresses.
Integrating the personnel file into the SAP Employee Central People Profile
For the link to the d.velop personnel file, create a separate section in the SAP Employee Central People Profile. The integration is performed via the SAP SuccessFactors Metadata Framework (MDF).
Note
Create objects in SAP SuccessFactors in English and translate them with the SAP SuccessFactors translation function.
Creating an object definition
Object definitions can be used to store individual information in SAP SuccessFactors. You can extend the employee profile based on the definitions.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Under Search Tools, open the Configure Object Definitions section.
Under Create New, select the entry Object Definition.
Enter the following data:
Code: cust_dvelop_personnel_file (SAP SuccessFactors enters cust prefix automatically.)
Effecting Date: None
API Visibility: Editable
MDF Version History: No
Label: cust_dvelop_personnel_file. (Click Translations to translate the field into the required languages.)
Description: Object Definition for the d.velop personnel file integration into the People Profile. (Click Translations to translate the field into the required languages.)
Subject User Field: User:
In the Fields section, rename the entry external Code to User. Change the entry under Data Type from String to User.
Click Save. Confirm the message regarding permissions with OK.
Creating a permission group
To provide access to functions and objects, such as object definitions, you need to assign permissions. These permissions are assigned to permission groups in SAP SuccessFactors. The first step is to create the permission group. Detailed information on permission control can be found in the SAP SuccessFactors documentation under Role-Based-Permissions (RBP).
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Navigate to Search Tools > Manage Permission Groups.
Click Create New. Alternatively, you can extend an existing group.
Add the following values:
Group Name: d.velop personnel file permission group
Usertype: Employee
Under Choose Group Members > People Pool, select the value User.
Enter the current user in the condition as follows: User is = (equal to) <<user who has access>>.
Click Done.
Optionally, you can extend the permission group.
Click Done.
Creating a permission role
With the permission role, you define which permissions the user has in SAP SuccessFactors. The permissions always refer to a target population.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Manage Permission Roles section.
Click Create New. Alternatively, you can extend an existing role.
Add the following values:
Role Name: d.velop personnel file integration
Description: Permission role for the d.velop personnel file integration
Click Permission.
Click Miscellaneous Permissions.
Scroll to the entry cust_dvelop_personnel_file and activate the following options:
View
Edit
Click Done.
Click Add to assign the role to a group.
Under Define whom you want to grant this role permission to, click Select.
Select the permission group d.velop personnel file permission group and activate the option.
Optionally, you can assign the permission to other permission groups.
Click Done.
Under Specify the target population whom the above granted users have permission to access, select die option Everyone. Alternatively, you can specify your own target population.
Click Done.
Click Save Changes.
Note
Optionally, you can also create an additional permission role for employees who only have display permissions. To do this, create an additional permission role without the Edit permission and assign this permission role to the relevant employees via permission roles.
Creating a user interface
Create a user interface for an object definition that will later be displayed in the People Profile.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Manage Configuration UI section.
Click Create New.
Add the following values:
Id*: dvelop_personnel_file_UI
Select Base Object: cust_dvelop_personnel_file
Click cust_dvelop_personnel_file followed by Edit Properties.
In the Title Type User Defined field, replace the value cust_personnel_file with d.velop personnel file. Click Translations to translate the field into the required languages.
Click OK.
Hover over the input fields externalCode, externalName and effectiveStartDate and click Add Link.
Hover over the inserted entry externalName and click the X icon (Delete).
Hover over the inserted entry Link Display Text and click the pen icon (Edit Properties).
In the Link Display Text field, replace the value Link Display Text with personnel file. Click Translations to translate the field into the required languages.
In the Enter URL field, replace the value http://www.successfactors.com/ with the d.velop documents search URL for the personnel file. The URL is structured as follows: https:// <<d.velop cloud tenant>> .d-velop.cloud/dms/r/ <<Repository ID>> /sr/?objectdefinitionids=%5B%22 <<Category ID of the personnel file>> %22%5D&fulltext=&properties=%7B%22 <<Property ID of the user ID>> %22:%5B%22@p1%22%5D%7D&showdetails=true
Note
Example link: https://sap-qs.d-velop.cloud/dms/r/4bea3c5c-ff46-469c-909c-4cc7c78be21b/sr/?objectdefinitionids=%5B%22a49ea54c-a0c1-4295-a784-90de12c31110%22%5D&fulltext=&properties=%7B%22d8cf2d3d-39a1-4dce-8a6a-a071aa76a8ac%22:%5B%22@p1%22%5D%7D&showdetails=true
More information can be found in the d.velop documents configuration for the personnel file.
Add the following values to the fields below the URL tokens:
Token: "@p1"
Value Resolver: externalCode
Click OK.
Click Save.
Setting the default user interface for an object definition
Once you have created the user interface for the object definition, you can set it as the default user interface in the object definition.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Configure Object Definitions section.
Under Search, select the value Object Definition.
Enter cust_dvelop_personnel_file in the search field.
Click Take Action and select Make Correction.
Under Default Screen, enter the value dvelop_personnel_file_ui.
Click Save.
Integrating the user interface into the People Profile
Once you have created the object definition and the user interface, you can integrate these into the People Profile.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Configure People Profile section.
Click Add a new section.
In the newly added section, click the Untitled block.
Replace Untitled with personnel file.
Click Apply for All Languages and confirm the subsequent message with OK.
Close the section via the X button after the text Edit Subsection: personnel file.
Under Available Blocks, enter the value MDF in the Search field.
Drag and drop the Live Profile MDF Information block onto the Place Block here field in the newly created section.
Under MDF Screen ID, select the value d.velop_personnel_file_UI.
Click Save.
Setting the People Profile permission
For the link to the personnel file to be displayed to employees in the People Profile, you must set the corresponding permission in the permission role.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Manage Permission Roles section.
Click the permission role d.velop personnel file integration. Alternatively, you can extend another existing role.
Click Permission.
Click Employee Views.
Activate dvelop personnel file.
Click Done.
Click Save Changes.
Setting up automatic creation of MDF entries
For the link to the personnel file to be displayed in the People Profile for every employee, an entry must exist for each person in the individual MDF object. To ensure that these entries are also created for new employees, you can set up a job in the SAP SuccessFactors Integration Center that generates these entries automatically.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Integration Center section.
Click My Integrations.
Click Create and select More Integration Types.
Select the following options:
Trigger Type: Scheduled
Source Type: SuccessFactors
Destination Type: SuccessFactors
Format: OData v2
Click Create.
Under Search for Entities by Entity Name, search for User and select the found entry.
Click Select.
Add the following values:
Integration Name: d.velop personnel file: Upsert personnel file MDF
Description: Job to create MDF Entries for the object definition cust_dvelop_personnel_file.
Click Next.
Click the plug icon (Switch to Field Mapping View).
Click User.
Click the trash can icon (Delete selected Entity).
Click the plus icon (Add Entity).
Under Search, search for cust_dvelop_personnel_file.
Activate cust_dvelop_personnel_file.
Click Add.
Drag and drop the User ID field from the Source Fields section to the externalCode field under Destination Fields.
Click Next.
Optionally, you can configure the filter conditions to control for which users an entry is created.
Click Next.
Under Scheduled Version Occurs, specify when the entries are created. This applies particularly to new employees. Daily processing outside of business hours is recommended.
Click Next.
Click Save twice.
Click Set Schedule.
Click OK.
Optional: For the initial creation of the MDF entries, you can start the job manually via Run Now.
Integrating the personnel file into the main menu
You can switch directly to the personnel file from the main menu. To do this, you must create an individual navigation entry.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Configure Custom Navigation section.
Enter the following values in the initial row at the end of the table:
Menu Item Label: d.velop personnel file
ID: Enter an ID number that has not yet been assigned.
Link Type: Select the value External Link - New Tab/Window.
URL: Enter the d.velop documents search URL for the personnel file. The URL is structured as follows: https:// <<d.velop cloud tenant>> .d-velop.cloud/dms/r/ <<Repository ID>> /sr/?objectdefinitionids=%5B%22 <<Category ID of the personnel file>> %22%5D&fulltext=&properties=%7B%22@USER_ID@%22:%5B%22@p1%22%5D%7D&showdetails=true
Note
Example link: https://sap-qs.d-velop.cloud/dms/r/4bea3c5c-ff46-469c-909c-4cc7c78be21b/sr/?objectdefinitionids=%5B%22a49ea54c-a0c1-4295-a784-90de12c31110%22%5D&fulltext=&properties=%7B%22d8cf2d3d-39a1-4dce-8a6a-a071aa76a8ac%22:%5B%22@USER_ID@%22%5D%7D&showdetails=true
More information can be found in the d.velop documents configuration for the personnel file.
Menu Location: Select Top Navigation.
Permissions: Select the permission groups or roles to which the link should be displayed, e.g. "d.velop personnel file permission group (group)".
Click Save.
Integrating the personnel file under "Take actions" and "Go to"
You can switch directly to the personnel file via the menu items Take action and Go to. To do this, you must create an individual navigation entry.
This is how it works
Open SAP SuccessFactors followed by Admin Center.
Use Search Tools to open the Configure Custom Navigation section.
Enter the following values in the first row at the end of the table:
Menu Item Label: d.velop personnel file
ID: Enter an ID number that has not yet been assigned.
Link Type: Select External Link - New Tab/Window.
URL: Enter the d.velop documents search URL for the personnel file. The URL is structured as follows: https:// <<d.velop cloud tenant>> .d-velop.cloud/dms/r/ <<Repository ID>> /sr/?objectdefinitionids=%5B%22 <<Category ID of the personnel file>> %22%5D&fulltext=&properties=%7B%22@USER_ID@%22:%5B%22@p1%22%5D%7D&showdetails=true
Note
Example link: https://sap-qs.d-velop.cloud/dms/r/4bea3c5c-ff46-469c-909c-4cc7c78be21b/sr/?objectdefinitionids=%5B%22a49ea54c-a0c1-4295-a784-90de12c31110%22%5D&fulltext=&properties=%7B%22d8cf2d3d-39a1-4dce-8a6a-a071aa76a8ac%22:%5B%22@PERSON_USER_ID@%22%5D%7D&showdetails=true
More information can be found in the d.velop documents configuration for the personnel file.
Menu Location: Select the desired links. You can use the following actions:
Employee Profile - Jump To
Employee Profile - Employee Records
Person - Take Action
Person - Go To
Permissions: Select the permission groups or roles to which the link should be displayed, e.g. "d.velop personnel file permission group (group)".
Click Save.