Home > コンポーネント シリーズ > Salesforce > Salesforce - 設定 > Salesforce - XML

Salesforce - XML

Salesforceコネクタは、Magic xpiのXMLインタフェースを使用して動作するように設計されています。

Salesforceコネクタをフローに配置すると、Magic xpiは自動的にそのコネクタの[プロパティ]ペインを開きます。必要な情報を[プロパティ]ペインに入力してください。そして、コネクタをダブルクリックするか、右クリックして、コンテキストメニューから[構成]選択して、ODAコネクタの[構成]ダイアログボックスを開きます。

 

このダイアログボックスには以下のフィールドがあります。

プロパティ

説明

接続

リソース名

コンポーネントの[プロパティ]ペインで選択したリソースの名前。リソースは、[設定]ダイアログボックスの[リソース]セクションで定義されます。

オペレーション

オブジェクト

をクリックしてオブジェクトリストを開きます。オペレーションが行なわれるオブジェクトを選択します。このリストは、[Salesforce リソース]ダイアログボックスでリソースを有効にすると生成されます。

オブジェクトリストはリソース内でビルドされる必要があります。そうしないとステップやトリガのオブジェクトリストが得られません。

オペレーション

ドロップダウンリストから以下のいずれかを選択します。

  • Query …… オブジェクトからデータを取り出すの場合に使用します。データマッパーを使用して特定の条件を基にオブジェクトを取り出すことができます。ソースに複数のレコードがある場合、最初にマッピングされた値だけが返ります。

  • Query All …… Salesforceから削除されたレコード(削除レコードは、IsDeleted要素がTrueのもの)を返すこと以外は、Queryと同じです。

  • Bulk Query …… これは、大きなデータセットを検索するために使用されます。これは、必要な結果を取り出すBulk Retrieve Query Results メソッドと連携して使用する必要があります。 Since version: 4.1

  • Create …… これは組織のデータに新しいオブジェクトを作成する場合に使用します。データマッパーを使用して新しいオブジェクトフィールドの値を指定することができます。

  • Bulk Create …… これは、多くのレコードを含む外部ファイルを使用して実行することが可能になる以外は、 Create と同じです。

  • Update …… これは組織のデータの特定のオブジェクトを更新する場合に使用します。オブジェクトを更新する場合、そのIDを知る必要があります。例えばQuery(上記参照)を行ってオブジェクトIDを取得し、その後でUpdateを行ないます。データマッパーを使用してオブジェクトIDや他の更新したいフィールドを指定してください。

  • Bulk Update …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Updateと同じです。.

  • Delete …… これは組織のデータから特定のオブジェクトを削除する場合に使用します。オブジェクトを削除する場合、そのIDを知る必要があります。Query(上記参照)を行いオブジェクトIDを取得し、その後Deleteを行います。データマッパーを使用してオブジェクトIDを指定してください。これが指定すべき唯一の値です。

  • Bulk Delete …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Deleteと同じです。

  • Upsert …… これは、Salesforceへの重複レコードの挿入を防止するために使用されます。Upserオペレーションは、フィールド値に基づいて、オブジェクトインスタンスの存在をチェックし、存在しているならば、オブジェクトを更新するか、存在していないならば、新しいものを挿入します。Upsertオプションは、更新または作成が可能なオブジェクトでのみ有効です。

  • Bulk Upsert …… これは複数のレコードをを含む外部ファイルを使用して処理を実行することを除いて、Upsertと同じです。

オブジェクトがサポートされているオペレーション(オブジェクトタイプとユーザ権限に基づいて)のみ表示されます。

バッチモード

[オペレーション]フィールドでBulkオペレーションのうちの1つを選択した場合、このフィールドが利用できます。ここでは、ジョブのバッチ処理方法を指定できます。ドロップダウンリストからの以下のどれかを選択します。

  • パラレル (デフォルト) …… バッチが同時に処理されます。

  • ライナー ……バッチが逐次処理されます。

バッチサイズ

ここは、[オペレーション]フィールドでCreateUpdate、またはUpsetが選択された場合のみ利用できます。

ここでは、Salesforceに送られる各リクエストのオブジェクトの最大数を制御します。1〜200の間に値を入力してください。

更新フィールド名

[オペレーション]フィールドでUpsertまたはBulk Upsertが選択された時のみ、このフィールドは有効です。

リストされるフィールドは、選択されたオブジェクトのためのユニークなフィールドです。少なくとも1つのオブジェクトは、Upsertのルックアップ処理のために選択されなければなりません。選択されたオブジェクトは、後で値によってマッピングされなければなりません。

Bulk Upsertオペレーションで動作する場合、ここで選択されたフィールドも、データマッパー画面に表示されるように、オブジェクトフィールドリストで選択されなければなりません。

詳細については、Salesforce APIドキュメントのUpsertオペレーションの説明を算用してください。

新規オブジェクトID

ここは、[オペレーション]フィールドでCreateもしくはUpsertを選択した場合のみ有効になります。

