Hola Ricardo:

En DB2 tienes el N�mero Relativo de Registro, pero no te recomiendo
utilizarlo si te tiene que servir para relacionar tablas ya que si eliminas
registros y reorganizas el fichero, el N�mero Relativo de Registro
cambiar�.

Otra posibilidad es definir una �rea de Datos (DTAARA) y cada vez que
necesites un identificador: Leer el �rea de Datos con bloqueo, incrementar
el valor y liberar el �rea de datos.

La forma que nosotros utilizamos, no es �rea de Datos, sino un fichero o
tabla con dos campos:
- Alfab�tico 10, con valores como: FACTURA, ALBAR�N, PEDIDO, CLIENTE, etc.
Aunque podr�a ser el nombre de la tabla a la que se refiera.
- N�mero 9.0, con el valor del �ltimo Identificador asignado.
Tenemos un procedimiento, en un programa de Servicio RPG, que recibiendo
como par�metro el valor alfab�tico nos devuelve el Identificador a
utilizar.
Tambi�n tenemos una funci�n de SQL para poder utilizarlo con SQL.


Saludos,
                  ---------------------------
                    Santiago Mart�
                       Dusen, S.A.
                  ---------------------------




                                                                                       
                                    
                    "Lara, Ricardo"                                                    
                                    
                    <Ricardo.Lara@maps-eu.       Para:   "'[EMAIL PROTECTED]'" 
<[EMAIL PROTECTED]>           
                    com>                         cc:                                   
                                    
                    Enviado por:                 Asunto: Identificador de registro 
autom�tico                              
                    forum.help400-request@                                             
                                    
                    combios.es                                                         
                                    
                                                                                       
                                    
                                                                                       
                                    
                    26/03/2002 22:46                                                   
                                    
                    Por favor, responda a                                              
                                    
                    forum.help400                                                      
                                    
                                                                                       
                                    
                                                                                       
                                    




Hola,
Llevo poco en el foro y quiero felicitar a todos por lo activo que
parece!!!
La consulta es la siguiente:

Nosotros trabajamos con ILE, incluyendo sentencias SQL.
Nuestro problema es que para crear un ID de registro autom�tico
(equivalente
al "identity" de otras DDBB) no sabemos hacer otra cosa que una SELECT
COUNT(*) + 1, y no es que sea una maravilla de mecanismo. Adem�s en un
entorno concurrente no es raro que el ID otorgado a la transacci�n haya
sido
grabado por otra..y se crea un bucle de reintentos cuanto menos peligroso!!
Hay otra forma mas elegante y fiable?

Gracias anticipadas,

Ricardo Lara
METZELER Automotive Profile Systems Ib�rica, S.A.
Tfn: +34 941 296 726
Fax:+34 941 258 657
e-mail: [EMAIL PROTECTED]


_____________________________________________________
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, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]?body=LEAVE





_____________________________________________________
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, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]?body=LEAVE

Responder a