Es muy raro, lo se


El trigger se desencadena por una actualización de un software de escaneo
que mediante odbc genera en una tabla el nombre del pdf. Con ese dato,
actualizo una serie de tablas y después muevo el pdf de un Windows a otro,
donde hay una gestión documental que se alimenta de las tablas que he
generado anteriormente en el Iseries y del pdf que muevo al lugar que
espera.



EL problema, es que el trigger no se disparaba. Le puse la instrucción
SNDMSG y comprobé que no siempre mandaba el mensaje. En un foro encontré el
mismo problema, la solución es  registrarlo por diario y parece que la base
de datos “ya se entera”.



Una vez que conseguí disparar el trigger “siempre” el problema viene con el
Runrmtcmd (parte del programa trigger) al que le digo que mueva un pdf de
un Windows a otro. El proceso acababa y me dejaba pdf’s sin mover, con lo
cual interpreto que el iseries va mas rápido que lo que puede recoger el
windows, le puse un dlyjob y ya funciona perfectamente. Runrmtcmd solo
genera una salida QSYSPRT informando si lo ha hecho o no, pero sin mas
detalle. Alguna vez imprimia “objeto no encontrado” y sí que estaba. En
esos casos ejecuto a mano pasándole los parámetros con el nombre del
archivo y lo encontraba y lo movia



Como no me da ninguna seguridad este entorno, acabare sometiendo un
programa en bucle que vaya mirando si el registro se ha procesado o no. Van
a ser procesos muy grandes sin apenas control del usuario y si alguna pieza
del puzzle falla, no se van a dar cuenta.



Quizás estoy haciendo algo mal, pero el proceso es muy simple y en
interactivo pasando los mismos parametros al programa que llama el trigger
funciona perfectamente.



Saludos





*De:* Forum.help400 [mailto:[email protected]] *En
nombre de *Alberto Martinez
*Enviado el:* miércoles, 15 de julio de 2020 17:48
*Para:* forum.help400
*Asunto:* Re: ** Newsletter ** RE: ODBC/Trigger y RUNRMTCMD



Buenas.
Pero por lo que entiendo, el problema no lo tienes en el trigger...sino en
el RUNRMTCMD posterior, que mueve cosas entre servidores, no?

Albert Martinez de Urda
 Director TIC
  Grupo FSJ



De:        "Dpto. Informática (José Sánchez)" <
[email protected]>
Para:        "forum.help400" <[email protected]>
Fecha:        15/07/2020 17:23
Asunto:        ** Newsletter ** RE: ODBC/Trigger y RUNRMTCMD
Enviado por:        "Forum.help400" <
[email protected]>
------------------------------




Hola Alex, tiene su lógica

Pero he hecho, para probar, un nuevo programa que lee el archivo generado
por ODBC (trigger desconectado) y ejecuta mediante un call el trigger.
Dicho trigger, convertido a programa con parámetros, genera unas tablas y
ejecuta RUNRMTCMD para mover unos pdf entre servidores Windows. La
generación de registros es ok pero el comando “move /Y origen destino” no
lo es.

Hay veces que mueve el 70% de pdf, otras el 80% y solo lo soluciono si
inserto un dlyjob entre bucles, así que creo que es el Windows que se
satura y pierde instrucciones porque no le veo otra explicación.

Runrmtcmd genera por defecto un QSYSPRT y no me da error de objeto no
encontrado. Genera tantos spools como pdf hay pero se los deja por el
camino.

Seguire mirando….

*José Sánchez*
*Dpto.Informática*

*Productos Climax,
S.A                                                        *
Pol. Ind. Sector Mollet C/Llobregat Nº
1
08150 - Parets del Valles (Barcelona)
Teléfono: +34 935621311
Fax: +34 935621413
www.productosclimax.com

[image: Descripción: FIRMA_AA17]


*De:* Forum.help400 [mailto:[email protected]] *En
nombre de *Alex Martínez
*Enviado el:* miércoles, 15 de julio de 2020 15:05
*Para:* forum.help400
*Asunto:* Re: ODBC/Trigger y RUNRMTCMD

Hola

