Ready to get started?

Learn more or sign up for a free trial:

CData Sync

Replicate Multiple SAP Ariba Source Accounts



Replicate multiple SAP Ariba Source accounts to one or many databases.

CData Sync for SAP Ariba Source 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 Ariba Source connections. In this article we show how to use the CLI to replicate multiple SAP Ariba Source accounts.

Configure SAP Ariba Source Connections

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

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;</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>API=SupplierDataAPIWithPagination-V4;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;Environment=SANDBOX;Realm=testRealm;AuthScheme=OAuthClient;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

In order to connect with SAP Ariba Source, set the following:

  • API: Specify which API you would like the provider to retrieve SAP Ariba data from. Select the Supplier, Sourcing Project Management, or Contract API based on your business role (possible values are SupplierDataAPIWithPaginationV4, SourcingProjectManagementAPIV2, or ContractAPIV1).
  • DataCenter: The data center where your account's data is hosted.
  • Realm: The name of the site you want to access.
  • Environment: Indicate whether you are connecting to a test or production environment (possible values are TEST or PRODUCTION).

If you are connecting to the Supplier Data API or the Contract API, additionally set the following:

  • User: Id of the user on whose behalf API calls are invoked.
  • PasswordAdapter: The password associated with the authenticating User.

If you're connecting to the Supplier API, set ProjectId to the Id of the sourcing project you want to retrieve data from.

Authenticating with OAuth

After setting connection properties, you need to configure OAuth connectivity to authenticate.

  • Set AuthScheme to OAuthClient.
  • Register an application with the service to obtain the APIKey, OAuthClientId and OAuthClientSecret.

    For more information on creating an OAuth application, refer to the Help documentation.

Automatic OAuth

After setting the following, you are ready to connect:

    APIKey: The Application key in your app settings. OAuthClientId: The OAuth Client Id in your app settings. OAuthClientSecret: The OAuth Secret in your app settings.

When you connect, the provider automatically completes the OAuth process:

  1. The provider obtains an access token from SAP Ariba and uses it to request data.
  2. The provider refreshes the access token automatically when it expires.
  3. The OAuth values are saved in memory relative to the location specified in OAuthSettingsLocation.

Configure Queries for Each SAP Ariba Source 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 Ariba Source API. The statement below caches and incrementally updates a table of SAP Ariba Source data:

REPLICATE Vendors;

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 Ariba Source accounts into the same database:

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

REPLICATE PROD_Vendors SELECT * FROM Vendors

Alternatively, you can use a different schema:

REPLICATE PROD.Vendors SELECT * FROM Vendors

Run Sync

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

Windows

SAPAribaSourceSync.exe -g MyProductionSAPAribaSourceConfig.xml -f MyProductionSAPAribaSourceSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SAPAribaSourceSync.jar -g MyProductionSAPAribaSourceConfig.xml -f MyProductionSAPAribaSourceSync.sql