heißt jetzt ohne Probleme, dass 1 und 2 funzt und der Rest auf den Hammer läuft, sprich durch den error Block des monitor läuft?
Alles andere verursacht ja im Zweifel Probleme!!!

D*B

Zitat Zitat von B.Hauser Beitrag anzeigen
Also beim mir läuft das folgende Programm ohne Probleme und soweit ich mich erinnern kann hat %DEC auch immer korrekt funktioniert.

PHP-Code:
H DEBUG   DECEDIT('0,')  DATEDIT(*DMY.) DATFMT(*ISO
 *****************************************************************
D Alpha           S             15A                               
D Numer           S             11P 2                             
D Index           S              3U 0                             

D PGMSDS         SDS                                              
D   SDSMsgTxt            91    120                                
*****************************************************************
 /
Free                                                            
   
For Index 1 to 7;                                            
      
Select;                                                     
      
When Index 1;                            
           
Alpha '11111';                      
      
When Index 2;                            
           
Alpha '22222,22';                   
      
When Index 3;                            
           
Alpha '3333.333';                   
      
When Index 4;                            
           
Alpha ' 4 4 4, 44';                 
      
When Index 5;                            
           
Alpha '   55 5.5 5';     
       
When Index 6;                
           
Alpha '-66 6.66';       
      
When Index 7;                
           
Alpha '77777, 77-';               
      
EndSl;                                     
      
Monitor;                                   
        
Numer = %Dec(Alpha112);              
        
Dsply ('Numer: ' + %Char(Numer));        
      
On-Error;                                  
        
Dsply (%Trim(Alpha) + SDSMsgTxt);        
      
EndMon;                                    
   EndFor;                                       
   *
InLR = *On;                                
 /
End-Free 
MCH-Fehler bedeuten, dass eigentlich ein Parameter/Wert fehlt und nicht, dass ein falscher Wert eingegeben wurde.