第18章 SAP Concur への接続
SAP Concur は、経費、旅費、および請求書を管理します。インテグレーションで SAP Concur に接続し、SAP Concur のさまざまなアクションの 1 つを実行できます。たとえば、SQL データベースにプロジェクトコードを保存して、経費をプロジェクトに関連付けることができるように、SAP Concur に同じプロジェクトコードが必要な場合に、SQL データベースを接続するインテグレーションを作成して、新規プロジェクトオードを取得するストアドプロシージャーを実行できます。その後、インテグレーションは SAP Concur に接続し、新しいプロジェクトコードを該当のリストにアップロードできます。
以下を参照してください。
18.1. SAP Concur へ接続するためのユーザーロール
SAP Concur には、開発作業の実装サイトと実稼働で使用するための本番サイトがあります。実装サイトは本番サイトをシミュレートします。これにより、SAP Concur のサイトで実稼働で使用する前にインテグレーションを作成および改良することができます。
Fuse Online はいつでも SAP Concur 実装サイトまたは本番サイトに接続できます。よって、特定の Fuse Online 環境で両方の SAP Concur サイトへのコネクションを同時に行うことはサポートされません。各 Fuse Online 環境には、各 SAP Concur サイトにアクセスするための独自のクレデンシャルが必要で、実装サイトのクレデンシャルと本番サイトのクレデンシャルは異なります。
そのため、システム管理者と同等の権限を持つユーザーが以下を行うことが想定されています。
SAP Concur から OAuth クレデンシャルを 2 セット取得します。
- 1 セットは SAP Concur 実装サイトにアクセスするためのクレデンシャル
- もう 1 セットは SAP Concur 本番サイトにアクセスするためのクレデンシャル
- 適切な SAP Concur サイトにアクセスするために、SAP Concur コネクターを設定します。
- SAP Concur コネクションを作成します。
その後、ビジネスユーザーは SAP Concur コネクションを使用するインテグレーションを作成できます。
18.2. SAP Concur 実装サイト用の OAuth クレデンシャルの取得方法
SAP Concur 実装サイトへアクセスするためのクレデンシャルを取得するには、SAP Concur に直接連絡し、以下をリクエストします。
- Fuse Online を SAP Concur 実装サイトへのアクセスが許可される新しいアプリケーションとして登録します。
- 実装サイトに新しいセットの OAuth クレデンシャルが必要です。
-
クレデンシャルには
LIST
スコープが含まれている必要があります。 - 任意で、list アクション以外のアクションを実行する権限を取得するには、他の スコープ をリクエストします。
これらのクレデンシャルの OAuth 付与タイプは
Authorization Grant Flow
である必要があります。Postman などの REST クライアントを使用してリクエストを SAP Concur 実装サイトに送信するには、OAuth 付与タイプが
Password
のクレデンシャルが必要です。クレデンシャルが必要な環境の Fuse Online コールバック URL は次のようになります。
https://syndesis.my-minishift.syndesis.io/api/v1/credentials/callback
この URL の
syndesis.my-minishift.syndesis.io
は、Fuse Online 環境への OpenShift ルートと一致します。
SAP Concur からの応答は以下を提供する必要があります。
- SAP Concur 実装サイトへログインするためのユーザー名およびパスワード。
- Fuse Online の SAP Concur コネクターを設定するために Fuse Online 開発環境の Settings に指定するクライアント ID およびクライアントシークレットの値。
18.3. SAP Concur 本番サイト用の OAuth クレデンシャルの取得方法
Fuse Online の SAP Concur 本番サイトへのアクセスを許可する OAuth クレデンシャルを取得するには、SAP Concur Developer Center の「Getting Started」ページにアクセスし、記載されている手順にしたがいます。
18.4. SAP Concur コネクターの設定
インテグレーションで SAP Concur に接続するには、Fuse Online の SAP Concur コネクターを設定する必要があります。設定後、コネクターを使用して SAP Concur へのコネクションを作成できます。
前提条件
- SAP Concur コネクターを設定して SAP Concur 実装サイトまたは本番サイトにアクセスするかどうかを認識している必要があります。
- Fuse Online の適切な SAP Concur サイトへのアクセスを許可する OAuth クレデンシャルを取得している必要があります。
手順
- Fuse Online の左側のパネルで Settings をクリックします。
- Settings ページの SAP Concur エントリーを展開します。
- Client ID フィールドに、SAP Concur から受け取ったクライアント ID を入力します。
Client Secret フィールドに、SAP Concur から受け取ったクライアントシークレットを入力します。
他のフィールドは Fuse Online によって入力されます。
Save をクリックします。
Fuse Online は即座に設定の検証を試みます。検証に成功しなかった場合は、入力値を修正して再度検証を行います。検証に成功した場合は、インテグレーションに追加できる SAP Concur コネクションを作成することができます。
- SAP Concur エントリーをクリックして折りたたみます。
次のステップ
SAP Concur コネクションを作成します。
18.5. SAP Concur コネクションの作成
インテグレーションで SAP Concur に接続するには、任意の数のインテグレーションを追加できる SAP Concur コネクションを最初に作成する必要があります。SAP Concur コネクションを作成するとき、コネクションの作成時に入力するログインクレデンシャルを使用してコネクションが SAP Concur にアクセスすることを許可します。
前提条件
- コネクションを作成する Fuse Online 環境で、SAP Concur コネクターを設定する必要があります。
- SAP Concur 実装サイトまたは SAP Concur 本番サイトへアクセスするためにコネクターが設定されたかどうかを認識している必要があります。
- SAP Concur コネクターが設定された SAP Concur サイトへログインするためのユーザー名およびパスワードが必要です。
手順
- Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
- 右上の Create Connection をクリックし、利用可能なコネクターを表示します。コネクターは、1 つ以上のコネクションを作成するために使用するテンプレートです。
- SAP Concur コネクターをクリックします。
Configure Connection ページで Connect SAP Concur をクリックし、コネクターが設定された SAP Concur サイトに移動します。
Connect SAP Concur が表示されない場合は、Fuse Online 環境で SAP Concur コネクターが設定されていません。「SAP Concur コネクターの設定」を参照してください。
redirect_uri is improper or not previously registered
が表示された場合、SAP Concur コネクター設定は正しくありません。Fuse Online の Settings ページに戻りコネクター設定を更新および検証します。SAP Concur の OAuth サイトで以下を行います。
- SAP Concur へアクセスするためにこのコネクションが使用する SAP Concur アカウントのメールアドレスを入力します。
- Username が選択されていることを確認してください。
- Continue をクリックします。
- このメールアドレスに関連する SAP Concur パスワードを入力します。
- Sign In をクリックし、Fuse Online に戻ります。
-
Fuse Online の Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、
SAP Concur Test1
を入力します。 -
Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、
Sample SAP Concur connection to the implementation site.
を入力します。 - Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして SAP Concur Test1 が表示されます。
18.6. SAP Concur コネクションのインテグレーションへの追加
SAP Concur コネクションをフローの途中に追加したり、シンプルなインテグレーションの最後のコネクションとして追加することができます。SAP Concur へのコネクションは 85 個のアクションのいずれかを実行できます。
前提条件
- SAP Concur コネクションが設定されている必要があります。
- フローを作成または編集することになります。
- Fuse Online はインテグレーションの追加を要求したり、シンプルなインテグレーションの最後のコネクションを選択するよう要求します。
手順
- Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
- フローに追加する SAP Concur コネクションをクリックします。選択したコネクションをインテグレーションが使用する場合、Fuse Online はそのコネクションに定義されたクレデンシャルを使用して SAP Concur に接続します。
コネクションが実行するアクションを選択します。フローに追加した各 SAP Concur コネクションは選択したアクションのみを実行します。
SAP Concur アクションに関する詳細は、SAP Concur developer center にアクセスし、v3.0 を展開してください。
- Next をクリックして、コネクションをフローに追加します。
結果
インテグレーションビジュアライゼーションで追加した場所にコネクションが表示されます。
18.7. インテグレーションデータフィールドを SAP Concur フィールドにマップする例
ほとんどのインテグレーションでは、SAP Concur へのコネクションの前にデータマッピングステップを追加する必要があります。データマッピングステップでは、以前のインテグレーションステップから利用可能なデータフィールドを SAP Concur アクションパラメーターにマップします。データマッパーでは、インテグレーションに SAP Concur コネクションを追加したときに選択したアクションの SAP Concur パラメーターが Target パネルに表示されます。
新しいプロジェクトコードを取得する SQL ストアドプロシージャーを実行してインテグレーションが起動するとします。インテグレーションは、新しいプロジェクトコードを SAP Concur に追加して終了します。以下の手順は、SAP Concur コネクションの前のデータマッパーステップの例を提供します。インテグレーションビジュアリゼーションが表示され、Fuse Online はインテグレーションの追加を要求します。
- インテグレーションビジュアリゼーションで、SAP Concur の最後のコネクションの前にあるプラス記号をクリックします。
-
Data Mapper をクリックします。データフィールドが表示されると、左側の Sources パネルにデータベースコネクションから利用できるフィールドが表示されます。この例では、ソースフィールドに
concur-list-id
およびproject-code
が含まれます。右側の Target パネルには、コネクションが実行する update list アクションの SAP Concurid
およびcontent
パラメーターが表示されます。 -
concur-list-id
ソースフィールドをid
ターゲットフィールドにマップします。 -
project-code
ソースフィールドをcontent
ターゲットフィールドにマップします。 - 右上の Done をクリックし、データマッパーステップをインテグレーションに追加します。