Habe ich etwas falsch verstanden? Warum führt die %replace Funktion nicht zum Ergebnis?

Code:
d String          s            100a                                  
                                                                     
c                   eval      String = 'Der Satz soll von 4% auf 5%' 
c                             +' angehoben werden.'                  
                                                                     
c                   do        *hival                                 
c     '%'           scan      String                                 
c                   if        not %found                             
c                   leave                                            
c                   else                                             
c                   eval      String=%replace(' Proz.':String:        
c                             %scan('%':String):1)                   
c                   endif                                            
c                   enddo                                            
                                                             
c                   eval      *inlr='1'
Gruß Henke