をクリックして変数リストを開きアップサートされたオブジェクトIDを保持する変数を選択します。

戻り値

ここは、[オペレーション]フィールドでQueryもしくはQuery All または Bulk Queryを選択した場合のみ有効になります。

隣接したチェックボックスの選択で、Allを選択するか、オブジェクトフィールドリストから特定フィールドを選択することができます。

戻り子オブジェクト

ここは、[オペレーション]フィールドでQueryもしくはQuery All または Createを選択した場合のみ有効になります。

[オペレーション]フィールドでQueryが選択された場合は、一つのXMLファイルからオブジェクトが選択された子オブジェクトと一緒に取得されます。

親とその子オブジェクトの両方に対して照会を行うことができます。

[オペレーション]フィールドでCreateを選択した場合、オブジェクトは選択された子オブジェクトと一緒に取得されます。

をクリックして子オブジェクトリストを開きます。ここでは、取得したい子オブジェクトを選択することができます。

20以上の子オブジェクトを持ったオブジェクトは、QueryQuery All オペレーションが実行できません。

オブジェクトフィールド

ここは、[オペレーション]フィールドでBulk が選択された場合のみ利用できます。

をクリックしてオブジェクトフィールドリストを開きます。ここで、必要なオブジェクトフィールドを選択し、それらの関係の詳細を埋めることができます。[インデックス]と[外部ID]フィールドに関係するデータのみを入力することができます。デフォルトでは、フィールドは選択されません。

戻りジョブID

ここは、[オペレーション]フィールドでBulk が選択された場合のみ利用できます。

をクリックして変数リストを開きます。ここで、ジョブIDを保持する変数を選択します。

結果オプション

結果を保存

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル …… Salesforceから返されたオブジェクトデータを保持するファイルを選択します。 をクリックして式エディタを開くか をクリックしてこの情報を保存するファイルパスを入力します。

  • 変数(デフォルトは C.UserBlob) …… Salesforceから返されたオブジェクトデータを保持する変数を選択します。 をクリックして変数リストを開きます。情報を保存する変数を選択します。

  • 分割ファイル …… 大きなXMLファイルをより小さなXMLファイルに分割します。このオプションを選択すると、このダイアログボックス(下記)の[分割ファイル]オプションに必要な情報を入力する必要があります。

オペレーション成功

このフィールドは、データオブジェクトがSalesforce内に正しく書き出されたかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None(デフォルト) …… コネクタの成否のステータスを保存しない場合は、このオプションを選択してください。

  • Variable …… コネクタの成否のステータス情報を保存する変数を選択します。

Builkオペレーション(上記)のどれかを使用する場合、このフィールドは、SalesforceジョブがMagic xpiによって正しく作成されたかどうかを定義します。

分割ファイルオプション

ディレクトリ

分割ファイルを保持しているディレクトリ。 をクリックして式エディタを開き、ディレクトリ名を入力します。

接頭辞

分割ファイルのの接頭辞。をクリックして式エディタを開き、接頭辞を入力します。

ファイル毎のレコード

各分割ファイルのレコード数。をクリックして式エディタを開き、必要なレコード数を入力します。

分割数

分割数が返る数値変数。 をクリックして変数リストを開き、必要な変数を選択します。

[Salesforce構成]ダイアログボックスには以下のボタンもあります。

ボタン

説明

XSDのリフレッシュ

現在のスキーマを更新します。

[XSDをリフレッシュ]をクリックすると現在のスキーマは上書きされます。メッセージダイアログボックスが開き、[OK]をクリックすると更新と上書きを承認します。[キャンセル]をクリックするとスキーマを上書きせずにプロセスを終了します。

 

  • CreateUpdateを使用する場合、フィールドマッピング時に作成、更新できないフィールドや定義済みの値が必要なフィールドに注意してください。各フィールドの[プロパティ]ペイン[追加XMLプロパティ]セクションで必要な情報を得ることができます。

  • Bulk Query オペレーションは、以下のSOQLステートメントをサポートしません。

    • COUNT

    • ROLLUP

    • SUM

    • GROUP BY CUBE

    • OFFSET

    • Nested SOQL queries

    • Relationship fields

  • データマッパソースからのリピート可能な要素は、Salesforceオブジェクトのrowコンパウンドにマッピングしてください。

  • NULL値を許可するオブジェクトフィールドは、Magic xpi内のNULL値でマッピングされ、追加することができます。

  • 高度なQueryを行う場合は、作成されたXSDのSOQL合成要素内のSOQL WHERE句のフリーテキストにマッピングすることができます。この合成要素は、QueryとQuery Allのメソッドで使用することができます。合成要素には、WHEREと呼ばれる文字列があります。SOQLステートメントのWhere部をこの要素にマップすることができます。そして、Where部はマッピング処理中にWhere句ビルドに追加します。

関連トピック:

Salesforce - 外部IDによるオブジェクト参照