130-100 | データ編集・追加
krewDataは、データ編集フローの結果データと出力アプリのルックアップフィールドの値が異なる場合、他のフィールドタイプと同様に出力アプリのルックアップフィールドの値を更新します。
また、ルックアップフィールドの設定で「他のフィールドのコピー」に指定したフィールドについては、ルックアップの参照先アプリと出力アプリのコピーフィールドの値の差異をチェックし、値が異なる場合は自動的に出力アプリのコピーフィールドを最新の値に更新します。この動作は、データ編集フローの結果データと出力アプリのキーフィールドの値に変更がない場合でも行われます。
しかしながら、一部の業務においてはルックアップのコピーフィールドの値は、レコードを作成した際の値を保持したい場合があります。
この記事では、レコードの出力時にルックアップで取得したデータを参照先アプリから再取得せず、元の値を保持するためのフロー設定について説明します。
本記事では、krewDataドリル「出力時にルックアップの参照元アプリからデータを再取得する」で紹介しているフローを一部変更し、レコード出力時にルックアップの参照先アプリからデータを再取得しない方法を説明します。
入出力アプリのフィールド構成
案件管理アプリ
- 案件情報を管理するアプリ
- 顧客名、部署名、担当者名はルックアップで顧客管理アプリから取得
顧客名フィールド(ルックアップフィールド)の設定
マスターアプリのフィールド構成
顧客管理アプリ
- 顧客情報を管理するマスターアプリ
- 案件管理アプリなど、ほかのアプリがルックアップで情報を取得する参照先アプリ
1.入力アプリを設定
- 入力アプリコマンドを追加し、アプリの選択で「案件管理」アプリを選択する
- フィールドの選択で「レコード番号」、「顧客名」を選択する
2.出力アプリを設定する
- 出力アプリコマンドを追加して、アプリの選択で「案件管理」アプリを選択する
- 出力方式に「更新」を選択する
- アプリのフィールドと対になるデータ編集フローのフィールドで以下のフィールドを選択する
- レコード番号
- 顧客名
- 出力オプションで「ルックアップフィールドのコピーフィールドの値を更新する」のチェックを外す
出力アプリコマンドで「アプリのフィールド」のルックアップフィールドに「データ編集フローのフィールド」を指定しなかった場合は、データ編集フローの結果データと出力アプリのルックアップフィールドの値が異なる場合でもルックアップフィールド、およびコピーフィールドの値は更新されません。
出力オプション 「ルックアップフィールドのコピーフィールドの値を更新する」について
このオプションをオフにすると、krewDataは出力アプリへのレコード出力時にルックアップフィールドに関連付けられたアプリのレコードを読み込まず、出力アプリのルックアップフィールドのコピーフィールドとの値の差異をチェックしません。差異をチェックしないため、値が異なる場合でも出力アプリのコピーフィールドの値は更新されません。
このオプションをオン、またはオフにした場合の動作の詳細は、製品ヘルプの「出力アプリ – ルックアップフィールド更新時の動作」を参照してください。
3.顧客管理アプリ(マスターアプリ)のレコードを更新する
顧客管理アプリの顧客名「ミヤタシステムズ」のレコードを以下のように更新します。
フィールド名 | 変更前 | 変更後 |
部署名 | ソリューション営業グループ | 営業本部 |
担当者名 | 前原 勇 | 宮田 雄二 |
4.フローの実行結果を確認する
作成したデータ編集フローを実行し、フローの実行結果を確認します。
実行前
実行後
ルックアップフィールドのデータは顧客管理アプリ(マスターアプリ)から再取得されないため、顧客名「ミヤタシステムズ」の部署名、担当者名フィールドは更新されず、もとの値が保持されます。
サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/basic/dt130-100do-not-update-lookup-copy-field.zip