LoginSignup
0
0

Salesforce Connectクロス組織を利用する時の制限事項のまとめ

Posted at

Salesforce Connect を使用すると、ユーザは Salesforce 組織外に保存されているデータを表示、検索、変更できます。その中にSalesforce Connectクロス組織を使用すると、他Salesforceのデータを表示、検索、変更できます。
本文はSalesforce Connectクロス組織を利用する場合、各制限事項と注意すべきな事項をまとめます。
前提事項:
 ①外部オブジェクトを利用する前提で制限事項、標準オブジェクトとカスタムオブジェクトの場合、該当制限がありません。
 ②Salesforce Connectクロス組織のアダプタはOData 2.0なので、以下の一部の制限はOData 2.0限定の制限です。OData 4.0で制限該当しない場合、明記にしておきますので、ご注意ください。

◆外部オブジェクトの設定関連の制限

レイアウトに配置できる外部参照項目は最大5個
 画面レイアウトに配置できる外部参照項目は最大5個、5個超えると、画面表示エラーになります。

モバイル専用なレイアウト作成できない
 外部オブジェクトのレコードページに「レコード詳細 - モバイル」がないため、モバイル専用なレイアウトを作成することができません。

数式項目が作成できない
外部オブジェクトに数式項目が作成できません。
※数式項目を作成したい場合、参照元Salesforce側で作成してください。

レコードタイプの概念がない
 外部オブジェクトにレコードタイプの概念がありません。レコードタイプ毎に異なるレイアウトで表示することはできません。
つまり、参照元Salesforceに1オブジェクトが複数のレコードタイプがあり、複数のページレイアウトがあっても、参照先の外部オブジェクトに1プロファイル毎に1ページレイアウトになります。

多態的な項目サポートしない
 Salesforceの標準オブジェクトに多態的な項目が存在しています。例えば、Eventオブジェクトの関連先項目のように、複数のオブジェクトに関連する参照項目があります。外部オブジェクトに多態的な項目はないため、例えば関連先項目が外部オブジェクトにする場合、データ型は取引先外部参照項目の多態の1つに固定になります。

外部オブジェクトのデータ変更追跡できない
 Salesforce Connect: クロス組織のアダプタはOData 2.0なので、外部変更データキャプチャが利用できないため、外部オブジェクトのデータ変更を追跡することができない
 ※OData 4.0の場合、外部変更データキャプチャが利用できますが、Salesforce Connectクロス組織のアダプタはOData 2.0のみになります。

◆外部オブジェクトのレポート関連の制限

クロース条件サポートしない
 外部オブジェクトはレポートのクロース条件として使えません。

主=外部オブジェクトの場合、取得件数制限20,000件
 レポートの主オブジェクトが外部オブジェクトの場合、主オブジェクトのレコードが20,000件まで取得できますが、超える場合、レポートに何も返さなく、0件になります。

外部参照項目の親項目をレポートに表示できない
 通常の場合、カスタムレポートタイプ上で通常の参照関係項目から親の項目を追加して、レポートに表示することができますが、外部参照関係項目から親の項目を追加してレポートに表示する場合、エラーが発生します。
※Salesforceのバグかと思いますが、Salesforceに問合せすると、現状修正予定がありませんと言われました。
※この場合、親の外部オブジェクトを主オブジェクトとしてカスタムレポートタイプを作成して対応するしかないと思います。

◆外部オブジェクトの開発関連の制限

サブクエリ取得できる最大件数1,000件
 外部オブジェクトが含まれるSOQLサブクエリを実行する場合、取得できるデータは、最大1,000行です。

サブクエリ取得できる最大件数1,000件
 外部オブジェクトが含まれるSOQLサブクエリを実行する場合、取得できるデータは、最大1,000行です。

ORDER BY句をサポートしない
 外部オブジェクトは、リレーションクエリの ORDER BY句をサポートしません。
※OData 2.0のみの制限です。

SOQLクエリ内の結合オブジェクト数は最大4個
 各 SOQL クエリ内の結合は、外部オブジェクトとその他の種別のオブジェクト全体で最大 4 個です。

SOQL集計関数サポートしない
 外部オブジェクトでは、ほとんどの集計関数と句をサポートしていません。
ただし、COUNT()のみサポートします。【COUNT(fieldName)関数がサポートしません】

Database.getQueryLocator()利用できない
 Database.getQueryLocator()に外部オブジェクトが含まれるSOQLがサポートしません。
 ※OData 4.0の場合、サーバ駆動のページ設定、要求の行数をONにしていれば、利用可能です。

◆まとめ

Salesforce connectを利用して、他Salesforceのデータを簡単にアクセスできますが、割りに色々な制限があります。上記に記載している内容は基本的Salesforceのヘルプドキュメントにあっちこっちに記載してありますが、今まで経験した内容をまとめて本文にまとめました。

 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0