%REPLACE は文字どおり文字列の中の文字を別の指定した文字列に置き換える組込み関数である。
%REPLACE の実践的な使い方を紹介しよう。
■ 効果的な組込み関数 %REPLACE の使い方の TESTRPL
ソースはこちらから
001.00 H DFTNAME(TESTRPL) DATEDIT(*YMD/) BNDDIR('QC2LE') 002.00 F********** 効果的な組込み関数 %REPLACE の使い方 ********************** 003.00 F* 004.00 F********************************************************************** 005.00 006.00 * CRTBNDRPG PGM(OBJLIB/TESTRPL) SRCFILE(SRCLIB/QRPGLESRC) DFTACTGRP(*NO) 007.00 * ACTGRP(*NEW) DBGVIEW(*SOURCE) AUT(*ALL) 008.00 009.00 D USER S 10A INZ('MN00 ') 010.00 D PASS S 10A INZ('MN99 ') 011.00 D SRCDTA S 128A 012.00 013.00 C MOVEL(P) '123' SRCDTA 014.00 C EVAL SRCDTA = 015.00 C %REPLACE(USER:SRCDTA:%SCAN(' ' 016.00 C :SRCDTA)) 017.00 /FREE 018.00 SRCDTA = ' 123'; 019.00 SRCDTA =%REPLACE(USER:SRCDTA:%SCAN(' ':SRCDTA)); 020.00 /END-FREE 021.00 C SETON LR 022.00 C RETURN
[解説]
文字列
%SCANと組み合わせて %REPLACEの効果的に使い方を示している。
SEU のF15= 走査検索/コピー・オプションも %SCANと%REPLACEを組み合わせて実現することができる。