USING SCOPE
SOQL クエリで USING SCOPE 句 (省略可能) を使用すると、指定した範囲内のレコードが返されます。たとえば、返されるレコードを、ユーザーが所有するオブジェクトのみ、またはユーザーのテリトリー内のレコードのみに制限できます。
API バージョン 32.0 以降では、USING SCOPE を使用して、指定した filterScope にクエリの結果を制限できます。
1[USING SCOPE filterScope]
filterScope は、多数の列挙値のいずれかを取得できます。オブジェクトでサポートされる範囲のリストを取得するには、describeSObject() (SOAP API の場合) または sObject Describe (REST API の場合) をコールします。オブジェクトの説明の supportedScopes セクションでは、name に範囲の名前が、label にその範囲の説明が記述されます。この例は、取引先オブジェクトの説明を示しています。
1"supportedScopes" : [
2 {
3 "label" : "All accounts",
4 "name" : "everything"
5 },
6 {
7 "label" : "My accounts",
8 "name" : "mine"
9 },
10 {
11 "label" : "My team's accounts",
12 "name" : "team"
13 }
14 ],次の表は、filterScope が取得できる列挙値の例を示しています。
| 範囲 | 説明 |
|---|---|
| delegated | アクションを実行するように別のユーザーに委任されたレコードに絞り込む検索条件。たとえば、クエリで委任された ToDo レコードのみに絞り込むことができます。 |
| everything | すべてのレコードの検索条件。 |
| mine | クエリを実行しているユーザーが所有するレコードに絞り込む検索条件。 |
| mine_and_my_groups | クエリを実行しているユーザーおよびユーザーのクエリに割り当てられたレコードに絞り込む検索条件。ユーザーがキューに割り当てられると、そのユーザーは、キュー内のレコードにアクセスできるようになります。この検索条件は、ProcessInstanceWorkItem オブジェクトにのみ適用されます。 |
| my_territory | クエリを実行しているユーザーのテリトリー内のレコードに絞り込む検索条件。このオプションは、組織でテリトリー管理が有効になっている場合に使用できます。 |
| my_team_territory | クエリを実行しているユーザーのチームのテリトリー内のレコードに絞り込む検索条件。このオプションは、組織でテリトリー管理が有効になっている場合に使用できます。 |
| scopingRule | 適用可能な範囲設定ルールに基づいて、レコードを絞り込みます。このオプションは、管理者がクエリ対象のオブジェクトに対して範囲設定ルールを少なくとも 1 つ有効にしている場合に使用できます。 |
| team | 取引先チームなど、チームに割り当てられたレコードに絞り込む検索条件。 |