リンク式の再計算

データビューエディタ > リンク定義

リンクはMagic の処理の中では非手続き型の処理に入ります。そのため、レコードレベルの実行中、リンク定義で使用されている位置付式(最小/最大)の項目の値が変化し、しかも、[データビュー]エディタ上でリンク定義の前にその項目が定義されている場合は、リンク式が再計算されると同時にリンクが再作成されます。このため、リンク定義内の項目の値が全て変更されることがあります。式の再計算については、「非手続き型方式での代入式の自動再計算」を参照してください。

リンク式の項目のうち、値の変更を引き起こす項目を「修正項目」と呼んでいます。つまり、[データビュー]エディタ上でリンクの前に定義されており、その項目の値が変わるとリンクの再計算が引き起こされるような項目が修正項目となります。修正項目の値は以下の場合に変更されます。

リンクの再計算は、登録モードまたは修正モードで実行されます。また、オンラインタスク、ブラウザタスク、バッチタスクでの修正/登録モードで実行されます。また、レコードレベル内のどこでも実行することができます。

注意:

[レコード後]で[項目更新]処理コマンドを使用する場合、その対象となる項目が、リンクの位置付式(最小/最大)で使用されているかどうかを確認する必要があります。こういった項目に対して[項目更新]コマンドを実行すると、リンク式が再評価され、リンクが再実行されます。その結果、リンクされているレコードの項目のうち、リンクに使用されていない項目の更新済みの値が失われる場合があります。

リンク失敗と代入式

リンクの実行に失敗すると、そのリンクのデータ項目に定義されている[代入]特性が再評価され、その値が項目に渡されます。この場合の処理の規則は、メインソースのデータ項目と同じです。

注意:

リンク方式が「登録」の場合、その性質上リンクは必ず失敗します。