詳細

[リンク]特性の[詳細]セクションには、以下の特性があります。

特性

内容

データソース番号

ここには、リンクテーブルの識別番号を指定します。ここからズームすると、[データソース一覧]が表示されます。この一覧でリンクするテーブルを選択できます。

データソースを選択すると、[データソース名]特性に名前が入力されます。

データソース名

ここには、データソース名が表示されます。

同じ名前のデータソースが複数リンクされた場合、名前を区別するために、この特性を変更することができます。ただし、空白にすることはできません。

SQLコマンドの場合は、タスクが発行するSQLコマンドが表示されます。SQLコマンドは、1つのデータベースにのみ発行することができ、2つの物理的に隔てられているデータベース上のテーブルを参照することができません。Magic uniPaaSがサポートする機能によって複数のデータベースのテーブルから構成されているデータビューを取得することができます。

インデックス

インデックスの番号を指定します。

メインのデータソースとリンクされたテーブルの間のリンクは、リンクされたデータソースのインデックスセグメントに基づいて実行されます。インデックスを適切に設定することで、レコードの検索時間を短縮することができます。

[インデックス]特性から、ズームしてリンクで使用するインデックスを選択できます。

この特性を選んだ場合、Magic uniPaaSは自動的にインデックスセグメントを構成するカラムをデータ項目として定義します。

メインソースとリンクテーブルの関係(1対多のリレーション)を構築するには、重複不可のインデックス以外は使用できません。

方向

ここでは、レコードが検索される方向を指定します。検索は、リンクに指定されているインデックスを基に実行されます。以下のオプションが指定できます。

  • D=デフォルト …… インデックスの定義内容に基づいて検索されます。

  • R=逆方向 …… インデックスの定義内容とは反対の方向に検索されます。つまり、[リンク]コマンドと[リンク終了]の間に定義されているデータ項目の[位置付]特性や[範囲]特性は全て、逆方向に評価されます。

この特性は、照会リンク、書込リンク、登録リンクで有効です。

戻り値

[リンク]処理が成功したかどうかを示す値が返ります。ここには、論理型か数値型の項目を設定することができます。処理結果によって以下のような値が返ります。

  • リンクが成功した場合 …… 「True」たは「0」が返ります。

  • リンクが失敗した場合 …… 「False」たは「1」が返ります。

リンクに失敗した場合、エンドユーザに警報を出すような場合に使用することができます。

リンク評価

この特性は、リンクテーブルの評価をタスクレベルで行うか、レコードレベルで行うかを指定します。

  • T=タスク …… リンクテーブルは、データビュー全体を取得する前に1度だけ評価されます。[条件]特性が「No」に設定されている場合、または設定された式が「False」と評価された場合、リンクテーブルはデータビューには含まれません。

  • R=レコード …… リンクテーブルは、各レコードごとに評価されます。[条件]特性が「No」に設定されている場合、または設定された式が「False」と評価された場合、リンクは実行されず、[戻り値]特性に設定された値を含め、全てのリンク項目は、デフォルト値が設定されます。

アクセス

この特性は、マルチユーザ環境でのテーブルのアクセス方法を指定します。

  • R=読込 …… 読み取り専用アクセスの場合です。

  • W=書出 …… 読み取り/書き込みアクセスの場合に指定します。

プログラムに[リンク]コマンドを定義する場合、[リンクタイプ]にもとづいて以下のように設定されます。

  • R=読込 …… 照会リンク、結合リンク、外部結合リンク

  • W=書出 …… 書込リンク、登録リンク

APGを実行してリンクが定義されるプログラムを作成した場合、アクセスモードは、「読込」になります。

SpecialLinkWriteAccess という特殊フラグを使用することで、旧バージョンと同じような動作にすることができます。

詳細については、「マルチユーザ環境」を参照してください。

条件

この特性は、リンク条件を定義します。

[条件]特性に「Yes」、「No」、「式」のいずれかを入力することで、リンク条件を定義できます。式の評価対象は論理値でなければなりません。

  • Yes(式の評価結果が「True」) …… 必要なレコードがそのリンク条件によって取り出されます。

  • No(式の評価結果が「False」) …… レコードの取り出しは実行されません。このレコードはリンクに失敗したものとして動作し、以下の処理が行われます。

    • 定義されたリンク項目の全ての値がデフォルトに戻されます。

    • リンクの[戻り値]特性は「False」となります。

    • [レコード後]の終了時にリンク条件の評価結果が「False」である場合には、現在の論理レコードの[レコード前]が無視されると同時に、変更内容も全て無視されます。