リンクはMagic xpaの処理の中では非手続き型の処理に入ります。Magic xpaでは以下の場合、リンク式が再計算されると同時にリンクが再作成されます。
リンク定義で使用されている位置付式(最小/最大)に項目が定義されている場合
[データビュー]エディタ上でリンク定義の前にその項目が定義されている場合
項目の値が更新された場合
このため、リンク定義内の項目の値が全て変更されることがあります。式の再計算については、「非手続き型方式での代入式の自動再計算」を参照してください。
リンク式の項目のうち、値の変更を引き起こす項目を「修正項目」と呼んでいます。つまり、[データビュー]エディタ上でリンクの前に定義されており、その項目の値が変わるとリンクの再計算が引き起こされるような項目が修正項目となります。修正項目の値は以下の場合に変更されます。
エンドユーザが手動で変更した時
[項目更新]処理コマンドが実行された時
[フォーム入力]処理コマンドでデータが入力された時
コールされたタスクに渡され、そのタスクで変更された時
リンクの再計算は、「登録モード」または「修正モード」で実行されます。また、レコードレベル内のどこでも実行することができます。
注意: |
[レコード後]で[項目更新]処理コマンドを使用する場合、その対象となる項目が、リンクの位置付式(最小/最大)で使用されているかどうかを確認する必要があります。こういった項目に対して[項目更新]コマンドを実行すると、リンク式が再評価され、リンクが再実行されます。その結果、リンクされているレコードの項目のうち、リンクに使用されていない項目の更新済みの値が失われる場合があります。 |
リンク失敗と代入式
リンクの実行に失敗すると、そのリンクのデータ項目に定義されている[代入]特性が再評価され、その値が項目に渡されます。この場合の処理の規則は、メインソースのデータ項目と同じです。
注意: |
リンク方式が「登録」の場合、その性質上リンクは必ず失敗します。 |