数字フィールドの値を文字フィールドに移すと先行ゼロが入ってしまう。
例えば 78.5という値を文字フィールドにCHGVAR命令で入れると
000078.5
と表示されてしまう。この先行ゼロ 000 を抑制する方法を示す。
0043.00 DCL VAR(&FORMLEN) TYPE(*DEC) LEN(6 3) 0044.00 DCL VAR(&FORMLENC) TYPE(*CHAR) LEN(10) : : 0235.00 CHGVAR VAR(&FORMLENC) VALUE(&FORMLEN) 0236.00 NXTLENC: IF COND(%SST(&FORMLENC 1 1) *EQ '0') THEN(DO) 0237.00 CHGVAR VAR(&FORMLENC) VALUE(%SST(&FORMLENC 2 9)) 0238.00 GOTO NXTLENC 0239.00 ENDDO
[解説]
方法として最初の1桁目が 0であれば 2桁目以降だけを取り出すようにして
それを繰り返しているだけのことである。
_