MENU
Abo
事業会社勤務のSalesforceエンジニア。Apex・LWC・管理者設定の実務経験をもとに、Salesforce学習からIT転職まで発信中。

【保有資格】
・Salesforce認定アドミニストレーター
・Salesforce認定プラットフォームデベロッパーI / II
・Salesforce認定セールスクラウドコンサルタント
・Salesforce認定サービスクラウドコンサルタント
カテゴリー
アーカイブ

【Salesforce】レコードトリガーの複数回起動制御

仕事メンバーからこんな質問がありました。

質問:起動条件が「項目Aが変更されたら」となっているレコードトリガーの処理内で項目Aを更新した際、再度そのトリガーは起動するのか?

回答としては、

起動条件が「項目Aが変更されたら」と設定されている場合、そのフローが実行されるのは項目Aの値が初めて変更されたときのみ

です。

トリガーの動作

トリガーの動作について詳細にみてみましょう。

レコードトリガーは、レコードの挿入、更新、削除などのデータ操作時に自動的に呼び出されるプログラムです。レコードトリガーフローでは、レコードの作成、更新、削除などのアクションが発生したときにフローが起動します。

  1. 初回のトリガー実行
  2. 項目Aが変更されると、フローが初めて実行されます。
  3. フロー内で項目Aを更新する処理が含まれている場合、その更新が実行されます。
  4. フローが実行中に項目Aが更新されても、同じフローが再度起動することはありません。
    • フローの実行が完了するまで、新たなフローの起動は抑制されます。

結論

フロー内で項目Aを更新する処理があっても、実行中のフローがその更新によって再度起動することはありません。

しかし、フロー実行完了後に項目Aが再度変更されると、フローは再び起動します。

無限ループを防ぐための設計がちゃんと備わっているんですね。

以上です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

某SIer勤務のSalesforceエンジニア。Apex・LWC・管理者設定の実務経験をもとに、Salesforce学習からIT転職まで発信中。

【保有資格】
・Salesforce認定アドミニストレーター
・Salesforce認定プラットフォームデベロッパーI / II
・Salesforce認定セールスクラウドコンサルタント
・Salesforce認定サービスクラウドコンサルタント

コメント

コメントする

CAPTCHA