Conozco casos de trigger que actualizan otras tablas vía conexiones DDM a
archivos remotos.... y aún se preguntaban porque les iba lento.

Un trigger tiene que ser un proceso "agil" y "a prueba de bombas";-)

Cuando un trigger tiene que lidiar con "otros mundos" (bien tablas lentas,
lanzar procesos java o actualizar, mover archivos, etc) mi opinión es que
el trigger grabe un cola de datos con la tarea pendiente....

y un proceso independiente que lea dicha cola, se dedique a realizar esas
tareas que no son del mundo de las bases de datos.

El texto que te copio sino recuerdo mal es de un artículo de ServerNews

Trigger programs can also significantly impact performance. *Keep in mind
that the trigger is firing as part of the operating system’s database
functionality. No matter what process writes, changes, or deletes a record
in a file, the triggers will be fired*. Whenever an application writes a
record to a file, it will not receive notification that the disk I/O is
complete until the trigger program returns control to the application that
caused the trigger to fire. Therefore, you should take care to keep the
trigger program streamlined and make sure it is written in the most
efficient manner in order to improve overall performance. (This is not a
bad idea in all development cases.)

Consider designs that use asynchronous update methods. For example, if
there is to be a considerable amount of processing once a trigger is
fired, *you
might consider creating a batch “monitor” program that waits for entries to
arrive on a data queue. The trigger program can then immediately dispatch
an entry onto the data queue and return control to the application that
requested the file I/O*. The application can continue processing while the
trigger processing continues in a separate job.



El mié., 15 jul. 2020 a las 9:54, Dpto. Informática (José Sánchez) (<
[email protected]>) escribió:
Buenas, a ver si me explico bien

Mediante ODBC un software de escaneo de documentos graba en el iseries el
documento que ha renombrado en una tabla. Dicha tabla tiene un Trigger
asociado para hacer X cosas, pero….. no siempre se disparaba el Trigger y
buscando por internet, ha sido mi solución, he tenido que registrar dicha
tabla en un diario para que el motor de la base de datos se entere.
¿alguien sabría explicarme el motivo? Es pura curiosidad…

Una de las cosas que hace el Trigger es mover el PDF entre servidores
Windows mediante RUNRMTCMD (move /y &Origen %destino) y aquí otro problema,
al mandar comando remoto a un servidor creo que se colapsaba y a veces no
movía algunos documentos, ¿solucion? Un dlyjob de x segundos para que le de
tiempo a ejecutar el anterior RUNRMTCMD al servidor Windows. He intentado
monitorizar el mandato para reintentar el mandato pero no lo consigo, creo
que es un tema del Server Windows, ¿tenéis algo montado de este estilo? Lo
del dlyjob no me convence mucho porque ralentiza algo que deberían de ser
segundos.


Saludos


*José Sánchez*
*Dpto.Informática*

*Productos Climax,
S.A                                                        *
Pol. Ind. Sector Mollet C/Llobregat Nº
1
08150 - Parets del Valles (Barcelona)
Teléfono: +34 935621311
Fax: +34 935621413
www.productosclimax.com

[image: Descripción: FIRMA_AA17]



 *Nota de Confidencialidad*

Este mensaje se envía desde el sistema de correo electrónico de la
empresa *Productos
Climax, S.A.*. Podría contener por lo tanto secretos de empresa y otra
información confidencial tutelados por las leyes de la Unión Europea y
otros Estados. Si Vd. lo recibiera por error o sin ser una de las personas
indicadas en el encabezamiento, deberá destruirlo sin copiarlo ni revelarlo
o cualquier otra acción relacionada con el contenido del mensaje e informar
inmediatamente por correo electrónico al emisor del mensaje. Las personas y
entidades que violen sus deberes de confidencialidad podrán ser perseguidas
ante los Tribunales de Justicia al amparo de la legislación civil, penal y
administrativa nacional e internacional. Gracias por su colaboración.

*Política de Privacidad*

