Hallo Dirk,

mit einem einzigen Statement klappt das nicht!
Hier ist ein Beispiel für eine Funktion, die die Haus-Nr. ermittelt.
(ab Release V5R1M0)
Einige Sonderfälle sind abgefangen für andere Sonderfälle kannst Du ja die Funktion modifizieren.

Prototyp:
PHP-Code:
D HausNummer      PR            10A                          
D   PPStr                             like
(Str) const 
PHP-Code:
P HausNummer      B                                                       
                                                                          
 
Procedure Interface                                                    
D HausNummer      PI            10A                                       
D   PPStr                             like
(Str) const                   
  
 * 
Hilfs-Felder                                                                        
D RtnHausNr       S             10A                                       
D Index           S              3U 0                                     
                                                                          
 
Ermitteln Haus-Nr.                                                    
 /
Free    
     
if %CheckR(' 'PPStr) = %Len(PPStr);    
        Return *
Blanks;                       
     Endif;                                   
                                                                
   
Monitor;                                                               
     For 
Index = %Scan(' 'PPStr1to %CheckR(' 'PPStr)              
                                      
by %Scan(' 'PPStrIndex+1)-Index;
                                                                          
       If    %
Subst(PPStrIndex+11) >= '0'                             
         
and %Subst(PPStrIndex+11) <= '9';                            
         
RtnHausNr = %Subst(PPStrIndex+1: %CheckR(' 'PPStr) - Index); 
       EndIf;   
                                                                 
       if  %
Scan(' 'PPStrIndex 1) > %CheckR(' 'PPStr);   
           Return 
RtnHausNr;                                     
       Endif;                                                    
                                                                 
     EndFor;                                                     
                                                                 
   
on-Error;                                                     
     Return *
Blanks;                                             
   
EndMon;                                                       
                                                                 
     Return *
Blanks;                                             
 /
End-Free                                                       
                                                                 
P HausNummer      E 
Die Funktion liefert für folgende Beispiele folgende Ergebnisse:
PHP-Code:
TestInSerT 234  --> 234
TestInsert 1A   
--> 1A
TEST Ins 4
/25b  --> 4/25B
Test 2 x        
--> 2 x
T e s t 13245   
--> 12345
TestinsertABCDE 
--> *Blanks
TESTInsert A23  
--> *Blanks
TestI           
--> *Blanks
Test XY z 23a4  
--> 23a4 
Birgitta