@dskprofi,

danke, aber das bringt mich nicht wirklich weiter. Der Feldwert ist ja variabel und der neue Wert besteht ja aus 5 Leerzeichen und dem ursprünglichen Feldwert, wenn in den ersten 5 Stellen des ursprünglichen Feldwertes kein Alphazeichen oder Blank vorkommt. Die ersten 5 Stellen des alten Feldwertes müssen alle entweder Alphazeichen (A-Z) oder eben Blank sein. Da kann keine Variable für einen Suchwert definiert werden. Ich habe das jetzt wie folgt gelöst:

Zuerst die Definition der DS:
Code:
D $ArtChk         DS                          
D  $OTNCheck                     1A   Dim(25) 
 *                                            
D $ArtNeu         DS                          
D  $OTNNeu                       1A   Dim(25) 
 *                      
 *---------------------------------------------------------------          
 ***** Constants                                                           
 *---------------------------------------------------------------          
D AlphaChk        C                   CONST ('ABCDEFGHIJKLMNOPQRSTUVWXYZ-  
D                                             ÖÄÜ ')
und danach diese Subroutine:
Code:
SROTNCheck begsr;

$ArtChk = S081XFLANR;                  
                                       
#i = %check(AlphaChk : $ArtChk);       
                                       
if #i < 5;                          
   for #i = 1 to 5;                 
      $OTNNeu(#i) = ' ';            
   endfor;                          
   for #j = 1 to 20;                
      #i += 1;                      
      $OTNNeu(#i) = $OTNCheck(#j);  
   endfor;                     
endif;                    
                             
S081XFLANR = $ArtNeu;     

endsr;
So funktioniert das für mich.

LG
Franz-Georg