目次
今回作ったフローの概要
・スケジュールトリガーフローで
・特定の日付に合致する親レコードを全件取得して
・親レコードの値を使って子レコードを複数作成して
・親レコードの日付を更新する
フローの詳細
①開始条件
②レコードを取得
③ループ
④初期値を割り当て
⑤子レコードの変数を割り当てる
⑥レコードコレクション変数に割り当て
⑦減算
⑧繰り返し判定
⑨(繰り返す場合)開始日を翌月に変更する
⑩(繰り返さない場合)親レコードの日付を更新する
⑪レコードコレクション変数に割り当て
⑫レコードを一括作成
⑬レコードを一括更新
全体像はこちら。
①開始条件
②レコードを取得
今回は「契約終了日=当日」に合致する契約レコードを全件取得します。
FormulaTodayの中身はこんなかんじです。
③ループ
取得したレコードたちを、ループを使って1件ずつ処理していきます。
④初期値を割り当て
今回作成する子レコードたちは、以下の要件を持っています。
- 親レコードが持つ数値項目の値分、レコードを作成する(例:数値項目に12と入っていれば、子レコードを12作成する)
- 子レコードの開始日と終了日を、1か月ずつずらして作成する
上記の要件を満たすために、初期値を設定します。
変数RecordNumとvarMonthlySalesStartDateはそれぞれ、デフォルト値を持たない数値変数と日付変数です。
FirstStartDateの中身はこんなかんじです。
親レコードの終了日の翌日を、初めに作成される子レコードの開始日に設定したいためです。
⑤子レコードの変数を割り当てる
作成したい子レコードの中身を割り当てていきます。
varMonthlySalesは、子レコードのデータ格納用のレコード(単一)変数です。
⑥レコードコレクション変数に割り当て
⑦減算
⑧繰り返し判定
⑨(繰り返す場合)開始日を翌月に変更する
NextStartDateの中身はこんなかんじです。
⑩(繰り返さない場合)親レコードの日付を更新する
UpdateEndDateの中身はこんなかんじです。
⑪レコードコレクション変数に割り当て
親レコードを一括更新するために、レコードコレクション変数に格納します。
⑫レコードを一括作成
子レコードを一括作成します。
⑬レコードを一括更新
親レコードを一括更新します。