Delphi のSAP Ariba Procurement のデータへのデータバインドコントロール

古川えりか
古川えりか
コンテンツスペシャリスト
標準のデータアクセスコンポーネントとコントロールを備えたDelphi のSAP Ariba Procurement にデータバインドします。

CData ODBC Driver for SAPAribaProcurement は、ODBC 標準をサポートし、リアルタイムSAP Ariba Procurement のデータとビジュアルフォームデザイナおよびDelphi の他のラピッド開発ツールとの統合を可能にします。ODBC ドライバーは、データベース開発用のシングルAPI を提供することにより、Delphi のような単一のコードベースを共有するアプリケーションのデータアクセス戦略を簡素化します。この記事では、SAP Ariba Procurement に接続してシンプルなVisual Component Library (VCL) アプリケーションおよびDelphi コードからデータをクエリする方法を説明します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

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

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

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

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

未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

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

  • ANID:Ariba Network ID
  • API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Buyer またはSupplier API を選択します(可能な値は、PurchaseOrdersBuyerAPIV1、または PurchaseOrdersSupplierAPIV1 です)
  • Environment:接続先がテスト環境か本番環境かを指定してください(可能な値は、TEST またはPRODUCTION です)

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 で指定された場所に基づいてメモリに保存されます

以下のステップに従ってData Explorer を使用し、SAP Ariba Procurement へのFireDAC 接続を作成できます。

  1. 新しいVCL Forms アプリケーションの[Data Explorer]で[FireDAC]ノードを展開します。
  2. [Data Explorer]で[ODBC Data Source]ノードを右クリックします。
  3. [Add New Connection]をクリックします。
  4. 接続の名前を入力します。
  5. 表示される[FireDAC Connection Editor]で、[DataSource]プロパティをODBC DSN for SAPAribaProcurement の名前に設定します。
A FireDAC connection to the ODBC data source.(Salesforce is shown.)

SAP Ariba Procurement のデータに接続できるVCL アプリケーションの作成

以下のステップに従って、クエリの結果をグリッドに表示するシンプルなVCL アプリケーションからSAP Ariba Procurement のクエリの実行を開始します。

  1. TFDConnection コンポーネントフォームにドロップし、以下のプロパティを設定します。

    • ConnectionDefName:SAP Ariba Procurement へのFireDAC 接続を選択します。
    • Connected:メニューから[True]を選択し、表示されるダイアログで資格情報を入力します。
  2. TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • Connection:コンポーネントがまだ指定されていない場合は、このプロパティを[TFDConnection]コンポーネントに設定します。
    • SQL:[SQL]プロパティ内のボタンをクリックし、クエリを入力します。例:

      SELECT DocumentNumber, Revision FROM Orders WHERE OrderStatus = 'CHANGED'
      
    • Active:このプロパティをtrue に設定します。
  3. TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • DataSet:このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
  4. TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。

    • DataSource:TDataSource の名前を選択します。
  5. 実行時エラーを回避するために、TFDGUIxWaitCursor をフォームにドロップします。
Components in FireDAC used to databind an editable grid to the data source.(Salesforce is shown.)

FireDAC コンポーネントを使用してSAP Ariba Procurement へのコマンドを実行

TFDConnection およびTFQuery コンポーネントを使用してSAP Ariba Procurement へのクエリを実行できます。このセクションでは、TFQuery コンポーネントを使用してクエリを実行するSAP Ariba Procurement 固有の例を示します。

SAP Ariba Procurement のデータに接続

データソースに接続するには、TFDConnection コンポーネントの[Connected]プロパティをtrue に設定します。コードでも同じプロパティを設定できます。

FDConnection1.ConnectionDefName := 'mysaparibaprocurement';
FDConnection1.Connected := true;

パラメータクエリの作成

パラメータ化されたリソースはパフォーマンスを向上させることができます。ステートメントの準備は、システムリソースと時間の面でコストがかかります。ステートメントの準備中、接続がアクティブで開いている必要があるためです。FireDACはデフォルトで、同じクエリが何度もリコンパイルされないようにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を[True]に設定します。クエリを一回だけ実行する必要がある場合などに設定します。

クエリの実行

select クエリなど、結果セットを返すクエリを実行するには、Open メソッドを使用します。Open メソッドは、クエリを実行して結果セットを返し、それを開きます。クエリが結果セットを生成しない場合、Open メソッドはエラーを返します。

FDQuery1.Open('select * from Orders where OrderStatus = :OrderStatus',['CHANGED']);

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

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

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

 ダウンロード

詳細:

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

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