加算 (デフォルト:No)

ロジックエディタ > 処理コマンド > 項目更新 > 項目更新特性

Magicでは、項目の加算更新機能が可能です。これは、更新される式の内容が評価され、特定の規則に基づいて更新対象の項目に加算したり、減算したりするものです。

加算更新を使用する場合は、[レコード後]に[項目更新]処理コマンドを定義してください。この場合、レコードが編集された後に一回だけ[項目更新処]理コマンドが実行されます。

親タスクやリンクレコードのカラムに合計値を格納するような場合に加算更新を使用することができます。これらの場合に、サブタスクのレコード処理が実行された後に親レコードの処理が取り消されることを防止するために、[強制更新]特性を「Yes」に設定してください。

ここでは、加算更新を行なうかどうかを指定します。指定できる値は、以下のいずれかです。

  1. タスクの現在の処理モードが「登録モード」の場合、更新式の値が更新項目の値に加算されます。

  2. タスクの現在の処理モードが「修正モード」の場合、まず、更新項目の値から更新式の以前の値(a)が差し引かれ、その後、更新式の新規の値(b)が更新項目の値に加算されます。
    上記の説明のうち、更新式の以前の値(a)とは、レコードが読み込まれた後、更新式で指定されている項目に値が入った時に更新式が評価され、その結果、返った値をいいます。また、更新式の新規の値(b)とは、[項目更新]処理コマンドが実行された時に更新式が評価され、その結果返った値をいいます。

  3. タスクの現在の処理モードが「削除」モードの場合、更新項目の値から更新式の値が差し引かれます。

  4. 更新項目としてリンクテーブルの項目が指定されており、エンドユーザがレコードを操作している間にリンク条件が変更されたため、リンクレコードが新たに読み込まれた場合、次の処理が行われます。この処理は、データの整合性の維持のための処理です。まず、以前のリンクレコードの項目(更新項目となっている項目)の値から更新式の以前の値が差し引かれ、その後、新規のレコードの項目(更新項目となっている項目)の値に更新式の新規の値が加算されます。

加算更新の例

[仕入ファイル]と[商品ファイル]があり、[商品ファイル]は[仕入ファイル]にリンクされているとします。[商品ファイル]には[在庫]項目があり、ここに在庫数が格納されます。また、[仕入ファイル]には[数量]項目があり、この[数量]項目を使用して[在庫]項目の値を更新するとします。ここで、[在庫]項目を項目A、[数量]項目を項目B とします。この場合、項目A を項目B で更新することになります。更新は、加算更新で行います。この設定では、処理モードによって処理は次のようになります。[在庫]項目には、当初、「30」(A1)が入っているものとします。

以上のように、加算更新では、自動的にデータの整合性が維持されるため、整合性維持のための処理は特に必要ありません。

参照