Salesforceアダプター④:SalesforceSQLCallコンポーネントの使い方

前回はSalesforcePutコンポーネントの使い方について紹介しました。
今回はSalesforceSQLCallコンポーネントについて紹介します。

SalesforceSQLCallコンポーネントはRDB系のSQLCallコンポーネントと同様に任意のSQLの実行する際に使います。
例えば、「実行する処理」プロパティの実行するSQLの種類を指定することで、SELECT文の発行、SELECT文以外の任意のSQL文の発行、ストアドプロシージャを実行することができます。

今回はSalesforceSQLCallコンポーネントを利用し、DownloadDocumentストアドプロシージャの実行でSalesforceのドキュメントをローカルにダウンロードしてみたいと思いますが、Salesforceコンポーネント紹介の最終編となりますので、SalesforceGetコンポーネントのJoin機能についても使ってみたいと思います。

 DownloadDocumentストアドプロシージャについて詳しくは下記のCData社のマニュアルをご参考ください。

 

■Salesforce側で登録されているドキュメント

先ずは、Salesforce画面から登録されているドキュメントを確認してみましょう。

  • 「Infoteria」フォルダのドキュメント

  • 「CData」フォルダのドキュメント

ご覧の通り、「Infoteria」フォルダに2つ、「CData」フォルダに2つのドキュメントがあります。

 

■フローの構成

上記の4つのドキュメントを指定したローカルパスにフォルダーごとダウンロードするフローを作成してみましょう。

ダウンロード対象のドキュメント情報をSalesforceGetコンポーネントから取得し、SalesforceSQLCallコンポーネントを利用してローカルフォルダにダウンロードした後に、そのリスト(ファイル名、ファイルの完全パス)をCSVファイルに出力するフロートなります。 

 

■コンポーネントの設定内容

主に、SalesforceGet → マッパー → SalesforceSQLCallコンポーネントについて設定内容を確認してみます。

  • SalesforceGetコンポーネントのSQLビルダー

    • テーブルの結合:Documentテーブル、Folderテーブル
    • 表示項目:
      • Document.Id:ドキュメントの一意の識別子
      • Document.FolderId:ドキュメントのフォルダID
      • Document.Name:ドキュメントの名前
      • Folder.Name:ドキュメントのフォルダ名
    • 条件:フォルダ名が「Infoteria」又は「CData」
  • マッパー1コンポーネント 

SalesforceGetコンポーネントとSalesforceSQLCallコンポーネントの間に配置したマッパーコンポーネントの設定内容です。SalesforceGetコンポーネントから取得した情報をSalesforceSQLCallコンポーネントのSQLパラメーターにマッピングしています。また、フォルダ名情報を利用し、Salesforceの各フォルダ名ごと保存されるように保存先のローカルパスを設定しています。ここでは、「C:¥Salesforce¥Infoteria」と「C:¥Salesforce¥CData」が保存先のパスになると思います。

  • SalesForceSQLCallコンポーネント
    • 基本タブ

      • 実行する処理:ストアド実行(結果なし)
      • SQL文:「{ call DownloadDocument( ?Id?, ?Name?, ?Folderid?, ?LocalPath?, ?FileName?, ?FullPath?)}」
    • SQLパラメータータブ

      • Id:入力用。ダウンロードするドキュメントのID。
      • Name:入力用。ダウンロードするドキュメントの名前
      • FolderId:入力用。ダウンロードするドキュメントのフォルダID。
      • LocalPath:入力用。ファイルの保存先のローカルパス。
      • FileName:出力用。ダウンロードされたファイルの名前。
      • FullPath:出力用。ダウンロードされたファイルの完全パス(名前を含む)。

 

■フローの実行結果

  • ダウンロードされたドキュメント

フローの実行でSalesforceの「Infoteria」と「CData」のドキュメントが指定したローカルの保存先にダウンロードされていることがわかります。

  • ダウンロードされたドキュメントのリスト

DownloadDocumentストアードプロシージャの実行でダウンロードされたファイルの名前と完全パス情報が出力用のパラメーターに格納されたので、その情報を利用してダウンロードされたドキュメントのリストをCSV形式で作成することができました。 

 

これまでの4回でCDataのSalesforceアダプターの使用方法について紹介しました。
いかがでしたでしょうか。

CDataのSalesforceアダプターを利用するに役に立てれば幸いです。

 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する