実行中の 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 と検出することができる。
