RPG

484. ILE-RPGは DSをパラメータにできる(Ver7.1~)

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パラメータに指定することはできない。

_