ILE-RPGはOS毎に進化していて RPG III や
ILE-RPG でも Ver6.1までは DS定義の変数は
パラメータにするとコンパイル・エラーになってしまっていたが
Ver7.1 からはDSフィールドを*ENTRYパラメータとして
定義することができるようになった。
小さな進歩に見えるがDSを使用する機会が多いので
これはよくなった進化と言えるだろう。
_
[例]
0001.00 D QRYINFO DS 0002.00 D QRY 1 10A 0003.00 D QRYLIB 11 20A 0004.00 0005.00 C*-------------------------------------------------------------------------- 0006.00 C *ENTRY PLIST | 0007.00 C PARM QRYINFO | 0008.00 C*--------------------------------------------------------------------------
[解説]
QRY + QRYLIBを QRYINFO という名前のDSで定義しているが
Ver6.1まではこれはコンパイル・エラーとして拒否されていたが
Ver7.1からは受け入れられるようになった。
※ ただしDSを構成している変数はVer7.1でもパラメータに指定することはできない。
上記の例ではフィールドQRYやQRYLIBは*ENTRYパラメータに指定することはできない。
_