RPG

456. 効果的な組込み関数の使い方 %REPLACE

%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                                                 


                                   

[解説]

文字列 の部分をフィールド USER の値に置き換える例である。

%SCANと組み合わせて %REPLACEの効果的に使い方を示している。
SEU のF15= 走査検索/コピー・オプションも %SCAN%REPLACEを組み合わせて実現することができる。