実行中の RPGプログラムの中で今、オープンした DSPF がサイズ : 24*80 のセッションで
オープンされているのか、それとも 27*132 の画面セッションでオープンされているのか
どのように調べればよいのだろうか ?
そこで IBM RPG 解説書 で調べてみると
FMYDSPF CF E WORKSTN F INFDS(INFDS) : : D INFDS DS D NUM_ROWS 282 283B 0 D NUM_COLS 284 285B 0
のように紹介されているので、この例のとおりにコーディングしてみると
行: NUM_ROWS
, 桁: NUM_COLS
には 0 や不明な値が入っていて全く検出することができない。
つまり、このIBM マニュアルの記述は全くの間違いである。
正しくは、
FMYDSPF CF E WORKSTN F INFDS(INFDS) : : D INFDS DS D NUM_ROWS 152 153B 0 D NUM_COLS 154 155B 0
である。
このように記述しておけば 行: NUM_ROWS=24
, 桁: NUM_COLS=80
と正しい値を
取得することができる。
もちろん *DS4
の環境であれば 行: NUM_ROWS=27
, 桁: NUM_COLS=132
と検出することができる。