RPGでファイル仕様書にINFDS(=Information Data Structure)を
定義しておくとそのファイルのよりくわしい情報を取得することができる。
これによってプログラムの機能を拡張することができる。
_
F@SHOHIN CF E WORKSTN F INFDS(INFDS) : D INFDS DS D NUM_ROWS 152 153B 0 DSPF の行数 D NUM_COLS 154 155B 0 DSPF の桁数 D NUM_RCDS 156 159I 0 レコード数 D RECNAM 261 270 現在のレコード名 D LINE 370 371B 0 カーソル行と桁 D TOPRRN_ 378 379B 0 SFL 先頭の RRN D BRRN 376 377B 0 入出力レコード RRN : C***************************************************** C CURSOR BEGSR C***************************************************** C LINE DIV 256 LIN 3 0 画面の行数 C MVR POS 3 0 画面の桁数 C ENDSR
[解説]
NUM_ROW とNUM_COLS は現在の表示画面サイズを表している。
24 * 80 または 27 * 132 の値が取得される・
NUM_RCDS とはこのファイルを最初にオープンしたときのレコード数である。
しかしこのプログラムや他のプログラムでレコードを追加してもこの値は可さんされない。
この値を保守するにはプログラム内部で可さんしなければならない。
RECNAM とは現在、入出力したファイルのレコード名である。
LINE によって表示ファイルに対するカーソルの位置を取得することができる。
TOPRRN はサブ・ファイルをロールアップしたときに今、最上部に表示されている
サブ・ファイル・レコードのRRN を示している。
BRRN はサブ・ファイルや現在のファイルの入出力しているレコードのRRNを
示している。
_