このトピックを読んで、オフライン保存と削除 (SOAD) スコープがどのように評価されるかを理解してください。
各 SOAD スコープは以下のように評価されます。
- 指定されたすべてのオブジェクトは、初期のオブジェクト・リストに含まれます。指定されたオブジェクトが存在しない場合、エラー・メッセージが出されて評価が停止します。
- すべてのクエリー式が評価され、スコープ固有の除外クエリーがあれば含められます。見つかったオブジェクトがオブジェクト・リストに追加されます。
- オブジェクト・リストが空である場合、エラー・メッセージが出されて評価が終了します。
- クエリー・リスト内の各オブジェクトに対して、適用可能な各展開ルールが適用されます。展開ルールがタイプ固有の場合、そのルールが実行されるのは、展開対象のオブジェクトがそのタイプである場合のみです。無限の再帰または重複した展開を避けるため、どのオブジェクトが展開されたかが追跡されます。クエリーベースの展開ルールが実行される場合、スコープ固有の除外クエリーはすべてクエリー式に追加されます。このアクションは ACcent ベースの展開ルールには適用されません。
- オブジェクト・リスト内の各オブジェクトで、タイプがいずれかのグローバル除外タイプ (モデル・オブジェクトなど) であるオブジェクトはリストから削除されます。
- オブジェクト・リスト内のオブジェクトが、オフラインで保存されており、同じインスタンスの別バージョンを持たない場合、リストから削除されます。
- リストに残っていて該当タイプに一致するオブジェクト対して、スコープ固有の各除外ルールを順に評価して適用します。クエリーから返されたオブジェクトの中に、オブジェクト・リストに含まれていないものがあれば、その評価対象オブジェクトはリストから削除されます。
- リストに残っている各オブジェクトについて、そのオブジェクトを使用するプロジェクトのクエリーが実行されます。オブジェクトの親プロジェクトがオブジェクト削除リストにない場合、そのオブジェクトは削除されます。
- 最後に、ユーザーが ccm_admin ロールを持っていない場合、そのユーザーが修正できないオブジェクトはすべてリストから削除されます。オブジェクトがリストから削除されると、アドミニストレーター以外のユーザーが SOAD を使用して、自分の working、checkpoint、visible、public、または prep のいずれかのバージョンを削除できます。
この評価が終わった時点で、オブジェクト・リストには、削除の対象であり、オプションのオフライン保存の対象としてもよい、すべてのオブジェクトが含まれています。
スコープ評価についての詳細方法を入手するには、「オフライン保存と削除 (Save Offline and Delete)」ダイアログ・ボックスで「詳細」チェック・ボックスを選択するか、コマンド・ラインで -verbose オプションを使用します。ただし、このタイプのトレースをオンにすると、操作が遅くなります。
最初のオブジェクト・スペックまたはクエリーの評価後にオブジェクト・リストを変更するスコープ評価機能は、以下のとおりです。