現場帳票電子化ソリューションXC-Gate とXC-Connect を使ってSAP SuccessFactors のデータを利用した帳票を作成する方法

杉本和也
杉本和也
リードエンジニア




今回は現場帳票管理・電子化ソリューションの『XC-Gate』とCData JDBC ドライバを組み合わせて各種クラウドデータを帳票で活用する方法を紹介します。

XC-Gate とは?

XC-Gate は製造業、建設業、食品業界など様々な業界で活用されている現場帳票電子化ソリューションです。

https://product.technotree.com/xc-gate-ent/

普段皆さんが使っているExcel を利用して帳票をカスタマイズ、作成することができるのが大きな特徴です。

https://www.technotree.com/form/xc-editor

XC-Gate 紹介画像

また、XC-Connect というツールをサーバーにインストールして、ローコードで業務管理・生産管理システムやBIツール、Excel、CSVといったデータと連携することができます。

https://product.technotree.com/xc-gate/xc-connect/feature/

XC-Connect 紹介画像

シナリオ

今回作成する帳票は以下のようにSAP SuccessFactors のデータを一覧表示するものとなっています。

XC-Gate によるSAP SuccessFactorsデータの帳票表示例

SAP SuccessFactors はREST APIが提供されているので、一見連携しやすいように見えますが、XC-Gate から直接クエリするにはインターフェース処理が難しい部分が実際問題として存在します。

https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/resources_query.htm

そこで今回の記事ではこのボトルネックを「CData JDBC Driver」を活用することで解消します。

https://jp.cdata.com/drivers/sapsuccessfactors/jdbc/

XC-Gate では XC-Connect というデータベースのデータを読み込むための仕組みが標準提供されており、この機能を介してSQL ServerやMySQLなどにアクセスできるようになっています。

https://www.xc-times.com/news/?newsUCd=908b7620-3ecd-4e04-ab5d-4a42897c035d

XC-Gate とXC-Connect のデータ連携説明図

そして、実はこのXC-Connect は内部でJDBC が利用されているため、XC-Connect とCData が提供しているJDBC Driver ラインナップを通じて、各種クラウドサービスのAPI にアクセスすることができるようになります。

とは言っても、説明だけではイメージできない部分もあると思うので、実際に帳票を作成してみましょう。

CData SAP SuccessFactors JDBC Driver のインストール

最初にCData SAP SuccessFactors JDBC Driver を対象のマシンにインストールします。

以下のページから30日間のトライアルがダウンロードできます。

SAP SuccessFactors JDBC ドライバーページ

インストーラーを入手後、対象のマシンでセットアップを進めていきます。

CData JDBC ドライバのインストール画面

セットアップ完了後、以下のフォルダにJDBC Driver のjar ファイルが配置されます。

C:\Program Files\CData\CData JDBC Driver for SAPSuccessFactors 2023J\lib

JDBC Driver の接続テスト

対象のjar ファイルを実行すると接続テストツールが立ち上がるので、これでSAP SuccessFactors への接続を確認しておきましょう。

セットアップが完了すると接続設定画面が表示されるので、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">ヘルプドキュメントの「はじめに」をご確認ください。

あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。

接続設定

無事接続が完了すると、「接続テストの成功」メッセージが表示されます。接続文字列は後で利用するのでコピーして控えておきましょう。

XC-Connect の転送設定を追加する

続いてXC-Connect の接続設定を進めましょう。XC-GateでJDBC Driver 経由のデータを扱う場合は、このXC-Connect が必要となります。

XC-Connect は以下のページでデベロッパー登録をすることでダウンロードできます。

https://www.developer.technotree.com/

XC-Connect をセットアップし立ち上げると、ログイン画面が表示されるので、設定したパスワードを使用してログインします。

XC-Connect ログイン画面

併せて転送設定でXC-Gate側への接続を確立しておきましょう。予めXC-Gate の証明書を取得しておき、転送設定で指定しておきます。

XC-Connect の転送設定画面

JDBC ドライバーの登録

それではXC-Gate でCData JDBC ドライバの指定を追加していきます。

「システム設定」→「JDBCファイル設定」に移動し、

JDBC ファイル設定に移動

ここでCData JDBC ドライバをアップロードして登録します。「ファイルを選択」をクリックし「cdata.jdbc.sapsuccessfactors.jar」をアップロードします。

XC-Gate JDBCドライバー登録画面

JDBC 登録後は読み込みのためにXC-Connect を一度再起動させましょう。

XC-Connect 再起動指示画面

