podrias fijarte el tema de prefijo que utilizas y el Chain en tu clave.

 

Saludos


 


To: [email protected]
Subject: mover registro entre 2 ficheros
Date: Thu, 20 May 2010 11:01:12 +0200
From: [email protected]

Hola Foro. Tengo un problema en lo que técnicalente sería 'mover' un registro 
entero entre dos ficheros. Me explico: 
tengo el fichero A con su registro y quiero copiarlo en el fichero B que es 
exactamente igual, excepto el ultimo campo, y luego eliminarlo del A. 
He definido el programa de la siguiente forma que veis abajo, pero el caso es 
que lo copia bien, pero no me borra el registro del primer fichero, y no me da 
errores.  Cómo lo puedo hacer? 
Gracias 
 Farqtdatmp UF   e           K disk    Rename(Rarqtdatmp:Rviejo) 
 Farqtda    UF A e           K disk                               
 D RegistreTMP   e DS                  Extname(arqtdaTMP)         
 D Registre      e DS                  Extname(arqtda) Inz       
 D                                     Prefix(NW)                 
  *                                                               
  /Free                                                           
     Setll *start Arqtdatmp;                                     
     Dow not %Eof(Arqtdatmp);                                     
     Read Arqtdatmp;                                             
        If %Eof(arqtdatmp);                                       
            Leave;                                               
        Endif;                                                   
        Exsr Srproces;                                           
     Enddo;                                                       
   *inlr=*on;                                                     
                                                                  
   Begsr Srproces;                                               
     Chain (aqemp:aqten:aqanys:aqset:aqmes:aqdia) Arqtda;       
     If Aqevento='2';//Elimino                           
        If %Found;                                       
            Delete Rarqtda;                               
        Endif;                                           
     Else;//Afegeixo o actualitzo                         
            Registre=Registretmp;                         
        If Not %found;                                   
            Write Rarqtda;                               
        Else;                                             
            Update Rarqtda;                               
        Endif;                                           
     Endif;                                               
     Delete Rviejo;                                       
   Endsr;                                                 
  /end-free                                                                     
                  
_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a