Tienes toda la raz�n Jes�s, la raz�n de este foro es la de intentar
ayudarnos unos a otros, aunque de vez en cuando preparar una respuesta nos
suponga un poco de tiempo, cosa que habitualmente ninguno tenemos, pero es
hoy yo ayuda y otro d�a me ayudan a mi.

Un saludo.

-----------------------------------------------------------------------------------

Luis M. Gonz�lez Peralta
Departamento Desarrollo SOFT9126, S.L.
E-mail : [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>
Tlf: (+34) 976.59.29.69
Fax: (+34) 976.59.33.90
Movil: (+34) 629.67.65.30
-----------------------------------------------------------------------------------




                                                                                       
                                 
                    [EMAIL PROTECTED]                                             
                                 
                    Sent by:                      To:     [EMAIL PROTECTED]     
                                 
                    forum.help400-request@        cc:                                  
                                 
                    combios.es                    Subject:     Re: Triggers en V5R1    
                                 
                                                                                       
                                 
                                                                                       
                                 
                    18/11/2002 15:51                                                   
                                 
                    Please respond to                                                  
                                 
                    forum.help400                                                      
                                 
                                                                                       
                                 
                                                                                       
                                 





Luis, no tienes nada que agradecer, como ves mis respuestas son
frecuentemente muy extensas pero creo que cuanto mejor se puedan resolver
las dudas de los compa�eros mejor se cumple el objetivo del foro.

Ademas para eso estamos.

Saludos.

Jes�s Humberto Olague Alcal�
L�der de Proyectos
Envases y Tapas Modelo, S.A. de C.V.
e-mail: [EMAIL PROTECTED]
Tel:  01-478-9854100 Ext. 247
Fax: 01-478-9854100 Ext. 249




                    [EMAIL PROTECTED]

                    Enviado por:                  Para:
[EMAIL PROTECTED]
                    forum.help400-request@        cc:

                    combios.es                    Asunto:      Re: Triggers
en V5R1


                    18/11/2002 03:51

                    Por favor, responda a

                    forum.help400








Jes�s muchisimas gracias por tus respuestas y por tu tiempo, la respuesta
es muy elaborada y tiene su tiempo de preparaci�n.

-----------------------------------------------------------------------------------



Luis M. Gonz�lez Peralta
Departamento Desarrollo SOFT9126, S.L.
E-mail : [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>
Tlf: (+34) 976.59.29.69
Fax: (+34) 976.59.33.90
Movil: (+34) 629.67.65.30
-----------------------------------------------------------------------------------







                    [EMAIL PROTECTED]

                    Sent by:                      To:
[EMAIL PROTECTED]
                    forum.help400-request@        cc:

                    combios.es                    Subject:     Re: Triggers
en V5R1


                    12/11/2002 19:45

                    Please respond to

                    forum.help400








Luis,

Estos programas reciben dos par�metros en forma de estrructuras de datos:
PARM1. Estructura de Datos con la informaci�n del registro
PARM2. Longitud de la estructura de datos

En este ejemplo la longitud del registro en el archivo es de 218 bytes en
26 campos.

I* ESTRUCTURAS DE DATOS REQUERIDAS PARA IDENTIFICAR EL TRIGGER
I*
I* LA LONGITUD DE PARM1 SE CALCULA DE LA SIGUIENTE FORMA:
I*           97 + (((2*LONG.REG)+(2*NO.CAMPOS))-1)
I*
I* NOFF+1 Y OLDOFF+1 INDICAN LA POSICION A PARTIR DE LA CUAL
I* SE EXTRAERAN LOS VALORES DE LOS REGISTROS NUEVO Y ANTERIOR
I* RESPECTIVAMENTE.
I*
I* FILL4 SE UTILIZA PARA EVITAR ERRORES DE DESPLAZAMIENTO EN
I* PARM1 Y PUEDE NO SER NECESARIO SU USO.
I*
I* LAS VARIABLES DE LA DS QUE VARIAN SU LONGITUD PARA CADA ARCHIVO SON :
I*          From... To                                Field
I*    ----------    -------------------------------   ------
I*           97 ... (97 + LONG.REG) - 1             = OREG
I*      OREG + 1... ((OREG + 1) + NO. CAMPOS) - 1   = OOMAP
I*     OOMAP + 1... ((OOMAP + 1) + LONG. REG) - 1   = RECORD
I*    RECORD + 1... ((RECORD + 1) + NO. CAMPOS) - 1 = NNMAP
I*
I*    OREG    = REGISTRO CON LOS DATOS ANTERIORES
I*    RECORD  = REGISTRO CON LOS NUEVOS DATOS
I*
I*    FNAME   = NOMBRE DEL ARCHIVO AFECTADO
I*    LNAME   = NOMBRE DE LA BIBLIOTECA
I*    MNAME   = NOMBRE DEL MIEMBRO AFECTADO
I*    TEVEN   = EVENTO (1=INSERT / 2=DELETE / 3=UPDATE)
I*    TTIME   = TIEMPO (1=AFTER / 2=BEFORE)
I*    CMTLCK  = NIVEL DE COMMIT (0=*NONE / 1=*CHG / 2=*CS / 3=*ALL)
I*
I*-------------------------------------------------------------
IPARM1       DS
I                                        1  10 FNAME            Nombre del
Archivo F�sico
I                                       11  20 LNAME            Nombre de
la Biblioteca
I                                       21  30 MNAME            Nombre del
Miembro
I                                       31  31 TEVEN            Evento
I                                       32  32 TTIME            Tiempo
I                                       33  33 CMTLCK           Nivel de
Commit Lock
I                                       34  36 FILL1            Reservado
I                                    B  37  400CCSID            C�digo de
Caracteres
I                                       41  48 FILL2            Reservado
I                                    B  49  520OLDOFF           Offset del
registro original
I                                    B  53  560OLDLEN           Longitud
del registro original
I                                    B  57  600ONOFF            Mapa de
nulos registro original
I                                    B  61  640ONLEN            Longitud
mapa de nulos reg. original
I                                    B  65  680NOFF             Offset del
registro nuevo
I                                    B  69  720NEWLEN           Longitud
del registro nuevo
I                                    B  73  760NNOFF            Mapa de
nulos registro nuevo
I                                    B  77  800NNLEN            Longitud
mapa de nulos reg. nuevo
I                                       81  96 FILL3            Reservado
I                                       97 314 OREG             Registro
original
I                                      315 340 OOMAP            Mapa nulos
x campo reg. original
I                                      341 558 RECORD           Registro
nuevo
I                                      559 584 NNMAP            Mapa nulos
x campo reg. nuevo
I                                      585 820 FILL4            Reservado
(evita errores en SUBST)
I*
IPARM2       DS
I                                    B   1   40LENG             Longitud
I*
I*-----------------------------------------------------------------*
I* ESTRUCTURAS DE DATOS PARA OBTENER LOS DATOS ANTES / DESPUES     *
I*-----------------------------------------------------------------*
IXRECO      IDS                                                 Datos del
registro original
I*                                       1 218 REC02O
I                                        1   60NEM02O
I                                        7   70TEM02O
I                                            .
I                                            .
I                                            .
I                                      197 197 ARE02O
I                                      198 217 PUE02O
I                                      218 218 STA02O
IXRECN      IDS                                                 Datos del
registro nuevo
I*                                       1 218 REC02N
I                                        1   60NEM02N
I                                        7   70TEM02N
I                                            .
I                                            .
I                                            .
I                                      197 197 ARE02N
I                                      198 217 PUE02N
I                                      218 218 STA02N
C*-----------------------------------------------------------------*
C*                    C  A  L  C  U  L  O                          *
C*-----------------------------------------------------------------*
C                     CLEARXRECO
C                     CLEARXRECN
C*OBTIENE INFORMACION DEL REGISTRO ORIGINAL
C                     Z-ADDOLDOFF    OX      50
C                     ADD  1         OX
C           218       SUBSTPARM1:OX  @XREC 218
C                     MOVEL@XREC     XRECO
C*OBTIENE INFORMACION DEL REGISTRO NUEVO
C                     Z-ADDNOFF      OX
C                     ADD  1         OX
C           218       SUBSTPARM1:OX  @XREC
C                     MOVEL@XREC     XRECN
C                           .
C                           .
C                           .
C*-----------------------------------------------------------------*
C*                  S  U  B  R  U  T  I  N  A  S                   *
C*-----------------------------------------------------------------*
C* *INZSR   RUTINA DE INICIALIZACION
C*********
C           *INZSR    BEGSR
C*
C           *ENTRY    PLIST
C           PARM1     PARM           PARM1
C           PARM2     PARM           PARM2
C                           .
C                           .
C                           .
C                     ENDSR

Si intentas mover OOREG y RECORD directamente a XRECO y XRECN
respectivamente el programa compila pero en ejecucion da un error de datos
decimales.

Como veras, un trigger bien construido en version 4 puede no necesitar ser
modificado.

Saludos.

Jes�s Humberto Olague Alcal�
L�der de Proyectos
Envases y Tapas Modelo, S.A. de C.V.
e-mail: [EMAIL PROTECTED]
Tel:  01-478-9854100 Ext. 247
Fax: 01-478-9854100 Ext. 249




                    [EMAIL PROTECTED]

                    Enviado por:                  Para:
[EMAIL PROTECTED]
                    forum.help400-request@        cc:

                    combios.es                    Asunto:      Triggers en
V5R1


                    12/11/2002 05:29

                    Por favor, responda a

                    forum.help400







Buenos dias compa�eros del foro.

�Podr�a facilitarme alguien la nueva estructura de entrada (la ds del
programa) para los triggers en v5r1?, �cuales han sido los cambios?, �como
adaptar los antiguos triggers?.

Gracias a todos por vuestras respuestas.
Un saludo.

-----------------------------------------------------------------------------------





Luis M. Gonz�lez Peralta
Departamento Desarrollo SOFT9126, S.L.
E-mail : [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>
Tlf: (+34) 976.59.29.69
Fax: (+34) 976.59.33.90
Movil: (+34) 629.67.65.30
-----------------------------------------------------------------------------------








_____________________________________________________
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





_____________________________________________________
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



 --------------------------------------------------------------------------




" Este mensaje es confidencial.   Si usted no es el destinatario de este
mensaje, le suplicamos se lo notifique al remitente mediante un correo
electr�nico y que borre el presente mensaje y sus anexos de su computadora
sin retener copia de los mismos.  No debe copiar este mensaje o usarlo para
cualquier prop�sito ni divulgar su contenido.  Muchas gracias.

This e-mail is confidential and may also be privileged. If you are not the
intended recipient please immediately advise the sender by reply e-mail and
delete this message and its attachments from your computer without
retaining a copy. You should not copy it or use it for any purpose nor
disclose its contents to any other person.  Thank you. "





_____________________________________________________
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