変更の始まり

HANDLER(プログラムまたはプロシージャー { : 通信域)})

HANDLER キーワードは、ファイルがオープン・アクセス・ファイルであることを示します。 装置が DISK、PRINTER、SEQ、または WORKSTN のファイルに対して指定できます。

最初のパラメーターは、ファイルに対する入力命令および出力命令を処理する プログラムまたはプロシージャーを指定します。次のように指定できます。

注:
  • 最初のパラメーターが変数の場合、その変数はファイルがオープンされる前に 設定されている必要があります。
  • ハンドラー・プロシージャーがオープン・アクセス・ファイルと同じモジュール内に ある場合、ファイルは USROPN キーワードを指定して定義されている必要があります。

2 番目のパラメーターは任意指定です。これは、 RPG プログラムが追加情報をハンドラーと直接共有できるように するためにハンドラーに渡される変数を指定します。

次の例では、ハンドラーは、通信域が、10 文字の option サブフィールドのあるデータ構造 であると予期します。
注: ハンドラーが予期しているように通信域変数を定義するのは、 RPG プログラマーの責任です。通常、コピー・ファイルを使用して、通信域用のデータ構造のテンプレート を定義します。RPG プログラムとハンドラーが通信域に同じ定義を 確実に使用するようにするためのコピー・ファイルの使用方法を 示すオープン・アクセス・ファイルの完全な例については、オープン・アクセス・ハンドラーの例を参照してください。
   DCL-F myfile HANDLER('MYPGM' : options) USROPN;

   DCL-DS options QUALIFIED;
      detail CHAR(10);
   END-DS;

   options.detail = 'FULL';
   OPEN myfile;
   . . .
   CLOSE myfile;

   options.detail = 'NONE';
   OPEN myfile;
   . . .
変更の終わり