Zitat Zitat von B.Hauser Beitrag anzeigen
Warum wollt Ihr denn partout die Räder neu erfinden!
@Birgitta,
nicht neu erfinden, nur einfacher...

Siehe hier:
Code:
 D $strng          s           8192                                  
 D $text           s            250                                  
 D $cvtxt          DS          8192    qualified                     
 D   Feld1                       50A                                 
 D   Feld2                       50A                                 
 D   Feld3                       50A                                 
 D   Feld4                       50A                                 
 D   Feld5                       50A                                 
 D   Feld6                       50A                                 
 D $start          S              5U 0 inz(1)                        
 D $end            S              5U 0                               
 D $len            S              5U 0                               
  /free                                                              
   $text    = 'Wieso sollte die Funktion WRAPTEXT von Michael +      
               Sansosterra den Erfordernissen nicht entsprechen? +   
               M.E. ist dies genau was gefordert wurde. +            
               Allerdings geht das einiges einfacher und vor allem + 
               verständlicher. +                                     
               Wieso mit Kanonen auf Spatzen schiessen?';            
 
   $strng = $Text;                                                    
   exsr $Wrap;                               
 
... do what ever you want...
 
   *inlr = *on;                                                       
 
   //  Convert Fliesstext in eine Datenstruktur                       
 
   begsr $Wrap;                                                       
     $len = %len($cvtxt.Feld1);                                       
     $end = $len;                                                     
 
     dow $strng <> *blanks;                                           
       dow %subst($strng:$end:1) <> *blank                            
           and $end > 1;                                              
         $end -= 1;                                                   
       enddo;                                                         
       if $end > $len or $end <= 1;                        // overflow
         $end = $len;                                                 
       endif;                                                         
       %subst($cvtxt:$start:$len)=%subst($strng:1:$end);
       $strng = %trim(%subst($strng:$end))+' ';                     
       $start += $len;                                              
       $end = $len;                                                 
     enddo;                                                         
   endsr;                                                           
  /end-free
Alternativ mit Arrays arbeiten.

@Robert
Gute Idee der Shift - alte Schule, gelernt ist gelernt. ;-)

Just my 2ct's