CData ODBC Driver を使ってAsprovaをSAP SuccessFactors と連携

浦邊信太郎
浦邊信太郎
プロダクトスペシャリスト
CData ODBC Driver を使って、AsprovaとSAP SuccessFactors とのデータ連携を実現します。



生産スケジューラ「Asprova」はODBC によるデータベース接続をサポートしているため、これを通してSAP SuccessFactorsとのデータ連携を行うことが可能です。 通常、SAP SuccessFactorsなどのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData SAP SuccessFactors ODBC Driver によって、RDB にアクセスするのと同じ感覚で、SAP SuccessFactors のデータを扱うことができます。 本記事ではSAP SuccessFactorsからAsprovaへの「品目」データ取り込みの例を通してデータ連携手順を示します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. SAP SuccessFactors をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. 多様なアプリケーション、ツールにSAP SuccessFactors のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてSAP SuccessFactors の接続を設定、2.Asprova 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとSAP SuccessFactors への接続設定

まずは、本記事右側のサイドバーからSAPSuccessFactors ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

インストールが完了したら、DSN 設定画面が開くので、必要な接続プロパティを入力してSAP SuccessFactors への接続を行います。

SAP SuccessFactorsへの接続

それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。

認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

必要な接続プロパティ

選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。

  • URL:SuccessFactors をホストするサーバーのURL
  • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです

OAuth 認証

SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。

  • SAP SuccessFactors LMS インスタンスのクライアントグラント種別
  • SAML-2 Bearer グラント種別

OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

OAuth アクセストークンの取得およびリフレッシュ

以下のプロパティを設定してください。

  • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します
  • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
  • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
  • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容

接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。

  1. CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
  2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます

アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。

カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。

Asprovaでの接続情報の設定

  1. メニューの「ファイル」から「データ入出力」を選択し、「データ入出力」ダイアログを開きます。

    DataIO

  2. 「品目」行のヘッダをダブルクリックし、「データ入出力の編集」ダイアログを開きます。

    DataIO

  3. 「RDBトランザクション」を「いいえ」に変更し、「OK」を押下します。

    DataIO

データドライバの設定

  1. 「品目」の「データソースの種類」を「OLE DB」に変更します。

    DataIO

  2. 「接続文字列/フォルダ」列のボタンを押下し、「データ リンク プロパティ」ダイアログを開きます。 「プロバイダー」タブで「Microsoft OLE DB Provider for ODBC Drivers」を選択し「次へ」を押下します。

    DataIO

  3. 「接続」タブで「データソース名を使用する」が選択されていることを確認し、コンボボックスで「CData SAP SuccessFactors Source」を選択します。

    DataIO

  4. 「接続のテスト」を押下し「接続のテストに成功しました」というメッセージが表示されればドライバの設定に成功です。

スキーマの設定

  1. 「外部テーブル名」列のボタンを押下し、「テーブル一覧」ダイアログを開きます。 ここでSAP SuccessFactorsのテーブル一覧が表示されることを確認してください。

    DataIO

  2. 出力先テーブル(Asprovaの品目)、入力元テーブルの項目の対応付けを行います。「フィールドマッピング」列のボタンを押下し、「品目-フィールドマッピング」画面を開きます。

    DataIO

  3. 画面の二つのテーブルの間で右クリックし、コンテキストメニューの「全削除」を選択します。すべてのマッピングが削除されたことを確認し、項目同士をドラッグアンドドロップでつなぎ上記のマッピングを設定します。

    DataIO

  4. これでデータ取り込みの設定は終了です。メニューの「ファイル」から「インポート」をクリックします。画面下のメッセージでエラーが出なければインポートは完了です。

データの確認

メニューの「テーブル表示」から「品目」を選択します。下図のように、SAP SuccessFactorsから取り込んだ商品データが表示されれば成功です。

DataIO

はじめる準備はできましたか?

SAP SuccessFactors ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP SuccessFactors Icon SAP SuccessFactors ODBC Driver お問い合わせ

SAP SuccessFactors ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからSAP SuccessFactors にデータ連携。

SAP SuccessFactors データにデータベースと同感覚でアクセスして、SAP SuccessFactors のBenefits、Compensation、Jobs データに使い慣れたODBC インターフェースで双方向連携。