INFDS ファイル・フィードバックの例
ファイル・フィードバック・セクションのフィールドが入る INFDS を指定す
るために、次の指定を行うことができます。
- ファイル仕様書でファイル情報データ構造の名前と一緒に INFDS キ ーワードを指定します。
- 定義仕様書で使用したいファイル情報データ構造およびサブフィールドを指定 します。
自由形式サブフィールド定義の最初のキーワードとして特殊キーワードを指定するか、あるいは、
定義仕様書の FROM フィールド (26 から 32 桁目) に左寄せして特殊キーワードを指定するか、
または FROM フィールド (26 から 32 桁目) および TO フィールド (33 から 39 桁目) にフィールドの位置を指定します。

図 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?
注: キーワードはラベルではないので、サブフィールドのアクセスに使用する
ことはできません。 記入項目が短い場合には、右側にブランクが埋め込まれます。