ファイル仕様書に指定されたキーワード DEVID、SAVEIND、MAXDEV(*FILE)、 または SAVEDS のうち、少なくとも 1 つを持つ任意の RPG WORKSTN ファイルが 複数装置ファイルです。 複数装置ファイルを介して、ユーザーのプログラムは複数の装置にアクセスす ることができます。
RPG プログラムは、プログラム装置を介してアクセスしますが、 プログラム装置とは実際の装置への操作を指示する記号メカニズムのことです。 ファイルを作成する場合には (DDS およびファイル作成コマンドなどのコマンド を使用して)、プログラム装置と関連した装置、ファイルに要求元プログラム装置 があるかどうか、ファイル名別 READ 命令に応答するための装置の送信勧誘 に使用されるレコード様式、およびこの READ 命令が応答を待機する時間など を考慮します。 複数装置ファイルを作成する場合のオプションおよび要件については、Web サイト http://www.ibm.com/eserver/iseries/infocenter で iSeries Information Center の中の 『データベース』カテゴリーの『DB2 Universal Database for AS/400』の節にある表示装置ファイルの章を参照してください。ICF ファイルに関する情報は、「ICF Programming」でも参照できます。
複数装置ファイルについては、次の命令コードで特別の使用法があります。
この装置は最後の入力操作で使用した装置、ユーザーが指定した装置、 または要求元プログラム装置となります。 「ICF Programming」の、プログラム装置の案内、および 各プログラム装置についての節を参照してください。
RPG 命令コードについて詳しくは、「WebSphere Development Studio: ILE RPG 言語解説書」を参照してください。
ファイル仕様書で、いくつかのキーワードを指定して、複数装置ファイルの処 理を制御することができます。
処理するファイルの定義から装置の最大数が取られる複数装置ファイルを処理 するためには、MAXDEV(*FILE) を指定してください。ただ 1 つの装置を処理するためには、MAXDEV(*ONLY) を指定してください。
1 プログラム装置からの読み取りまたは WRITE 命令が出された時には、この 命令に使用される装置は DEVID キーワードに対するパラメーターとして指定さ れた装置です。 このフィールドはブランクに初期設定され、最後の 正常な入力操作が行われた 装置の名前で更新されます。 ある値をフィールドに転送して、明示的に設定することもできます。 ACQ 命令コードは、このフィールドの値に影響しません。 DEVID キーワードが指定されていない場合には、最後の正常な入力操作が実行 された時の装置に対して入力操作が実行されます。 読み取り命令が装置からまだ正常に実行されていない場合には、ブランクの装置 名が使用されます。
1 プログラム装置からの読み取りまたは WRITE 命令がブランクの装置名で出され た時には、RPG コンパイラーはプログラムの要求元装置の装置名を暗黙に 使用します。 RPG プログラムを対話式に呼び出して、これらの命令のいずれかの実行 対象としたい ICF 装置を獲得する場合には、命令を実行する前に ICF 装置の 装置名を DEVID キーワードに指定されたフィールド名に明示的に転送しなけれ ばなりません。 これを行わない場合には、使用される装置名は ブランク (この場合には、 対話式要求元装置名が使用されます)、 または最後の正常な入力操作からの 装置名となります。 ICF 装置に対して入出力操作を実行した場合には、別の装置で入力操作が正常 に完了するまでは、値を変更する必要はありません。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.