You can connect your SAP SuccessFactors system to your SAP Business Technology Platform (SAP BTP) subaccount. After you do so, you can define a solution that extends it. In more complex scenarios, you can even provide a solution that can be consumed by another SAP BTP subaccount and extend the subscriber's SAP SuccessFactors system.
The legacy home page is in deprecation. It's no longer available for most customers.
SAP Business Technology Platform, Neo environment will sunset on December 31, 2028, subject to terms of customer or partner contracts.
For more information, see SAP Note 3351844.
This documentation refers to SAP Business Technology Platform, Neo environment. If you are looking for documentation about other environments, see SAP Business Technology Platform
↗️ .
Make sure that:
- You have onboarded an SAP SuccessFactors company in your SAP BTP subaccount. If you are providing a solution that is consumed by another subaccount in the SAP BTP, the subscriber subaccount is responsible for onboarding the SAP SuccessFactors company. See Configuring the Subaccount in SAP BTP for SAP SuccessFactors.
- You have a database and valid credentials.
In the example below, you will create a standard SAP SuccessFactors extension. The “Benefits” sample Java application provided by SAP is used. It is located at https://github.com/SAP/cloud-sfsf-benefits-ext.
If you intend to provide this solution for consumption by other subaccounts:
- The sample “Benefits” Java Application will be deployed to your subaccount, but the SAP SuccessFactors artifacts will be deployed to the subscriber subaccounts and their SAP SuccessFactors systems.
- You can define an additional МТА extension descriptor for your subscribers, so that they can add their own specific data.
As a result, their solution is going to have:
- The sample “Benefits” Java application
- A database binding for the sample “Benefits” Java application
- The SAP SuccessFactors tile and SAP SuccessFactors role are going to be deployed to the SAP SuccessFactors company
- Connectivity for the sample “Benefits” Java application to an SAP SuccessFactors system
For the example below, we assume that you have the following:
- Database alias
tst
- Database credentials
myuser
andmypassword
You have to model the sample “Benefits” Java application as a module into the MTA deployment descriptor. You also have to define an SAP SuccessFactors Role module and a database binding resource.
The technical-user property results in the systemUser property in the destination that is created. The systemUser property is deprecated and will be removed soon. We recommend that you work on behalf of specific (named) users instead of working with a technical user.
_schema-version: '3.1' parameters: hcp-deployer-version: '1.1.0' ID: com.example.basic.sfsf version: 0.1.0 modules: - name: benefits-app type: com.sap.java parameters: name: benefits jvm-arguments: -server java-version: JRE 7 runtime: neo-java-web runtime-version: 1 sfsf-idp-access: true sfsf-connections: - type: default additional-properties: nameIdFormat: 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified' - type: technical-user technical-user-id: SFSFAdmin sfsf-outbound-connections: - type: OAuth2SAMLBearerAssertion name: BenefitsOutboundConnection subject-name-id: mail subject-name-id-format: EMAIL_ADDRESS assertion-attributes-mapping: firstname: firstname lastname: lastname email: email role-provider: sfsf sfsf-home-page-tiles: resource: resources/benefits-tiles.json requires: - name: dbbinding - name: benefits-roles - name: benefits-roles type: com.sap.hcp.sfsf-roles resources: - name: dbbinding type: com.sap.hcp.persistence parameters: id: tst
In the example above, you can see the following:
- The sample “Benefits” Java application module requires both database binding resource and the SAP SuccessFactors Roles module.
- The SAP SuccessFactors tile is defined as a parameter of the sample “Benefits” Java application and points to a
JSON
file within the Multitarget Application archive - SAP SuccessFactors provider is defined as a parameter of the sample “Benefits” Java application
- The sample “Benefits” Java application is going to use the SAP SuccessFactors IDP for authentication
- The sample “Benefits” Java application is going to use the default connectivity options when accessing the SAP SuccessFactors system
Both the SAP SuccessFactors roles and tiles require additional files to be added to the Multitarget Application archive. The deployment descriptor contains only the modeling of those entities, but their actual content is external to the MTA deployment descriptor, in the same way as the sample “Benefits” Java application .war
archive.
You also have to create a JSON
file benefits-tiles.json
that contains the SAP SuccessFactors tiles.
[ { "name" : "SAP Corporate Benefits", "path" : "com.sap.hana.cloud.samples.benefits", "size" : 3, "padding" : false, "roles" : ["Corporate Benefits Admin"], "metadata" : [ { "title" : "SAP Corporate Benefits", "description" : "SAP Corporate Benefits home page tile", "locale" : "en_US" } ] } ]
In the example above, you can see an example of an SAP SuccessFactors tile for the sample “Benefits” Java application.
Next you have to create a JSON
file benefits-roles.json
that contains the SAP SuccessFactors roles.
[ { "roleDesc": "SAP Corporate Benefits Administrator", "roleName": "Corporate Benefits Admin", "permissions": [] } ]
In the example above, you can see an example of an SAP SuccessFactors role for the sample “Benefits” Java application.
Afterward, you have to create your MANIFEST.MF
file and define the Java application, roles, and tiles.
Manifest-Version: 1.0 Created-By: SAP SE Name: resources/benefits-roles.json Content-Type: application/json MTA-Module: benefits-roles Name: com.sap.hana.cloud.samples.benefits.war Content-Type: application/zip MTA-Module: benefits-app
In the example above, you can see the following:
- Entry that links your SAP SuccessFactors roles with the MTA deployment descriptor
- Entry that links your “Benefits” sample Java application with the MTA deployment descriptor
Now you can create your Multitarget Application archive by following the JAR file specification. The archive structure has to be as follows:
/com.sap.hana.cloud.samples.benefits.war /META-INF /META-INF/mtad.yaml /META-INF/MANIFEST.MF /resources/benefits-roles.json /resources/benefits-tiles.json
Start by creating an MTA extension descriptor that holds the security-sensitive data, such as credentials.
Make sure that you always use an extension descriptor when you have sensitive data within your solution.
_schema-version: '3.1' ID: com.example.basic.sfsf.config extends: com.example.basic.sfsf parameters: title: SuccessFactors example description: This is an example of the sample Benefits Java Application for SuccessFactors resources: - name: dbbinding parameters: user-id: myuser password : mypassword
In the example above, the extension descriptor adds the user-id
and password
parameters to the resource dbbinding
, which is modeled in the deployment descriptor.
After you deploy your solution, you can open its tile in the cockpit and check if the SAP SuccessFactors extension solution is deployed.
Related Information
The Multitarget Application Model v.2