Was ist Dein Problem das Suchen und Ersetzen?

Dies kann relativ einfach mit der Built-in-Funktion %Replace() bewerkstelligt werden.

%Replace(NeuerString: StartPosition: LängeAlterString)

Es wird jeweils nur das erste Vorkommen ersetzt. Wenn also alle Vorkommen ersetzt werden müssen, muss eine Schleife programmiert werden.

Im folgenden Beispiel wird 'ABC' durch 'ZXYDE' ersetzt.
PHP-Code:
D Text50          S             50A   inz(*Blanks)    
D MyString        S             10A   varying         
D NewString       S             10A   varying         
D Position        S              5U 0                 
 
*---------------------------------------------------------
 /
free                                                                        
    Text50      
'ABCxyABCvwABC123ABC50';                                    
    
Dsply Text50;                                                             
    
MyString    'ABC';                                                      
    
NewString   'ZXYDE';                                                    
    
Position    1;                                                          
                                                                              
    
DoW  %Scan(MyStringText50Position) <> *Zeros;                         
         
Text50   = %Replace(NewStringText50:                               
                       %
Scan(MyStringText50Position): %Len(MyString));    
         
Dsply Text50;      
    
Enddo;                                                                    
                                                                              
    
Dsply Text50;     
    *
INLR = *ON;                                                       
 /
End-Free 
Falls Du bereits auf Release V5R3M0 bist, kannst Du auch die SQL-Funktion REPLACE verwenden, die alle Vorkommen ersetzt.
PHP-Code:
c/EXEC SQL   Set :Text50 Replace(:Text50, :MyString, :NewString)
C/END-EXEC 
Birgitta