viernes, 4 de diciembre de 2015

xpediter batch

Cuando estamos en el tso podemos hacer uso del xpediter para los procesos batch. Vamos a ver cómo se puede depurar un programa batch mediante xpediter.

Lo primero de todo es entrar en la utilidad existente en el sistema para hacer uso del xpediter, dependiendo del cliente en el que estemos trabajando existe una infraestructura que es la que limita la manera en la que se accede al xpediter. Se acceda de una manera o de otra deberemos llegar a un menú donde podamos elegir una opción relativa a XPEDITER. Se elegirá dicha opción.

De una vez que se ha accedido veremos una pantalla con un menú en el que elegimos la opción 2 (2 - TSO, la opción relativa para depurar programas bajo TSO). Aparece una pantalla en donde indicamos el programa, parámetros (si recibe algún dato por SYSIN), la librería en la que está el proceso donde estamos ejecutando el programa (también se indica el miembro dentro de esa librería, es el jcl donde tenemos el programa que estamos ejecutando, ejemplo: LIB.JCLS.DESA(JCL-PRUEBA)) y si tiene plan DB2 (en cuyo caso hay que indicar el nombre del plan y el sistema, éste último será desarrollo).

Lo primero de todo, en la misma pantalla anterior, es escribir SE y dar intro para que aparezca otra pantalla de la que elegiremos 1 - LOADLIBS.

Si elegimos dicha opción podremos indicar las librerías necesarias para poder pasar el xpediter. De una vez que hemos introducido las librerías, damos intro y a continuación damos PF3. De esta manera nos situamos en la pantalla donde ya hemos indicado el nombre del programa y el resto de datos.

En esta pantalla tenemos que rellenar una serie de información que paso a detallar a continuación (la que acabamos de indicar con tanta palabrería pero ahora más detallado):
  • Program - aquí indicarías el nombre del programa
  • Load Module - el nombre del ejecutable, coincide con el nombre del programa
  • PARM - se suele dejar a YES
  • File List/Jcl Member - se pone la librería en la que está el jcl desde el que lanzamos el programa y entre paréntesis se pone el nombre de dicho jcl. Ejemplo: LIB.JCLS.DESA(JCL-PRUEBA)
  • Preview Files? - se suele dejar a NO
  • Is this a DB2 Test? - si no tiene DB2 se deja a NO
La anterior información es obligatoria. Ya habríamos acabado si el programa cobol no tuviese DB2. Si tuviese DB2 habría que informar más cosas:
  • Is this a DB2 Test? - si tiene DB2 se pone YES
  • Plan - indicamos el plan DB2
  • System - indicamos el sistema: DBSD
Tras haber informado lo necesario para pasar nuestro programa por xpediter, damos intro. Aparece una pantalla en la que se indica los ficheros que se alocan. No siempre sale pero en caso de que aparezca, hay una columna llamada UNIT en la que habría que sustituir WORK por SYSDES en todas las filas que aparezca dicho valor para la columna mencionada.

Después de hacer lo indicado, en caso de que sea necesario, iríamos a la línea de comando y pondríamos END. Damos intro y aparece una pantalla en la que habría que indicar lo siguiente: 'LIB.EJEM.XPED(XPEDITER)'

Con esto estamos indicando la librería en la que el xpediter va a crear un archivo auxiliar. ¿Con qué nombre lo creará? Con el que le indiquemos entre paréntesis. Es decir, en nuestro ejemplo xpediter crearía un archivo auxiliar en la librería LIB.EJEM.XPED con nombre XPEDITER....se llamará así porque es lo que yo he puesto entre paréntesis, si hubiese puesto XPEDIT01 se crearía con ese nombre. Como veis, soy original a tope (en algunas instalaciones puede no aparecer esta pantalla, por lo tanto, en esos casos pasaríamos directamente a la siguiente pantalla).

Damos intro y....tatatachán...ya hemos comenzado a pasar el xpediter a nuestro programa.

A partir de aquí hay una serie de cosas que deberías saber:

1) Si das PF9 estarías ejecutando línea a línea.
2) Si das PF12 irías al final del programa y lo finalizarías. A menos que no 
    hubieras puesto previamente un punto de ruptura, en cuyo caso iría a
    dicho punto de ruptura.
3) ¿Cómo se pone un punto de ruptura? Poniendo una B en aquella línea a la
    que queremos ir directamente.
4) Si ponemos SS al inicio de una línea y otra vez SS varias líneas después lo
    que haríamos sería que esas líneas de código no se ejecutarían.
5) Si estamos en un determinado punto del programa y queremos ir varias 
    líneas hacia atrás, ¿cómo se hace? Poniendo GT al inicio de la línea a la 
    que queramos retroceder.

Esto es lo básico que necesitas saber para pasar un programa por xpediter.

Pues esto es el xpediter para batch. Espero que te haya servido de ayuda, si tienes alguna duda no dudes en preguntar.