ColdFusion で ODBC 経由のSAP Ariba Source のデータをリアルタイムにインポートしてアプリケーションを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC ドライバーを使って、ColdFusion でSAP Ariba Source のデータ をインポート・活用。

Adobe ColdFusion は、Web およびモバイルアプリケーションの開発プラットフォームです。独自のスクリプト言語である ColdFusion Markup Language(CFML)を使用して、データ駆動型の Web サイトを作成したり、REST などのリモートサービスを生成したりできます。ColdFusion を CData ODBC Driver for SAP Ariba Source と組み合わせることで、ColdFusion の Web およびモバイルアプリケーションとSAP Ariba Source のライブデータを連携できます。これにより、アプリケーションをより堅牢で完全なものにすることができます。この記事では、ODBC ドライバーを使って、ColdFusion マークアップファイル内でSAP Ariba Source のデータを取得してテーブルを作成する方法を説明します。

このチュートリアルを進めるには、CData ODBC Driver for SAP Ariba Source と Adobe ColdFusion をインストールする必要があります。

接続の設定

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップです。Microsoft ODBC データソースアドミニストレーターを使って ODBC DSN を作成・設定できます。

それでは、SAP Ariba Source に接続していきましょう。接続するには、以下のプロパティを設定します。

  • API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Supplier、Sourcing Project Management、またはContract API を選択します(可能な値は、SupplierDataAPIWithPaginationV4、SourcingProjectManagementAPIV2、または ContractAPIV1 です)
  • DataCenter:アカウントのデータがホストされているデータセンター
  • Realm:アクセスしたいサイト名
  • Environment:テスト環境、または本番環境のいずれかを指定してください。(可能な値は、TEST またはPRODUCTION)

Supplier Data API またはContract API に接続する場合は、さらに以下のプロパティも設定してください。

  • User:API 呼び出しを行うユーザーのId
  • PasswordAdapter:認証するUser に関連付けられたパスワード

Supplier API に接続している場合は、ProjectId をデータを取得したいソーシングプロジェクトのId に設定してください。

OAuth 認証

続いて、接続プロパティを設定した後、認証のためにOAuth 接続を設定する必要があります。

  • AuthScheme をOAuthClient に設定します
  • サービスにアプリケーションを登録し、APIKeyOAuthClientId、およびOAuthClientSecret を取得する必要があります

OAuth アプリケーションの作成について、詳しくはヘルプドキュメントをご確認ください。

OAuth の自動リフレッシュ

以下のプロパティを設定して、接続してみましょう。

  • APIKey:アプリケーション設定のApplication key
  • OAuthClientId:アプリケーション設定のOAuth Client Id
  • OAuthClientSecret:アプリケーション設定のOAuth Secret

接続すると、CData 製品が自動でOAuth プロセスを完了します。

  1. CData 製品がSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします
  2. CData 製品がアクセストークンの期限が切れると自動的にリフレッシュします
  3. OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます

データソースの追加とテーブルの作成

DSN を作成したら、以下の手順に従って、新しいデータソースを追加し、接続をテストし、ColdFusion マークアップファイルを作成し、最後にSAP Ariba Source のデータをインポートして ColdFusion でテーブルに表示します。

  1. ColdFusion 管理インターフェースから、Data & Services を選択します。
  2. ここで「Add New Data Source」をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前で構いません。ODBC ドライバーの場合は「ODBC Socket」を選択し、「Add」ボタンをクリックします。
  3. ODBC DSN ドロップダウンメニューから CData SAP Ariba Source Sys を選択します。Advanced Settings セクションでは、Connection String は空白のままにしておきます。なお、この入力フィールドで指定されたプロパティは、DSN 設定で指定されたものを上書きします。
  4. 次に、先ほど作成した CDataSAP Ariba SourceODBC データソースの左側にあるチェックマークを押して、接続をテストします。データソースが「OK」ステータスを報告したら、使用する準備ができています。
  5. 次に、新しい ColdFusion マークアップファイル(.cfm)を作成し、ColdFusion の wwwroot ディレクトリ(「C:\ColdFusion2021\cfusion\wwwroot」)に配置します。

    以下のコードでデータソースをクエリします:

              
          <cfquery name="SAP Ariba SourceQuery" dataSource="CDataSAP Ariba SourceODBC">
            SELECT * FROM Vendors
          </cfquery>
      
    CFTable を使用すると、HTML でテーブルを簡単に出力できます:
              
            <cftable
            query = "SAP Ariba SourceQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
    
            <cfcol header="<b>SMVendorID</b>" align="Left" width=2 text="SMVendorID"/>
    
            <cfcol header="<b>Category</b>" align="Left" width=15 text="Category"/>
    
            ...
    
          </cftable>
      
    HTML 部分を含む完全なコードは以下のとおりです:
              
          <html>
          <head><title>CData Software | SAP Ariba Source Vendors Table Demo </title></head>
          <body>
          <cfoutput>#ucase("SAP Ariba Source Vendors Table Demo")#</cfoutput>
          <cfquery name="SAP Ariba SourceQuery" dataSource="CDataSAP Ariba SourceODBC">
    
            SELECT * FROM Vendors
    
          </cfquery>
          <cftable
            query = "SAP Ariba SourceQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
            <cfcol header="<b>SMVendorID</b>" align="Left" width=2 text="SMVendorID"/>
    
            <cfcol header="<b>Category</b>" align="Left" width=15 text="Category"/>
    
            ...
    
          </cftable>
          </body>
    
          </html>
      
  6. 最後に、ブラウザでコードを実行します。SAP Ariba Source のデータを含むテーブルが表示されます。

なお、CData ODBC ドライバーは cfqueryparam 要素を使用したパラメータ化クエリもサポートしています。例:

SELECT * FROM Account WHERE name =  

おわりに

CData ODBC Driver for SAP Ariba Source の 30日間無償トライアルをダウンロードして、Adobe ColdFusion でSAP Ariba Source 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、サポートチームまでお問い合わせください。

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

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

 ダウンロード

詳細:

SAP Ariba Source Icon SAP Ariba Source ODBC Driver お問い合わせ

SAP Ariba Source ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなSAP Ariba Source アカウントデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにSAP Ariba Source データにアクセスし、読み、書き、更新を実行できます。