Buscando operaciones dentro de una aplicación de TWS (OPC)

Escrito por Javier

Cuando intentamos buscar con “FIND” una operación concreta dentro de una aplicación de OPC, nos mostrará un mensaje indicando que no es un comando válido y tenemos que ir buscando uno por uno hasta encontrar la operación deseada. Si esa aplicación tiene 100 o más operaciones, pierdes mucho tiempo. Cuando estamos buscando una aplicación en la opción 5.2 de OPC si podremos buscar una concreta usando "LOCATE nombre_aplicacion" (o "LOC nombre_aplicación"), pero no servirá para buscar operaciones.

Aviso telefónico automático por job fallado en TWS (OPC) - Parte 2

Escrito por Javier

En la primera parte estuvimos instalando el sistema AsteriskNow y creando un nuevo usuario para ejecutar los scripts. En esta segunda y última parte, añadiremos los scripts que harán la llamada automática y haremos una prueba desde z/OS para confirma que funciona.

Vamos a empezar a configurar Asterisk. Ponemos la IP que apuntamos al principio (en mi caso, 192.168.1.21) en un navegador y entramos en la web de FreePBX.

Aviso telefónico automático por job fallado en TWS (OPC) - Parte 1

Escrito por Javier

Esta vez voy a crear un aviso telefónico automático cuando falle un job de OPC, es decir, recibiremos una llamada de teléfono que se realizará de forma automática y nos informará del job que ha terminado en error. A lo mejor no es una idea que se pueda utilizar en un entorno de Producción, pero me apetecía probarla.

Aquí pongo un vídeo del resultado.

Conexiones SSH en z/OS

Escrito por Javier

En esta ocasión vamos a realizar la configuración del servidor/cliente SSH (Secure SHell) que tiene z/OS para poder conectarnos desde otras máquinas a Mainframe y viceversa. El objetivo de esto es poder iniciar scripts en otras máquinas (Linux, Windows, etc.) usando un JCL o poder lanzar un JCL mediante la ejecución de un script en otro servidor.

El servicio SSH (OpenSSH) se ejecuta en la parte Unix que tiene z/OS y es una de las herramientas que se incluyen en “IBM Ported Tools for z/OS”. Además, después de configurar este servicio, también podremos usar el servicio SFTP para transmitir ficheros de una forma más segura que con el FTP normal.

Cíclicos, dependencias condicionadas y OPC Control Language (OCL)

Escrito por Javier

En esta entrada vamos a combinar varias cosas: una aplicación que sea cíclica con dos jobs que se ejecutará cada 10 minutos. Además el segundo job de esta aplicación, sólo se ejecutará si uno de los pasos del job anterior ha terminado con RC=04 y su estado es “completo”. Este segundo job añadirá una nueva aplicación al Current Plan usando OCL (OPC Control Language).

Comprobando variables OPC en JCL sin submitirlo y sin modificar paneles

Escrito por Javier

En OPC (TWS), para poder comprobar si las variables de OPC de un JCL son correctas, hay que submitirlo con algún error de sintaxis (para no ejecutar algo de forma indebida) y comprobar si falla por OJCV. En esta ocasión vamos a añadir una nueva opción a OPC que consiste en poder comprobar si las variables de OPC de un JCL son correctas sin tener que submitir ese JCL.

Esta nueva opción va a tener dos versiones, la primera que consiste en dar un comando para ejecutar un REXX y la segunda que consiste en ejecutar otro REXX, pero mediante una opción nueva en un panel. La segunda versión la veremos en otra entrada. 

STC para mover salidas del Spool a dataset mediante REXX

Escrito por Javier

Esta vez vamos a crear una tarea (STC) que se encargue de pasar salidas de spool a un dataset y, si se han copiado correctamente, las purgue. Esto lo haremos mediante un REXX que se estará ejecutando en bucle infinito y revisará todos los jobs del spool. Los copiará en diferentes miembros y purgará las salidas elegidas. Después, hará una pausa de 30 segundos antes de empezar de nuevo. Es importante decir que la tarea no consume máquina durante la pausa. Este REXX también crea un nuevo dataset, si detecta que el anterior se ha llenado. Cuando hay dos salidas con el mismo nombre, se sustituye las últimas letras del nombre por números. Pararemos la ejecución del bucle infinito borrando un fichero de control mediante otra tarea.

Configurando servidor para envío de emails (SMTP)

Escrito por Javier

Esta vez vamos a configurar la tarea SMTP de z/OS para poder enviar emails, por ejemplo, por JCL. Antes de llevar a cabo esta configuración, es necesario tener bien configurado el TCPIP (Configurando TCPIP en zOS). Si tenemos esa parte hecha, podemos empezar a configurar la tarea SMTP.

Empezamos buscando la librería TCPIP.SEZAINST.

Modificando el panel de errores (5.4) - Hora y ver salidas del Spool (OPC)

Escrito por Javier

En esta entrada vamos a añadir dos nuevas funciones al panel de errores de OPC (5.4). La primera consiste en añadir la hora del sistema. Nos puede venir bien para saber si el panel se ha quedado “pillado” cuando trabajamos monitorizando procesos en error. También vamos a añadir una nueva opción al panel para ver la salida de un job fallado sin tener que ir a buscarlo al spool.

Arreglando el OMVS

Escrito por Javier

Al cambiar el nombre del sysplex o el nombre del sistema, es posible que se produzca un error al intentar acceder a OMVS. Esto es debido a que el sistema intenta buscar los FILESYSTEM para montar la parte UNIX, pero estos no existen y tenemos que usar los que vienen por defecto en el ADCD.

Conectando dos zOS por XCF (Sysplex) - Tercera Parte - Final

Escrito por Javier

Terminamos la entrada anterior haciendo una copia del sistema que hemos estado modificando desde que empezamos a configurar el Sysplex. Ahora vamos a arrancar el segundo sistema, el que será ZOS2. Para este arranque podemos usar el LOADPARM “CS”, porque vamos a configurarlo, pero cuando vaya a formar parte del anillo, este sistema lo tendremos que arrancar con un parámetro con arranque WARM, por lo tanto, tenemos que usar uno distinto de CS. Yo voy a elegir arrancar con el parámetro DB, que arranca con WARM y además arranca DB2 y CICS.

Conectando dos zOS por XCF (Sysplex) - Segunda Parte

Escrito por Javier

En la entrada anterior ya terminamos de crear los dataset que se usarán para el Sysplex. Recordamos que todos los datasets deben estar creados en discos nuevos porque luego los compartiremos con el segundo sistema que arranquemos. Ahora vamos a modificar la configuración en la PARMLIB del sistema (ADCD.Z110.PARMLIB).

Conectando dos zOS por XCF (Sysplex) - Primera Parte

Escrito por Javier

Vamos a conectar en anillo dos Hércules distintos, que pueden estar en el mismo PC o no, para formar un sysplex. Esta comunicación se va a hacer mediante CTC (Channel To Channel), ya que no disponemos de Coupling Facility. Esta entrada la voy a hacer con la versión 1.10 de ADCD, ya que es la versión que tiene más gente.

Activando todas las opciones de SDSF

Escrito por Javier

Si accedemos a SDSF en las distribuciones ADCD, vemos que no tenemos algunas opciones como RM (Resource Monitor) o HK (Health Checker). Estas opciones también están disponibles en las distribuciones ADCD, pero no tenemos permisos para poder acceder a ellas, por eso no aparecen. Vamos a modificar los permisos para que podamos utilizarlas.