queryMore操作によるアカウント・レコードからの名前とIDsの取得
Salesforce.comから2000を超えるレコードをフェッチする必要がある場合は、queryMore操作を使用します。 長いテキスト・タイプの3つ以上のカスタム・フィールドを選択し、問合せ操作で必須のレコード・セットを返さないSOQL問合せを入力した場合は、queryMore操作を使用できます。
このユースケースでは、queryMore操作を使用して、すべてのアカウント・レコードの名前とIDsをSalesforce.comから取得する方法について説明します。 このユースケースでは、SOAPアダプタを統合を実行するためのトリガーとして使用します。
queryMore操作は、query操作から次のオブジェクト・レコード・セットを取得します。
SOQLの問合せ関数は、一連のレコードを取得し、queryLocator要素に表されるサーバー側のカーソルを作成します。 queryMore操作では、後続のチャンクのレコードが処理され、新しく生成されたqueryLocatorが返されます。 通常、結果セットのすべてのレコードが処理されるまでqueryMore操作を繰り返しコールします。
次の重要な変数が使用されます:
-
batchSize: 各Salesforceトリガーに返されるレコード数を表すリクエスト・ヘッダー。 デフォルト値は200、最小許容サイズは200、最大値は2000です。
-
queryLocator: 最後に取得されたレコードを指し示す値。 最初は、値はありません。 したがって、空の一重引用符('')でローカルqueryLocatorを初期化できます。
-
size: 前の反復で取得されたレコード数を含む変数。
-
done: ソースにフェッチしたレコードより多くのレコードがあるかどうかを示すブール変数。 フェッチするレコードがない場合、その値はtrueです。 そうでない場合は、falseです。
ノート:
-
このオーケストレートされた統合では、200個以上のレコードを取得する方法が表示されます(batchSizeが200に設定されている場合はSalesforceから)。 データを使用するには、whileアクション・ループ内で必要な操作を実行します。 検証のために、各Salesforceトリガーについて返されるレコード数をカウントできます。
-
Salesforce集計問合せでは、queryMore操作はサポートされていません。
-
ネストした問合せを使用する際に、親オブジェクトでqueryMoreコールを使用すると、前の結果のすべての子カーソルが無効になります。







