自動処理において、操作中のレコード(子データベース)の値と、リンク先のデータベース(親データベース)にある複数明細の合計値を比較したい場合、単一の「条件分岐」パーツだけでは別データベースの値を参照することができません。
そのため、まず「レコード検索」パーツを使用して親データベースの該当レコードを特定し、その検索結果として得られた「合計値」を「条件分岐」パーツの比較対象として利用する構成が必要となります。
この設定を行うことで、条件を満たす場合のみ特定の処理を実行するといった、データの整合性を保つ運用が実現できます。
例:親データベース(受注管理データベース)の「未出荷数」の合計数が、子データベース(出荷管理データベース)の「今回の出荷数」の合計数以上の場合のみ、ステータスを更新する
【設定箇所】 各データベース設定>機能設定>自動処理設定
明細行の合計値を直接計算しながら比較することはできないため、あらかじめ親データベース側で合計値を保持しておく必要があります。
設定手順(受注管理データベース):
1. 「項目設定」にて、ヘッダ項目として「数値計算」タイプの項目を追加します。(「未出荷数合計」)
2. 項目の詳細設定にて、計算方法に「(明細の)合計」を選択し、計算する項目に対象の明細項目(「未出荷数」)を指定して確定します。
出荷管理データベース側の自動処理にて、データベースリンクを辿って直接親データベースの値と自レコードの値を突き合わせます。
設定手順:
1. 自動処理の先頭に「条件分岐」パーツを登録し、詳細設定を開きます。
2. 左辺の「対象」に、【選択レコード】[出荷管理データベース]:受注ID(DBリンク項目)>>[受注管理データベース]の「未出荷数合計」を指定します。
※「対象レコード」の選択画面で、出荷管理データベースの下にある「リンク先を表示」をクリックし、受注管理データベースへと辿ることで親データベースの「未出荷数合計」を指定できます。
3. 比較演算子に「以上(≧)」を選択します。
4. 右辺に【選択レコード】の「今回の出荷数」を選択し、確定します。
手順2の条件分岐で「YES(未出荷数 ≧ 今回の出荷数)」に進んだ場合にのみ実行したい処理を配置します。
設定手順:
1. 「条件分岐」パーツの「YES」の先に「レコード更新」パーツを配置します。
2. 更新対象として出荷レコード自身を更新する場合は【選択レコード】を、もし親レコードのステータス等も併せて更新したい場合は、手順2と同様にデータベースリンクを辿って【選択レコード】の受注ID(DBリンク項目)>>[受注管理データベース]を指定して確定します。
※「NO(出荷数オーバー)」の右側の分岐先には、「処理キャンセル」パーツを配置し、「出荷数が未出荷数を超えています」といったエラーメッセージを表示させて処理を中断(ロールバック)させる設定を推奨します。
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
条件分岐パーツの基本的な使い方や、YES/NOの分岐先にパーツを追加する手順について詳しく解説しています。
自動処理設定:「条件分岐」パーツ
数値計算タイプを使用して、1レコード内の複数明細の合計値を算出するための設定方法です。
明細項目の数値/数値計算項目の合計値を算出する方法
(記事ID:2836)