ファイル記述のタイプ
プログラムが使用することになるファイル記述を識別する時には、ファイルが
プログラム記述ファイルであるのか、それとも外部記述ファイルであるのかを
示さなければなりません。
- プログラム記述ファイルの場合には、
データ構造体を使用してファイル操作用のデータを保持することができ、
グローバル・ファイルの場合には、フィールドの記述は入力仕様書または出力仕様書 (あるいはその両方) で RPG ソース・メンバーの中にコーディングできます。
オペレーティング・システムに対するファイルの記述には、データがどこから取られるかについての情報、 およびファイル中のレコードの長さについての情報が含まれます。
- 外部記述ファイルの場合には、コンパイラーは DDS、IDDU、ま
たは SQL コマンドを使用して作成された外部ファイル記述からフィールド
の記述を取り出します。したがって、入力仕様書または出力仕様書 (あるいはその
両方) で RPG ソース・メンバー中にフィールド記述をコーディングする必要はありませ
ん。
外部記述には、データベースや特定の装置などデータが取られる場所について の情報、および各フィールドの記述とその属性についての 情報が含まれます。 プログラムをコンパイルする前に、ファイルが存在し、ライブラリー・リスト からアクセス可能でなければなりません。
外部記述ファイルには次の利点があります。
- プログラムのコーディングが少なくなります。 同じファイルが多くのプログラムで使用される場合には、フィールドを オペレーティング・システムに対して 1 回定義して、そのすべてのプログラムで使用 することができます。 この実行により、外部記述ファイルを使用する RPG プログラムの入力仕様書または出力仕様書のコーディングの必要性が減少します。
- ファイルのレコード様式が変更された時の保守の作業が少なくなります。 ファイルのレコード様式を変更し、そのファイルを使用しているプログラムをその後でコンパイルし直すことによって、 そのプログラム内のコーディングを変更せずに、プログラムを何回も更新することができます。
- 同じファイルを使用しているプログラムでは、レコード様式および フィールド名を共通して使用しているので、文書化が改善されます。
- 信頼性が改善されます。 レベル検査が指定された場合には、RPG プログラムは外部記述に変更があった かどうかをユーザーに通知します。 詳しくは 、レベル検査を参照してください。
装置 SEQ または SPECIAL に外部記述ファイル (ファイル仕様書の 22 桁目の E で識別) が指定された場合には、RPG プログラムはファイルのフィールド記述 を使用しますが、オペレーティング・システムとのインターフェースは、 ファイルがプログラム記述ファイルであるかのようになります。 PRINTER ファイルの用紙制御などの装置従属機能は、この情報が既に 外部記述で定義されているので、外部記述ファイルで指定することはできません。