データフロープラグインでは、
アプリ出力でルックアップを再取得してコピーフィールドを更新することができます。
今回は、この機能を使ってマスター(ルックアップ元)の更新をルックアップ先に自動反映するフローをご紹介していきます。
利用シーンとしては、「ルックアップのマスターを更新したので関連アプリに反映させたいけど、レコード数が多くてすべてを手動で更新するのは現実的じゃない」といった場合を想定しています。
目次
今回作成するフロー
今回は、「顧客マスターアプリ」で顧客名を変更したときに、ルックアップでその顧客名を取得している「案件マスターアプリ」側のコピーフィールドも一緒に更新する仕組みを、kinkozi データフロープラグインで作成します。
- 顧客マスターアプリ:顧客コード、顧客名などを管理するアプリ
- 案件マスターアプリ:案件コード、案件名、担当者などを管理するアプリ。顧客コードをキーに、顧客マスターアプリから顧客名をルックアップで取得している
データフロープラグインは、顧客マスターアプリに設定します。
ジョブ設定の実行契機は、詳細画面の実行ボタンにします。
フローは、
アプリ入力
↓
アプリ出力
の2ステップです。

① 入力を設定する
フローの起点となるアプリ入力を設定します。

入力アプリには「案件マスターアプリ」を設定します。
今回は顧客マスターアプリの顧客コードと一致するレコードを抽出したいので、
「絞り込みを設定する」を選択します。
条件には
「顧客コード」「=(等しい)」「#顧客コード#」を設定します。
ポイントは絞り込み条件の作り方です。通常、条件の値は固定値を入力しますが、値の入力欄の横にあるトグルボタン(ツールチップ:「契機パラメーターの値で絞り込む」)を切り替えると、顧客マスターアプリの詳細画面を開いたレコードのフィールド値を条件値として選べるようになります。ここで #顧客コード# を選択することで、「今開いている顧客レコードと同じ顧客コードを持つ案件だけ」を抽出できます。
② 出力を設定する
抽出した案件レコードを更新するため、アプリ出力を設定します。

今回は、入力アプリと同じ「案件マスターアプリ」を指定します。
出力方法は、「更新」を指定します。
フィールドは以下とします。
- (出力フィールド)案件コード:(入力フィールド)案件コード:更新キーに指定
- (出力フィールド)顧客コード:(入力フィールド)顧客コード
出力オプションは「レコード更新時にルックアップを再取得してコピーフィールドを更新する」にチェックを入れます。
この出力オプションが今回の仕組みの本体です。案件マスターアプリのレコードを更新する際に、このオプションを有効にしておくと、ルックアップフィールド(顧客コード)に紐づくコピーフィールド(顧客名など)が、参照元である顧客マスターアプリの最新の値で再取得されます。値そのものを直接書き換えるのではなく、「ルックアップを引き直させる」ことで最新化する、という考え方です。
③ 実行してみる
設定ができたら、実際に動かして確認します。
- 顧客マスターアプリで、対象の顧客レコードの顧客名を変更して保存する
- 詳細画面を開き直し、設定した実行ボタンをクリックする
- 案件マスターアプリを開き、その顧客に紐づく案件レコードの顧客名が更新されていることを確認する



複数の案件が同じ顧客に紐づいている場合でも、条件に一致するレコードがまとめて抽出・更新されるため、1回のボタンクリックで関連する案件をすべて最新化できます。
アプリ入力・アプリ出力の補足
実行契機はボタン以外にも選べます
今回はクリックする様子が伝わりやすいように「詳細画面の実行ボタン」を実行契機にしましたが、ジョブ設定で選べる実行契機はこれだけではありません。
💡 ボタンを押さずに自動で反映したい場合
実行契機を「レコード編集画面のレコード保存成功後」にすると、顧客名を変更して保存した瞬間に、ボタンを押さなくても案件マスターアプリ側が自動で更新されます。
| 実行契機 | 動き | 向いているケース |
|---|---|---|
| 詳細画面の実行ボタン | ボタンを押したタイミングで実行 | 反映前に内容を確認したい/狙ったタイミングで実行したい |
| レコード編集画面のレコード保存成功後 | 保存と同時に自動で実行 | 変更したら必ず・すぐに反映したい/ボタンの押し忘れを防ぎたい |
その他の実行契機については こちら を参照してください。
絞り込み条件は複数指定できます
今回は「顧客コード=契機パラメーターの値」の1条件だけですが、
AND/ORで条件を追加することもできます。
例)「顧客コードが一致」かつ「ステータスが進行中」の案件だけに絞り込む、など。
契機パラメーターが使えるジョブ
契機パラメーターでの絞り込みは、
- 一覧画面の実行ボタン
- 詳細画面の実行ボタン/イベント
を実行契機にしたジョブで使えます。
出力方法は4種類あります
今回は「更新」を使いましたが、他にも次の方法があります。
- 追加:常に新規レコードとして登録
- 更新:更新キーが一致するレコードのみ更新(今回はコレ)
- 更新および追加:一致すれば更新、なければ新規追加
- 再生成:対象レコードを一度削除してから再作成
まとめ
ルックアップでコピーした値は、コピー元を変えても自動では更新されません。
今回のように、
- アプリ入力で「契機パラメーターの値」を使って関連レコードを絞り込む
- アプリ出力で「ルックアップを再取得してコピーフィールドを更新する」をONにする
としておけば、ボタン1つでマスターの変更をまとめて反映できます。ボタンを使わず、保存と同時に反映したい場合は、上の「実行契機はボタン以外にも選べます」もあわせてご覧ください。
同じような悩みをお持ちでしたら、ぜひ試してみてください。
設定方法などわからないことがあれば、お気軽にご相談ください。