RPG

222. %TRIM による先行ゼロの消去

220. 文字フィールドの先行ゼロの消去」で先行ゼロの消去の簡単な方法を示したが
組み込み関数 %TRIM が使える OSバージョンであれば、もちろん %TRIM によって
先行ゼロを消去することができる。
ここでは %TRIM によるゼロ・サプレスの方法を紹介する。

【サンプル・ソース : TESTTRIM】
0001.00 H DFTNAME(TESTTRIM) DATEDIT(*YMD/)                                     
0002.00 F********** %TRIM による先行ゼロの消去 ********************************
0003.00 F*                                                                     
0004.00 F**********************************************************************
0005.00 D DSP05           S              5A   INZ('00128')                     
0006.00 D DSP40           S             40A                                    
0007.00 C                   EVAL      DSP40 = 'DSP05 =' + %TRIM(DSP05:'0')     
0008.00 C     DSP40         DSPLY                   ANS               1        
0009.00 C                   SETON                                        LR    
0010.00 C                   RETURN                                             
【解説】

%TRIM(DSP06:'0') によってフィールド DSP0500128 の先行ゼロを消去している。
%TRIM のこの記述方法によっておわかりのように %TRIM(DSP06: ' ') とすると 両端のスペースを
除去することもできる。

【実行結果】

TESTTRIM