問題
Accountオブジェクトのafterトリガーは、Accountのすべての子OpportunityでDML更新操作を実行します。 Opportunityオブジェクトにアクティブなトリガーはありませんが、特定の状況で「最大トリガー深度を超えました」エラーが発生します。Accountトリガーの再帰的な起動を説明する理由はどれですか。 2つ選びなさい。
- Opportunityを変更すると、Accountの積み上げ集計項目が更新されます。
- Opportunityの変更により、Accountの項目が自動的に更新されるクロスオブジェクトのワークフローが実行されています。
- 無関係な並列保存操作中にAccountに変更が加えられています。
- 条件に基づく共有ルールの評価中にAccountに変更が加えられています。
正解
- Opportunityを変更すると、Accountの積み上げ集計項目が更新されます。
- Opportunityの変更により、Accountの項目が自動的に更新されるクロスオブジェクトのワークフローが実行されています。
- 無関係な並列保存操作中にAccountに変更が加えられています。
- 条件に基づく共有ルールの評価中にAccountに変更が加えられています。
解説
□ Opportunityを変更すると、Accountの積み上げ集計項目が更新されます。
これは正解です。Opportunityの変更がAccountの積み上げ集計項目の再計算を引き起こす可能性があります。この再計算はAccountの更新を引き起こし、その結果としてAccountのトリガーが再度実行される可能性があります。
□ Opportunityの変更により、Accountの項目が自動的に更新されるクロスオブジェクトのワークフローが実行されています。
これは正解です。Opportunityの変更がクロスオブジェクトのワークフローを引き起こすことで、Accountの項目が自動的に更新される可能性があります。このような更新はAccountのトリガーの再実行を引き起こす可能性があります。
□ 無関係な並列保存操作中にAccountに変更が加えられています。
これは不正解です。無関係な並列保存操作は、特定の状況でのトリガーの再帰的な起動を引き起こすものではありません。
□ 条件に基づく共有ルールの評価中にAccountに変更が加えられています。
これは不正解です。条件に基づく共有ルールの評価は、レコードの可視性を変更するためのものであり、トリガーの再帰的な起動を直接引き起こすものではありません。
コメント