見出し画像

[Salesforce]フローでの一括処理

Apexトリガでは最大200件単位でレコードが処理されるため、ループ内でSOQLを記述すると、101レコード以上のデータを更新するとエラーになるといったように、初めてSalesforce開発をする人が陥るトラップが仕込まれています。
そのため、Trigger.newの内容をごにょごにょしてSOQLを1回にしたり、DML処理を減らすためにリストに入れて一括でupsertしたりします。

フローの場合、そもそも一括処理を考慮した記述ができないのですが、以下の記事のようにSalesforce側でまとめて処理してくれるよう考慮されているようです。

あくまでも1レコード単位の処理になるため、同トランザクションで作成したレコードを参照して処理したり、できないこともありますが、ガバナ制限に抵触しないのは良いですね。
(はじめの頃は、抵触してた気がする)

最近はフローが進化してるので、フローでできることに合わせて設計するよう頭を切り替えないとダメですね。

この記事が気に入ったらサポートをしてみませんか?