Hallo zusammen,
ich soll aus einem Table den "letzten" Satz, sprich den Satz mit der höchsten Adressnummer auslesen. Diese Adressnummer soll bei Neuanlage einer Adresse um eins erhöht werden.
Kann mir jemand sagen, wo der Fehler in PrcMaxAdrNr liegt?


Table
Code:
0002.00 CREATE TABLE YYPERR                                                     
0003.00                                                                         
0004.00               (PERMANDA    CHAR (05) WITH DEFAULT ' ' ,                 
0005.00                PERFIRMA    CHAR (03) WITH DEFAULT ' ' ,                 
0006.00                PERADRNR    NUMERIC (4 , 0) WITH DEFAULT 0 ,             
0007.00                PERANRED    CHAR (04) WITH DEFAULT ' ' ,                 
0008.00                PERTITEL    CHAR (20) WITH DEFAULT ' ' ,                 
0009.00                PERVNAME    CHAR (20) WITH DEFAULT ' ' ,                 
0010.00                PERNNAME    CHAR (20) WITH DEFAULT ' ' ,                 
0011.00                PERSTRAS    CHAR (36) WITH DEFAULT ' ' ,                 
0012.00                PERPLZ      CHAR (20) WITH DEFAULT ' ' ,                 
0013.00                PERORT      CHAR (20) WITH DEFAULT ' ' ,                 
0014.00                PERLAND     CHAR (20) WITH DEFAULT ' ' ,                 
0015.00                PERTEL      CHAR (20) WITH DEFAULT ' ' ,                 
0016.00                PERFAX      CHAR (20) WITH DEFAULT ' ' ,                 
0017.00                PERMOBIL    CHAR (20) WITH DEFAULT ' ' ,                 
0018.00                PERMAIL     CHAR (36) WITH DEFAULT ' ' ,                 
0019.00                PERLOEKZ    CHAR (1)  WITH DEFAULT ' ' ,                 
0020.00                PERAENKZ    CHAR (1)  WITH DEFAULT ' ' ,                 
0021.00                PERUSER     CHAR (10)  WITH DEFAULT ' ' ,                
0022.00                PERPROGR    CHAR (10)  WITH DEFAULT ' ' ,                
0023.00                                                                         
0024.00                PRIMARY KEY (PERMANDA, PERADRNR)       );
RPG-Prog
Code:
0074.01  *-----Hoechste vorhandene Adressnummer ermitteln                       
0074.02 d PrcMaxAdrNr     PR             4  0                                   
0074.03                                                                         


0149.00 d GDsUeb          DS                                                    
0150.00 d  GAnManda                      5A                                     
0151.00 d  GAnLoeKz                      1A                                     
0152.00 d  GNuAdrNr                      4  0                                   
0153.00 d  GAnNName                     20A                                     
0154.00 d  GAnOrt                       20A                                     
0155.00 d  GAnTel                       20A                                     
0160.00 c     KeyYyPerp     KList                                               
0161.00 c                   KFld                    ExManda                     
0162.00 c                   KFld                    GNuAdrNr                    
0163.00                                                                         
0164.00 c                   move      *date         Gsysdat                     


0172.01  *     Adressnummer bei Neuanlage festlegen:                            
0172.02 c                   callp     PrcMaxAdrNr                               
0173.00 c                   eval      GNuAdrNr = PrcMaxAdrNr 


0709.00  *------------------------------------------------------------------    
0710.00  *   PrcMaxAdrNr                                                        
0711.00  *------------------------------------------------------------------    
0712.00 p PrcMaxAdrNr     B                                                     
0713.00 d PrcMaxAdrNr     PI             4  0                                   
0714.00                                                                         
0715.00 d LNuAdrNr        s              4s 0 inz(2)                            
0718.00                                                                         
0719.00 c     KeyYyPerp     KList                                               
0720.00 c                   KFld                    ExManda                     
0721.00 c                   KFld                    GNuAdrNr                    
0727.00                                                                         
0730.00 c                   eval      GNuAdrNr = *HIVAL                         
0730.01 c                                                                       
0731.00 c     KeyYyPerp     setgt     YyPerp                                    
0732.00 c     KeyYyPerp     readpe(n) YyPerp                                    
0732.03 c                                                                       
0733.00 c                   if        %eof(YyPerp)                              
0734.00 c                   eval      GNuAdrNr = *zero                          
0735.00 c                   else                                                
0736.00 c                   eval      GNuAdrNr = PerAdrNr + 1                   
0737.00 c                   endif                                               
0737.01 c                                                                        
0737.02 c***    Wert für Adressnummer zuweisen  ***         
0737.03 c                   eval      LNuAdrNr = GNuAdrNr                        
0737.04                                                                        
0737.05 c***    Testwert für Adressnummer    ***
0737.06 c*                  eval      LNuAdrNr = 111                          
0737.07                                                                       
0741.00 c                   return    LNuAdrNr                                
0742.00                                                                       
0743.00 p PrcMaxAdrNr     E
MfG Dw4rf79