INFDS ファイル・フィードバックの例

ファイル・フィードバック・セクションのフィールドが入る INFDS を指定す るために、次の指定を行うことができます。
変更の始まり
図 1. ファイル・フィードバック情報を持つ INFDS の自由形式でのコーディング例
   DCL-F MYFILE DISK(*EXT) INFDS(FILEFBK);

   DCL-DS FILEFBK;
     FILE          *FILE;                  // File name
     OPEN_IND      IND        POS(9);      // File open?
     EOF_IND       IND        POS(10:      // File at eof?
     STATUS        *STATUS;                // Status code
     OPCODE        *OPCODE;                // Last opcode
     ROUTINE       *ROUTINE;               // RPG Routine
     LIST_NUM      CHAR(8)    POS(30);     // Listing line
     SPCL_STAT     ZONED(5)   POS(38);     // SPECIAL status
     RECORD        *RECORD;                // Record name
     MSGID         CHAR(7)    POS(46);     // Error MSGID
     SCREEN        *SIZE;                  // Screen size
     NLS_IN        *INP;                   // NLS Input?
     NLS_OUT       *OUT;                   // NLS Output?
     NLS_MODE      *MODE;                  // NLS Mode?
   END-DS;
変更の終わり
図 2. ファイル・フィードバック情報を持つ INFDS の固定形式でのコーディング例
FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments++++++++++
FMYFILE    IF   E             DISK    INFDS(FILEFBK)
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++
DFILEFBK          DS
D FILE              *FILE                                                  * ファイル名
D OPEN_IND                9      9N                                        * ファイルはオープン ?
D EOF_IND                10     10N                                        * ファイルは EOF ?
D STATUS            *STATUS                                                * 状況コード
D OPCODE            *OPCODE                                                * 最後の命令コード
D ROUTINE           *ROUTINE                                               * RPG ルーチン
D LIST_NUM               30     37                                         * リスト行
D SPCL_STAT              38     42S 0                                      * SPECIAL 状況
D RECORD            *RECORD                                                * レコード名
D MSGID                  46     52                                         * エラー MSGID
D SCREEN            *SIZE                                                  * 画面サイズ
D NLS_IN            *INP                                                   * NLS 入力 ?
D NLS_OUT           *OUT                                                   * NLS 出力 ?
D NLS_MODE          *MODE                                                  * NLS Mode?
注: キーワードはラベルではないので、サブフィールドのアクセスに使用する ことはできません。 記入項目が短い場合には、右側にブランクが埋め込まれます。