汎用的なPGMで将来のフィールドの長さの変更にも対応できるようにしておくには、
%LEN
や%SIZE
を指定することができる。
%LEN
はフィールドが定義されている長さを示し、%SIZE
はフィールドの占めるバイト数を示す。
例えば PACK(7, 0)
の %LEN
は 7であるが、%SIZE
は 4 である。
%SIZE
は V3R2M0から使用可能であり、%LEN
は V4R4M0 から使用可能である。
【例】下記では SHCODEという10バイトの文字フィールドに対して
%LEN(SHCODE)
には 値10 がパラメータ値として渡される。
CALLP SETCHAR('SHCODE': SHCODE: %LEN(SHCODE))