Title: Chain a DS (2� parte)
Hola Fernando
 
 Lo que puedes hacer es  en tu programa cambia el nombre de tu archivo OR100100 ponle OR100100X u otro nombre que tu quieras y antes de compilar haz un OVRDBF FILE(OR100100X) TOFILE(BIBLIOTECA/OR100100) y tu programa quedaria asi
 
hdftactgrp(*no)                                                
hactgrp(*caller)                                               

 *                                                             
Forl00100x if   e           K disk                             
 *                                                             
 *                                                             
Dreg            E DS                  extname(orl00100)        
 *                                                             
 /free                                                         
      chain (5) Rorf001;       <----- NO NECESITAS PONERLE EL NOMBRE DE LA ESTRUCTURA                                   
 /end-free             
c     reg           dsply                                        
c                   eval      *inlr=*on   
 
 
Espero esto te sirva, yo ya lo probe y si funciono
 
Saludos   

Gerardo Santillana
IT Department
Delphi Mechatronic Systems
US Ph: (956) 554.5832
MX Ph: (88) 12.81.63/64/65 Ext. 5832
e-mail [EMAIL PROTECTED] 

-----Original Message-----
From: Fernando P�rez [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 12, 2003 9:36 AM
To: Foro 400 ([EMAIL PROTECTED])
Subject: Chain a DS (2� parte)

Hola de nuevo.

Aqu� estoy otra vez con una variante nueva del chain a DS. Esta vez lo he intentado hacer definiendo la DS con EXPTNAME en lugar de con LIKEREG. Pero aqu� s� que no consigo de ninguna manera que me funcione. Este es el c�digo:

hdftactgrp(*no)                                                
hactgrp(*caller)                                               
 *                                                             
Forl00100  if   e           K disk                             
 *                                                             
 *                                                             
Dreg            E DS                  extname(orl00100)        
 *                                                             
 /free                                                         
      chain (5) Rorf001  reg;                                  
 /end-free                                                     
c                   eval      *inlr=*on                        

El error en compilaci�n es: *RNF7701 30    175 000114  La estructura de datos REG no se permite para la operaci�n

He probado a incluir el formato de registro en EXTNAME, y pasa exactamente lo mismo. Por cierto, como curiosidad, si bien en el texto de arriba dice que el mensaje es de gravedad 30, en el resumen de errores dice que es de gravedad 20 (no se ponen de acuerdo).

La raz�n por la que no quiero usar likereg es porque el uso que quiero dar a esto es en un m�dulo cuyas funciones gestionen los accesos al fichero. Los programas que usen las funciones del m�dulo no van a tener definido el fichero, y por tanto no puedo definir la ds en la que devolver los datos con LIKEREG.

La �nica soluci�n 'chapucera' que he encontrado hasta ahora es definir en el m�dulo una DS con EXTNAME y otra con LIKEREG, haciendo que la �ltima tenga la misma ubicaci�n en memoria que la primera, pero es una soluci�n que no me gusta nada.

Cualquier ayuda de quien me pueda leer (�alguien no est� de vacaciones?) ser� eternamente agradecida ;)

Saludos.

Fernando P�rez.

Cer�mica Saloni. Dpto. Sistemas

<mailto:[EMAIL PROTECTED]>

<<Fernando P�rez.vcf>>

Responder a