Coopel のシナリオで使えるSAP のデータ連携用のバックエンドAPI をノーコードで開発

杉本和也
杉本和也
リードエンジニア
クラウドRPA Coopel から SAP のデータに接続するためのバックエンドAPI Server をCData API Server で構築



CData API Server を使って、Coopel から SAP に接続、データを取得する方法を説明します。

SAP データ連携について

CData は、SAP のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • SAP R/3、SAP NetWeaver、SAP ERP / ECC 6.0、RFC によって公開されている SAP S/4 HANA オンプレミスデータを含む、すべてのエディションの SAP にアクセスできます。
  • SQL ストアドプロシージャを通じて、IDoc または IDoc XML ファイルのサーバーへの送信、関数やクエリ用のスキーマの作成などのアクションを実行できます。
  • お客様の SAP インスタンスがホストされている場所に応じて、最適に接続できます。
    • SAP S/4HANA クラウドパブリックエディションをご利用のお客様は、SAP NetWeaver Gateway 接続を使用します
    • SAP S/4HANA プライベートエディションをご利用のお客様は、SAP ERP または SAP NetWeaver Gateway 接続のいずれかを使用します。

多くのユーザーは、SAP データをデータベースやデータウェアハウスにレプリケートするために当社のツールを活用していますが、Tableau、Power BI、Excel などの分析ツールとライブ SAP データを統合しているお客様も多数います。


はじめに


API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなSAP OData サービスを作成していきましょう。

SAP への接続

Coopel からSAP のデータを操作するには、まずSAP への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「SAP」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、SAP への接続設定を行っていきましょう! 接続設定
  5. SAP への接続はlibrfc32.dll、librfc32u.dll、NetWeaver、Web Services (SOAP) のどれかで行います。 ConnectionType 接続プロパティをCLASSIC (librfc32.dll)、CLASSIC_UNICODE (librfc32u.dll)、NETWEAVER、SOAP に設定します。

    SOAP を使う場合、Client、RFCUrl、SystemNumber、User、Password のプロパティを設定します。

    それ以外の方法の場合、Host、User、Password、Client、SystemNumber を指定します。

    Note: librfc32.dll やその他のSAP 接続には対応しておりません。SAP インストールから対応する接続モジュールをマシンにインストールしておいてください。

    詳細情報はobtaining the connection properties を参照してください。

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

Java 版では、SAP system にJCo JAR ファイルで接続します。Jco JAR ファイルの使い方は、ヘルプドキュメントの「はじめに」を参照してください。

Windows 版では、SAP への接続はlibrfc32.dll、librfc32u.dll、NetWeaver、Web Services (SOAP) のどれかで行います。 ConnectionType 接続プロパティをCLASSIC (librfc32.dll)、CLASSIC_UNICODE (librfc32u.dll)、NETWEAVER、SOAP に設定します。

Note: librfc32.dll やその他のSAP 接続には対応しておりません。SAP インストールから対応する接続モジュールをマシンにインストールしておいてください。

すべてのSync はSAP にSOAP Web Service 経由での接続をサポートしています。SOAP アクセスには、Client、RFCUrl、User、Password の接続プロパティを入力します。ConnectionType はSOAP に設定します。

詳細情報はobtaining the connection properties を参照してください。

API Server のユーザー設定

次に、API Server 経由でSAP にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

SAP 用のAPI エンドポイントの作成

ユーザーを作成したら、SAP のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でSAP への接続を設定してユーザーを作成し、API Server でSAP データのAPI を追加しました。これで、OData 形式のSAP データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

オンプレミスDB やファイルからのAPI Server 使用(オプション)

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

Coopel でシナリオを作成する

CData API Server 側の準備が完了したら、早速Coopel 側でシナリオの作成を開始します。

  1. まず、Coopel にログインし、必要に応じて新しいワークスペースを作成します。
  2. ワークスペースを作成後、CData API Server にアクセスするための認証情報をCoopel 上に保存しましょう。「シナリオアカウント設定」→「新規追加」→「その他のサービス」を選択します。
  3. ここで、CData API Server にアクセスするためのUserID とPassword を入力し、保存じます。Web サービス名には任意の名称を入力してください。
  4. 次にメインとなるシナリオを作成します。「シナリオ作成」をクリックし
  5. 任意の名称を入力します。

SAP のデータを取得する処理を作成

シナリオを作成したらSAP のデータを取得する処理の作成を進めましょう。

  1. Coopel からSAP のデータを取得するためには、CData API Server を経由します。Coopelでは、ブラウザアクセスと同じような方法でCData API Server にアクセスするので、「URL にアクセス」のアクションを使って、データ取得を行います。Coopel のアクション一覧から「URL にアクセス」を配置し、先程検証した以下の「URL」および、「Basic 認証アカウント」に指定します。
  2. 続いて、表示されたデータをCoopel 上で扱いやすい形にするためにテーブルデータとして取得を行います。Coopel アクションの一覧から「テーブルデータを取得」を配置し、先程作成した「URL にアクセス」をブラウザへ指定。テーブルの要素として「table」を指定します。
  3. これで、Coopel 上でCData API Server 経由で取得したデータを操作する準備が整いました。あとはCoopel の様々なアクションを駆使して、フローを作成していきます。

ファイル出力処理を作成

データを取得する処理が作成できたら、そのデータをExcel ファイルに出力してみましょう。

  1. 最初に「ファイルの新規作成」アクションを使って、Excel ファイルを作成します。任意の名称でファイル名とシート名を指定してください。
  2. 次に「シートをシート名で指定」のアクションを配置して、先程作成したExcel ファイルのシートを参照します。
  3. シートを開いたら、取得したデータを「セルにペースト」アクションで貼り付けます。事前に作成した「対象シート」と、CData API Server から取得した「テーブルデータ」を指定します。書き込み対象セルは一番左上のセルから入力するので「A1」を指定しました。
  4. 最後に作成したExcelファイルを「ファイルを保存する」アクションで保存します。以上ですべてのシナリオが完成しました。

実行

それでは完成したシナリオを実行してみましょう。

  1. Coopelでは画面右上の「実行」ボタンでシナリオを試すことができます。正常に実行されると、以下のように「ファイルを保存する」アクションのダイアログに生成されたExcelファイルが表示されます。
  2. これをダウンロードして、Excel で開いてみると、以下のようにCData API Server 経由で取得したデータが入力されていることが確認できます。

まとめと30日の無償評価版のご案内

このように SAP 内のデータをCoopel で利用することができるようになります。CData API Server は、30日の無償評価版があります。是非、お試しいただき、Coopel からのデータ参照を体感ください。

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

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