CL

188. 32767バイト変数定義のコンパイル・エラーを避けるには

CLPで最も大きな変数として次のように
32767バイまでの変数を定義することができる。

 DCL        VAR(&PRM1992) TYPE(*CHAR) LEN(32767)

ところが CRTCLPGM でコンパイルすると

CPD0765 30  式が 32767 バイトより大きい一時変数を必要としています。 

とのコンパイル・エラーとなってコンパイルが通らない場合がある。

このエラーを回復するにはCLPのソース・タイプを
CLPから CLLEに変更して

CRTCLPGM PGM(OBJLIB/MYPGM) SRCFILE(SRCLIB/QCLSRC) OPTION(*SRCDBG) AUT(*ALL) 

のように CRTBNDCL でコンパイルするとコンパイルは正常に成功する。