CL

88. %TRIM で先行ゼロを消去する

85. CLPで先行ゼロを消去するには」で文字フィールドの先行ゼロの消去の方法を
紹介したが、OS Ver 7.1〜では、組み込み関数 %TRIM が追加されているので
より簡単に先行ゼロを消去することができる。

【サンプル・ソース TESTTRIM 】
0001.00              PGM                                                     
0002.00              DCL        VAR(&DSP05) TYPE(*CHAR) LEN(5) VALUE('00128')
0003.00                                                                      
0004.00              CHGVAR     VAR(&DSP05) VALUE(%TRIM(&DSP05 '0'))         
0005.00              SNDPGMMSG  MSG(' 数量 = ' *CAT &DSP05) MSGTYPE(*DIAG)   
0006.00              ENDPGM                                                  
【解説】

%TRIM(&DSP05: '0') によって 00128 の先行ゼロを消去することができる。
%TRIM の記述方法でおわかりのように %TRIM は先行ゼロだけでなく
'AAA128' に対して %TRIM(&DSP05:'A') と記述すれば、先行 'A' を消去することができる。
%TRIM(&CHAR20:' ') のようにすれば一般的なトリム関数として利用することができる。

【実行結果】

TESTTRIM