En base al  Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo
de 27 de abril de 2016 relativo a la protección de las personas físicas
(RGPD), así como con la Ley 34/2002, de 11 de julio, de Servicios de la
Sociedad de la Información y Comercio Electrónico (LSSICE o LSSI), le
comunicamos que su dirección de correo electrónico forma parte de nuestro
fichero automatizado, al objeto de continuar enviándole ofertas de nuestros
servicios y / o el mantenimiento de las comunicaciones en nuestras
relaciones contractuales. En virtud de las Leyes antes mencionadas, tiene
derecho de oposición, acceso, rectificación y cancelación de sus datos. Le
recordamos que sus datos nunca son suministrados a terceros bajo ningún
concepto, siendo únicamente utilizados para el envío de nuestras
comunicaciones con Vd.

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.


 *Nota de Confidencialidad*

Este mensaje se envía desde el sistema de correo electrónico de la
empresa *Productos
Climax, S.A.*. Podría contener por lo tanto secretos de empresa y otra
información confidencial tutelados por las leyes de la Unión Europea y
otros Estados. Si Vd. lo recibiera por error o sin ser una de las personas
indicadas en el encabezamiento, deberá destruirlo sin copiarlo ni revelarlo
o cualquier otra acción relacionada con el contenido del mensaje e informar
inmediatamente por correo electrónico al emisor del mensaje. Las personas y
entidades que violen sus deberes de confidencialidad podrán ser perseguidas
ante los Tribunales de Justicia al amparo de la legislación civil, penal y
administrativa nacional e internacional. Gracias por su colaboración.

*Política de Privacidad*

En base al  Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo
de 27 de abril de 2016 relativo a la protección de las personas físicas
(RGPD), así como con la Ley 34/2002, de 11 de julio, de Servicios de la
Sociedad de la Información y Comercio Electrónico (LSSICE o LSSI), le
comunicamos que su dirección de correo electrónico forma parte de nuestro
fichero automatizado, al objeto de continuar enviándole ofertas de nuestros
servicios y / o el mantenimiento de las comunicaciones en nuestras
relaciones contractuales. En virtud de las Leyes antes mencionadas, tiene
derecho de oposición, acceso, rectificación y cancelación de sus datos. Le
recordamos que sus datos nunca son suministrados a terceros bajo ningún
concepto, siendo únicamente utilizados para el envío de nuestras
comunicaciones con Vd.

____________________________________________________
nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400  Publicaciones Help400, S.L.

-- 


 *Nota de Confidencialidad*****

Este mensaje se envía desde el sistema 
de correo electrónico de la empresa *Productos Climax, S.A.*. Podría 
contener por lo tanto secretos de empresa y otra información confidencial 
tutelados por las leyes de la Unión Europea y otros Estados. Si Vd. lo 
recibiera por error o sin ser una de las personas indicadas en el 
encabezamiento, deberá destruirlo sin copiarlo ni revelarlo o cualquier 
otra acción relacionada con el contenido del mensaje e informar 
inmediatamente por correo electrónico al emisor del mensaje. Las personas y 
entidades que violen sus deberes de confidencialidad podrán ser perseguidas 
ante los Tribunales de Justicia al amparo de la legislación civil, penal y 
administrativa nacional e internacional. Gracias por su colaboración.****






*Política de Privacidad*****



En base al  Reglamento (UE)
2016/679 del 
Parlamento Europeo y del Consejo de 27 de abril de 2016 relativo a
la 
protección de las personas físicas (RGPD), así como con la Ley 34/2002, de

11 de julio, de Servicios de la Sociedad de la Información y Comercio

Electrónico (LSSICE o LSSI), le comunicamos que su dirección de correo

electrónico forma parte de nuestro fichero automatizado, al objeto de 
continuar
enviándole ofertas de nuestros servicios y / o el mantenimiento 
de las
comunicaciones en nuestras relaciones contractuales. En virtud de 
las Leyes
antes mencionadas, tiene derecho de oposición, acceso, 
rectificación y
cancelación de sus datos. Le recordamos que sus datos nunca 
son suministrados a
terceros bajo ningún concepto, siendo únicamente 
utilizados para el envío de
nuestras comunicaciones con Vd.
____________________________________________________
�nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.

Reply via email to