RPG

504. DO *HIVALはフリー・フォーマットではどう書く?

DO *HIAVL は固定式フォーマットでは便利であったが
フリー・フォーマットでは DO *HIVAL を記述することはできない。
そこで工夫したのが次の記述である。
_

0019.00 D ON               S              1N   INZ(*ON)
 :
0022.00   /FREE
 :
0028.00       DOW ON;                   
0029.00         RES   = EXFMT('DSPDTA01'); 
0030.00       ENDDO;                       
 :
0032.00   /END-FREE

[解説]

フリー・フォーマットではDOWの後続には式を書かなければならない。
しかし

              DOW FLD = '1'

などと書いては後でこのプログラムの読み手は意味不明となるだろう。
そこで式ではなく標識にすれば*HIVALの代わりをフィールド名(=標識名)
として表現できるのでこれが永久LOOPを示していることを読み手に伝えることができる。
_