プログラム例 2 (限界内順次処理)

図 1 には、プログラム ESWLIM2 (図 2) によって使用されるレコード・アドレス限界値ファイルのデータ記述仕様書 (DDS) を示してあります。

図 1. レコード・アドレス・ファイル LIMITS (物理ファイル) の DDS
     A*****************************************************************
     A*   関連プログラム:  ESWLIM                                     *
     A*             説明:  これは物理ファイル LIMITS の DDS です。    *
     A*                    これには、1 つのレコード様式 LIMIT が      *
     A*                    入っています。                             *
     A*****************************************************************
     A
     A          R LIMIT
     A            LOW            5  0
     A            HIGH           5  0

このプログラムは、前のプログラムと同じジョブを実行します。 唯一の違いは、この 物理ファイル EMPMST はプログラム記述ファイルの代わりに、外部記述ファイルとして 定義されていることです。

図 2. プログラム記述ファイルの限界内順次処理
      *****************************************************************
      *  プログラム名:  ESWLIM2                                       *
      *  関連ファイル:  EMPMST   (物理ファイル)                       *
      *                 LIMITS   (物理ファイル)                       *
      *                 PRINT    (プリンター・ファイル)               *
      *         説明 :  このプログラムは、索引付きファイルの限界内    *
      *                 限界内順次処理を                              *
      *                 示します。                                    *
      *                 このプログラムは、社員番号がファイル LIMITS   *
      *                 で指定された限界内にある社員の情報を          *
      *                 印刷します。                                  *
      *****************************************************************
     FLIMITS    IR   F    6     3  DISK    RAFDATA(EMPMST)
     FEMPMST    IP   E     L     K DISK
     FPRINT     O    F   80        PRINTER
      *  外部記述ファイルでは入力仕様書はオプションです。
      *  ここで、レコード様式 EMPREC のレコード識別標識 *IN01 を
      *  定義し、このレコードの処理を
      *  制御します。
     IEMPREC        01

     OPRINT     H    1P                     1
     O                                           12 'SERIAL #'
     O                                           22 'NAME'
     O                                           45 'DEPT'
     O                                           56 'TYPE'
     O          D    01                     1
     O                       ENUM                10
     O                       ENAME               35
     O                       EDEPT               45
     O                       ETYPE               55
     O*