Ready to get started?

Learn more about the CData ODBC Driver for SAP SuccessFactors or download a free trial:

Download Now

Natively Connect to SAP SuccessFactors Data in PHP

The CData ODBC driver for SAP SuccessFactors enables you to create PHP applications with connectivity to SAP SuccessFactors data. Leverage the native support for ODBC in PHP.

Drop the CData ODBC Driver for SAP SuccessFactors into your LAMP or WAMP stack to build SAP SuccessFactors-connected Web applications. This article shows how to use PHP's ODBC built-in functions to connect to SAP SuccessFactors data, execute queries, and output the results.

Configure a DSN

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

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.

Establish a Connection

Open the connection to SAP SuccessFactors by calling the odbc_connect or odbc_pconnect methods. To close connections, use odbc_close or odbc_close_all.

$conn = odbc_connect("CData ODBC SAPSuccessFactors Source","user","password");

Connections opened with odbc_connect are closed when the script ends. Connections opened with the odbc_pconnect method are still open after the script ends. This enables other scripts to share that connection when they connect with the same credentials. By sharing connections among your scripts, you can save system resources, and queries execute faster.

$conn = odbc_pconnect("CData ODBC SAPSuccessFactors Source","user","password"); ... odbc_close($conn); //persistent connection must be closed explicitly

Create Prepared Statements

Create prepared statements and parameterized queries with the odbc_prepare function.

$query = odbc_prepare($conn, "SELECT * FROM ExtAddressInfo WHERE city = ?");

Execute Queries

Execute prepared statements with odbc_execute.

$conn = odbc_connect("CData ODBC SAPSuccessFactors Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM ExtAddressInfo WHERE city = ?"); $success = odbc_execute($query, array('Springfield'));

Execute nonparameterized queries with odbc_exec.

$conn = odbc_connect("CData ODBC SAPSuccessFactors Source","user","password"); $query = odbc_exec($conn, "SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'");

Process Results

Access a row in the result set as an array with the odbc_fetch_array function.

$conn = odbc_connect("CData ODBC SAP SuccessFactors data Source","user","password"); $query = odbc_exec($conn, "SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'"); while($row = odbc_fetch_array($query)){ echo $row["address1"] . "\n"; }

Display the result set in an HTML table with the odbc_result_all function.

$conn = odbc_connect("CData ODBC SAP SuccessFactors data Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM ExtAddressInfo WHERE city = ?"); $success = odbc_execute($query, array('Springfield')); if($success) odbc_result_all($query);

More Example Queries

You will find complete information on the driver's supported SQL in the help documentation. The code examples above are SAP SuccessFactors-specific adaptations of the PHP community documentation for all ODBC functions.