合わせてライセンスファイル「cdata.jdbc.sapsuccessfactors.lic」を「C:\Windows\ServiceProfiles\LocalService\.CData」に配置しておきます。もし「.CData」フォルダが無い場合は、作成して配置します。

機器の追加

CData JDBC ドライバを配置したら、XC-Connect で「どういったデータを読み込ませるのか」を指定する機器設定を追加していきます。まず最初に接続情報を追加しましょう。

「機器設定」タブに移動し、「+機器の追加」をクリックします。

XC-Connect 機器設定追加画面

プロトコルの選択画面では「メーカー:データベース」「機種:JDBC 汎用(SQL)」「プロトコル:SQL」をそれぞれ指定します。

XC-Connect 機器プロトコル設定画面

最初に接続情報を指定します。任意の設定名称を指定し、JDBC Driver 名で先程登録したDriver を選択します。

接続URLには「JDBC Driver の接続テスト」時に取得した接続文字列を指定しましょう。「ユーザー名」「パスワード」は利用しませんのでダミーの文字列を入力すればOKです。

入力後「接続テスト」をクリックして、「接続テストに成功しました」と表示さればOKです。

XC-Connect 接続情報設定画面

取得データの追加

続いて。機器設定の詳細から「どういったデータを読み込ませるのか?」を指定する「取得データの追加」設定を行います。

機器登録完了後、「+取得データの追加」をクリックします。

XC-Connect 取得データ設定画面

任意のデータ名称を取得後、実行SQL を指定します。ここではSAP SuccessFactors の取引先情報である「Account」テーブルを取得するためのSQLを指定しました。

取得間隔や実行タイムアウトは任意の設定を指定します。ただ、Web API の連携では、各種API 側のリクエスト制限が指定されているものも存在するので、過度に短い間隔は利用しないほうが良いかと思います。

「保存方式」は「マスタ(項目)形式」を指定し、キーとしてSAP SuccessFactors の「Id」カラムを指定しました。

XC-Connect データ読み込み設定画面

設定後、「接続テスト」をクリックし、以下のようにデータが取得できていればOK です。

XC-Connect データ取得テスト結果画面

登録後、「起動する」ボタンをクリックしておきましょう。

XC-Connect 転送設定起動画面

タグ設定の追加

最後にXC-Gate で登録したマスタデータを利用するためのタグ設定を追加します。

「タグ設定」タブに移動し「+タグ設定の追加」をクリックしましょう。

XC-Gate タグ設定追加画面

「機器データ名称」の「選択」ボタンをクリックして、

XC-Gate 機器データ名称選択画面

登録しているCData JDBC ドライバを選択。

XC-Gate CData JDBC ドライバ選択画面

以下のようなタグ設定の画面に移るので「+表示項目の追加」をクリックし

XC-Gate タグ設定画面

帳票に取り込みたい項目をそれぞれ追加していきます。

XC-Gate 帳票項目追加画面

あとは「タグEXCEL出力」でXC-Gate で利用するタグ設定を取得します。

XC-Gate タグExcel出力画面

これでXC-Gate で帳票を作成するためのタグが準備できました。

XC-Gate タグ設定完了画面

帳票の登録

それでは実際にXC-Connect 経由でXC-Gate の帳票にデータが表示できるか試していきましょう。今回は先程取得したタグを利用して以下のような帳票をExcel で作成しました。

XC-Gate によるExcel帳票例

XC-Gate にログインし、これを「フォルダ」から「新しいチェックシート」として登録します。

XC-Gate チェックシート登録画面

作成したExcel ファイルを指定して、任意のファイル名でチェックシートを登録します。

XC-Gate チェックシートファイル指定画面

チェックシートの登録が完了したら「プレビュー」ボタンをクリックして、帳票を参照してみましょう。

XC-Gate チェックシートプレビュー画面

以下のような画面が表示されるので「コネクト取得」をクリックしてみると、

コネクト取得をクリック

CData JDBC ドライバとXC-Connect 経由でリアルタイムにSAP SuccessFactors のデータが取得できました!

SAP SuccessFactors のデータを取得

おわりに

このようにXC-Gate・XC-Connect とCData JDBC ドライバを組み合わせることで、手軽にXC-Gate の帳票に各種クラウドサービスのデータを取り込むことができます。

CData ではSAP SuccessFactors 以外にも様々なクラウドデータソースのJDBC Driver を扱っています。

https://jp.cdata.com/jdbc/

ぜひ自社で利用しているサービスと合わせて、XC-Gate を活用してみてください。

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

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

 ダウンロード

詳細:

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

SAP SuccessFactors に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。