AS400の論理ファイル

論理ファイルは、物理ファイルによって表現される表を操作して得られる新しい表に相当します。RDBのテーブル(Table)から得られるビュー (view)みたいなものです。

論理ファイルは基になる物理ファイルを指定します。
選択項目、選択条件、レコードの並び順(アクセスパス)を指定します。
選択項目が同じ、つまり、同じレコード様式の場合は、レコード様式名も同じにします。

物理ファイルとレコード様式が同じ論理ファイルの例
20150710LF_1

物理ファイルとレコード様式が異なる論理ファイルの例
20150710LF_2

ここまではRDBのViewと同じですが、AS400の論理ファイルは、異なるレコード様式を持つことができます。
Viewを10レコードを読んだ時に1レコード目と2レコード目が異なる、つまり同じViewから呼んでもレコードによって列の構成(レコード様式)が異なるということです。

複数レコード様式を持つ論理ファイルの例
20150710LF_3

この場合はキーフィールドの指定順に従ってまず(受注見出しファイルから)受注番号順に、次いで同じ受注番号のレコードについては(受注明細ファイルから)受注明細行番号の順に並んだものが作成されます。
このようにするメリットはおそらくRPG側でデータのまとまりを判断しやすく、簡単に処理をするものだと思いますが、まだよく理解していません。

複数の物理ファイルからのフィールドを1つのレコード様式に結合した論理ファイルを結合論理ファイルといいます。RDBの複数のテーブルを結合して1つのビューを作成するのと同じです。
上記のものは、結合していませんので、非結合論理ファイルといいます。

結合論理ファイル

結合論理ファイルの制約事項

  • 結合論理ファイルは、データの読み取りだけが許されます。(データの追加、更新、削除は不可)
  • DFUは結合論理ファイルを使用できません。
  • 結合論理ファイルのキーフィールドは最初に指定した物理ファイルのフィールドでかつ結合レコード様式中に存在するフィールドでなければなりません。

最初に指定した物理ファイルを「プライマリー・ファイル」と呼び、他の物理ファイルを「セカンダリー・ファイル」と呼びます。
20150710LF_4

スポンサーリンク
memordmレクタングル(大)
memordmレクタングル(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
memordmレクタングル(大)