Consulta sobre la tabla de automatización de SA

Todo lo referido a automatizadores de consola u otros (CONTROL-O, System Automation, etc)
Responder
Cerbumota
Colaborador
Colaborador
Mensajes: 135
Registrado: 07 Feb 2007, 05:34
País: España
Ciudad: Madrid
Ocupación: Otra

Consulta sobre la tabla de automatización de SA

Mensaje por Cerbumota » 04 Jul 2008, 04:20

Buenos días.
Estoy intentando añadir una modificación en la tabla de automatización de System Automation, pero he llegado a un callejón sin salida. Os cuento lo que pretendo hacer, a ver si se os ocurre alguna solución.

La idea es, cuando capturamos un mensaje, hacer que ejecute una acción u otra, dependiendo de la hora que sea.
Por ejemplo, si recibimos un código de caída de un CICS, entre las 9:00 y las 13:00, que mande un aviso al operador de turno. Y si es desde las 13:00 hasta las 9:00, que ese mensaje lo mande al técnico de guardia. (Es un ejemplo y no tiene que ser factible.)

El problema lo encuentro cuando intento añadir la condición de "hora" en la sentencia del fichero correspondiente de la tabla de automatización. No encuentro la sintaxis con la que incluír esa condición. He probado con TIME, CURRTIME, y un porrón de variables más de los manuales de SA. No sé si me he ofuscado con el tema, pero no veo ni un punto de luz para resolverlo... :cry: :cry: :cry:

¿Se os ocurre que puedo hacer, que no pase por ejecutar una clist (en rexx por ejemplo) para resolver la acción? Si no queda más remedio, tendré que ejecutar un rexx que pueda hacer ese filtro (pro suerte, ahí llego). Pero me gustaría hacerlo directamente con los comandos pertinentes, en la propia sentencia de la tabla de automatización.

Muchas gracias de antemano.
Mi lema favorito, el de las tres "uVes": Velocidad, Valor y... Vuevos.

Automata

Mensaje por Automata » 19 Ago 2008, 07:35

Hola Cerbumota,

aunque con un poco de retraso en la respuesta a ver si te vale:

IF MSGID = 'XXXXXXX' & JOBNAME = 'JJJJJJJ'
& WEEKDAYN(1) ¬= '6' & WEEKDAYN(1) ¬= '7' THEN
BEGIN;
IF CURRTIME(1 2) > '08' & CURRTIME(1 2) < '13' THEN
EXEC(CMD('ACCION1' )) CONTINUE(Y);
IF CURRTIME(1 2) > '13' & CURRTIME(1 2) < '08' THEN
EXEC(CMD('ACCION2')) CONTINUE(Y);
END;

La línea --> WEEKDAYN(1) ¬= '6' & WEEKDAYN(1) ¬= '7' es para que no lo haga sabado y domingo (por si lo necesitas). El CURRTIME va en horas.

Cerbumota
Colaborador
Colaborador
Mensajes: 135
Registrado: 07 Feb 2007, 05:34
País: España
Ciudad: Madrid
Ocupación: Otra

Mensaje por Cerbumota » 21 Ago 2008, 03:25

Muchísimas gracias. En cuanto pueda lo pruebo. :P :P :P
Mi lema favorito, el de las tres "uVes": Velocidad, Valor y... Vuevos.

Responder