Señores, les presento el siguiente problema con ds sobre registros de archivo, 
utilizadas en srvpgm,.. esperando, de vuestra sabiduria.

En el copy del proto se presenta lo siguiente.(apartes del mismo)

d Actual        e ds                  extname(SRVPGML0)             
d Anterior      e ds                  extname(SRVPGML0) prefix(n_)  

 *                                                      
d SRVPGML0_update...                                    
d                 pr                                    
d W_CAMPO01                        Like(n_CAMPO01)   
d Ds_UpdRec                           LikeDs(Anterior)  
d IndUpdate                       n                     

Este es el procedimiento para actualizar el archivo
Ingresa el campo llave y en Ds_Updrec, lo nuevos valores del registro


 *** Actualizar registro del  archivo                 
p SRVPGML0_update...                                  
p                 b                   export          
d SRVPGML0_update...                                  
d                 pi                                  
d W_CAMPO01                        Like(n_CAMPO01) 
d Ds_UpdRec                           LikeDs(Anterior)
d IndUpdate                       n                   
 *                                                    
 *** Llave del proceso                                
c     KFile         KList                             
c                   KFld                    W_CAMPO01 
 *                                                    
 /Free                                                
   IndUpdate = *Off;                                  
   Chain KFile SRVPGML0;                              
   If %Found(SRVPGML0);                               
    Actual = Ds_UpdRec;                               
    Update RSrvPgmF;                                  
    IndUpdate = *On;                       
   EndIf ;                                 
 /End-Free                                 
p SRVPGML0_update...                       
p                 e    

El problema radica, cuando realizo el chain, la ds Ds_UpdRec, toma los valores 
del chain y se pierden los originales, realmente no entiendo ya que los campos 
correpsondientes a Ds_UpdRec tienen el prefijo n_, como lo demuestra la linea 
de definición de la ds llamada Anterior.

Si alguno de ustedes tuvo este problema, espero de su ayuda                    
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a