Ready to get started?

Learn more or sign up for a free trial:

CData Sync

Replicate Multiple SAP SuccessFactors Accounts



Replicate multiple SAP SuccessFactors accounts to one or many databases.

CData Sync for SAP SuccessFactors is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. Both Sync for Windows and Sync for Java include a command-line interface (CLI) that makes it easy to manage multiple SAP SuccessFactors connections. In this article we show how to use the CLI to replicate multiple SAP SuccessFactors accounts.

Configure SAP SuccessFactors Connections

You can save connection and email notification settings in an XML configuration file. To replicate multiple SAP SuccessFactors accounts, use multiple configuration files. Below is an example configuration to replicate SAP SuccessFactors to SQLite:

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString>User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

You can authenticate to SAP Success Factors using Basic authentication or OAuth with SAML assertion.

Basic Authentication

You must provide values for the following properties to successfully authenticate to SAP Success Factors. Note that the provider will reuse the session opened by SAP Success Factors using cookies. Which means that your credentials will be used only on the first request to open the session. After that, cookies returned from SAP Success Factors will be used for authentication.

  • Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
  • User: set this to the username of your account.
  • Password: set this to the password of your account.
  • CompanyId: set this to the unique identifier of your company.

OAuth Authentication

You must provide values for the following properties, which will be used to get the access token.

  • Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
  • User: set this to the username of your account.
  • CompanyId: set this to the unique identifier of your company.
  • OAuthClientId: set this to the API Key that was generated in API Center.
  • OAuthClientSecret: the X.509 private key used to sign SAML assertion. The private key can be found in the certificate you downloaded in Registering your OAuth Client Application.
  • InitiateOAuth: set this to GETANDREFRESH.

Configure Queries for Each SAP SuccessFactors Instance

Sync enables you to control replication with standard SQL. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the SAP SuccessFactors API. The statement below caches and incrementally updates a table of SAP SuccessFactors data:

REPLICATE ExtAddressInfo;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple SAP SuccessFactors accounts into the same database:

You can use a different table prefix in the REPLICATE SELECT statement:

REPLICATE PROD_ExtAddressInfo SELECT * FROM ExtAddressInfo

Alternatively, you can use a different schema:

REPLICATE PROD.ExtAddressInfo SELECT * FROM ExtAddressInfo

Run Sync

After you have configured the connection strings and replication queries, you can run Sync with the following command-line options:

Windows

SAPSuccessFactorsSync.exe -g MyProductionSAPSuccessFactorsConfig.xml -f MyProductionSAPSuccessFactorsSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SAPSuccessFactorsSync.jar -g MyProductionSAPSuccessFactorsConfig.xml -f MyProductionSAPSuccessFactorsSync.sql