[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    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.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.389
    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.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    Zitat Zitat von BenderD Beitrag anzeigen
    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
    Die alphanumerischen Werte werden auch dann, wenn der Monitor-Block fehlt konvertiert!
    PHP-Code:
    Job 029946/HAUSER/HS_S01A im Subsystem QINTER
    DSPLY  Numer
    11111,00                       
    DSPLY  Numer
    22222,22                       
    DSPLY  Numer
    3333,33                        
    DSPLY  Numer
    444,44                         
    DSPLY  Numer
    555,55                         
    DSPLY  Numer
    : -666,66                        
    DSPLY  Numer
    : -77777,77 
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Datumfeld in RPGLE löschen
    By Mr.iSeries in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-01-07, 11:57
  2. Cobol <> RPGLE
    By Xanas in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-12-06, 14:38
  3. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 11:15
  4. num. Feld in Datumsfeld konvertieren
    By edig in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-07-06, 09:20
  5. RPG-ILE: Alpha --> Numeric
    By TomWaf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 12-05-06, 10:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •