USING SCOPE
SOQL クエリで USING SCOPE 句 (省略可能) を使用すると、指定した範囲内のレコードが返されます。たとえば、返されるレコードを、ユーザが所有するオブジェクトのみ、またはユーザのテリトリー内のレコードのみに制限できます。
API バージョン 32.0 以降では、USING SCOPE を使用して、クエリの結果を指定した filterScope に制限できます。構文は次のとおりです。
1[USING SCOPE filterScope]
filterScope は、次のいずれかの列挙値を取ることができます。
- delegated
- アクションを実行するように別のユーザに委任されたレコードに絞り込む検索条件。たとえば、クエリで委任された ToDo レコードのみに絞り込むことができます。
- everything
- すべてのレコードの検索条件。
- mine
- クエリを実行しているユーザが所有するレコードに絞り込む検索条件。
- mine_and_my_groups
- クエリを実行しているユーザおよびユーザのクエリに割り当てられたレコードに絞り込む検索条件。ユーザがキューに割り当てられると、そのユーザは、キュー内のレコードにアクセスできるようになります。この検索条件は、ProcessInstanceWorkItem オブジェクトにのみ適用されます。
- my_territory
- クエリを実行しているユーザのテリトリー内のレコードに絞り込む検索条件。このオプションは、組織でテリトリー管理が有効になっている場合に使用できます。
- my_team_territory
- クエリを実行しているユーザのチームのテリトリー内のレコードに絞り込む検索条件。このオプションは、組織でテリトリー管理が有効になっている場合に使用できます。
- scopingRule
- 適用可能な範囲設定ルールに基づいて、レコードを絞り込みます。このオプションは、管理者がクエリ対象のオブジェクトに対して範囲設定ルールを少なくとも 1 つ有効にしている場合に使用できます。
- team
- 取引先チームなど、チームに割り当てられたレコードに絞り込む検索条件。
オブジェクトでサポートされる範囲を調べるには、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 ],