Usando CICS: transacción CEMT.
A todos aquellos que alguna vez hemos trabajado con CICS nos sonará la transacción CEMT. Es una transacción propia del sistema que nos permite manejar funciones del "terminal maestro".
Para ejecutar esta transacción, podemos ir paso a paso navegando por las opciones, o teclear directamente una solicitud completa.
1.Al teclear CEMT y pulsar intro:
2.Solicitud completa:
o en abreviado como suele ser más común...
Sí, esa "I" famosa viene de "Inquire" (preguntar).
Como veis las opciones principales de la transacción son 4: Discard, Inquire, Perform y Set. Nosotros vamos a centrarnos en la opción "Inquire" por ser la que más solemos necesitar cuando estamos probando un programa CICS. Si queréis consultar las opciones de Discard, Perform y Set está todo en la web de IBM donde habla de CEMT-Master Terminal.
Comandos CEMT Inquire
La opción Inquire tiene a su vez muchas opciones, como TASK, TRANS, PROG, etc. que nos sonarán. Para empezar vamos a ver la lista completa de opciones posibles:
Como veis son unas cuantas! Vamos a ver en detalle algunas de ellas.
FIle
Es habitual en las diferentes instalaciones que existan ficheros accesibles para CICS para controlar temas como la oficina asociada a un terminal, etc. Para acceder a este tipo de ficheros (VSAM, BDAM, base de datos...) lo primero que hacemos es abrirlos desde CICS:
CEMT I FI (abreviatura máxima)
Lista
Detalle
Para abrir un fichero situamos el cursor encima del estado (Openstatus) "Clo" y lo cambiamos por "Ope". Al pulsar intro se guardarán los cambios.
Ahora ya podremos entrar a editar el fichero desde nuestra sesión de TSO.
Otras opciones modificables son:
Addstatus (Addable/Noaddable)
Browsestatus (Browse/Nobrowse)
Deletestatus (Delete/Nodelete)
Disposition (Old/Share)
Emptystatus (Emptyreq/Noemptyreq) Solo para VSAM
Enablestatus (Enabled/Unenabled/Disabled)
Readstatus (Read/Noread)
Rlsaccess (Rls/Notrls) Solo para VSAM
Table (Nottable/Cftable/Cicstable/Usertable)
Updatestatus (Update/Noupdate)
Todos los detalles en la web de IBM sección CEMT INQUIRE FILE : )
PROGram
Esta opción nos muestra la lista de programas, mapas, etc. definidos en nuestro sistema. Si no le indicamos nada nos cargará la lista de TODOS los programas. Si queremos "filtrar" podemos indicar entre paréntesis el nombre del programa, o las primeras letras.
CEMT I PROG(XX*) (abreviatura máxima)
Lista
Detalle
Las opciones modificables son:
Executionset (Dplsubset/Fullapi)
Sharestatus (Shared/Private)
Status (Enabled/Disabled)
Todos los detalles en la web de IBM sección CEMT INQUIRE PROGRAM : )
SYStem
Esta opción nos devuelve información sobre el sistema CICS. En ella podemos consultar información como la conexión DB2 que está utilizando (Db2conn), el máximo de tareas simultáneas que puede ejecutar (Maxtasks), tiempo máximo antes de que el sistema asuma que una tarea está embuclada (Runaway), etc.
CEMT I SYS (abreviatura máxima)
Lista
Las opciones modificables son:
Aging (número entre 0 y 65535)
Akp (número entre 200 y 65535)
Dsalimit
Dtrprogram
Edsalimit
Logdefer (número entre 0 y 65535)
Maxtasks (número entre 0 y 999)
Mrobatch (número entre 1 y 255)
Progautoctlg (Ctlgall/Ctlgmodify/Ctlgnone)
Progautoexit
Progautoinst (Autoactive/Autoinactive)
Runaway (número entre 500 y 2700000 ó 0)
Scandelay (número entre 0 y 5000)
Time (número ente 100 y 3600000 y mayor que el valor de SCANDELAY)
Todos los detalles en la web de IBM sección CEMT INQUIRE SYSTEM : )
TAsk
En ocasiones necesitaremos poder purgar una tarea que se está ejecutando (por ejemplo cuando se nos ha embuclado y estamos llenando la cola del CICS de displays,
y alguien está a punto de matarnos...).
CEMT I TA (abreviatura máxima)
Lista
Detalle
Para "terminar" una tarea, basta con poner una "P" al lado de la linea de la tarea que queremos purgar.
En la opción Tra (Tranid) vendrá el nombre de nuestra transacción y en la opción Use (Userid) nuestro usuario (no vayamos a tirar la transacción del vecino).
Las opciones modificables son:
Priority (número de 0 a 255 siendo 255 la prioridad más alta)
Todos los detalles en la web de IBM sección CEMT INQUIRE TASK : )
TRAnsaction
Esta opción es muy útil para ver la transacción asociada a un programa y viceversa.
Nos devuelve información sobre las transacciones del sistema.
CEMT I TRANS (abreviatura máxima)
Lista
Podemos añadir a la consulta la opción PROG. Por ejemplo:
Las opciones modificables son:
Priority (número de 0 a 255 siendo 255 la prioridad más alta)
Purgeability (Purgeable/Notpurgeable)
Status (Enabled/Disabled)
Tclass
Todos los detalles en la web de IBM sección CEMT INQUIRE TRANSACTION : )
Y hasta aquí la segunda incursión en el mundo del CICS^^
Para ejecutar esta transacción, podemos ir paso a paso navegando por las opciones, o teclear directamente una solicitud completa.
1.Al teclear CEMT y pulsar intro:
STATUS: ENTER ONE OF THE FOLLOWING Discard Inquire Perform Set |
2.Solicitud completa:
CEMT INQUIRE TASK
o en abreviado como suele ser más común...
CEMT I TA
Sí, esa "I" famosa viene de "Inquire" (preguntar).
Como veis las opciones principales de la transacción son 4: Discard, Inquire, Perform y Set. Nosotros vamos a centrarnos en la opción "Inquire" por ser la que más solemos necesitar cuando estamos probando un programa CICS. Si queréis consultar las opciones de Discard, Perform y Set está todo en la web de IBM donde habla de CEMT-Master Terminal.
Comandos CEMT Inquire
La opción Inquire tiene a su vez muchas opciones, como TASK, TRANS, PROG, etc. que nos sonarán. Para empezar vamos a ver la lista completa de opciones posibles:
INQ STATUS: ENTER ONE OF THE FOLLOWING OR HIT ENTER FOR DEFAULT AUTInstmodel DUmpds MODename TDqueue AUTOinstall ENQ MONitor TErminal AUXtrace ENQModel Netname TRAnsaction Bean EXci PArtner TRDumpcode BRfacility FEConnection PROCesstype TSModel CFDTpool FENode PROFile TSPool CONnection FEPOol PROGram TSQueue CORbaserver FEPRopset REquestmodel UOW DB2Conn FETarget RRms UOWDsnfail DB2Entry FIle STAtistics UOWLink DB2Tran Gtftrace STReamname Vtam DEletshipped INttrace SYDumpcode Web Dispatcher IRc SYStem DJar JModel TAsk DOctemplate JOurnalname TCLass DSAs JVmpool TCPIP DSName Line TCPIPService |
Como veis son unas cuantas! Vamos a ver en detalle algunas de ellas.
FIle
Es habitual en las diferentes instalaciones que existan ficheros accesibles para CICS para controlar temas como la oficina asociada a un terminal, etc. Para acceder a este tipo de ficheros (VSAM, BDAM, base de datos...) lo primero que hacemos es abrirlos desde CICS:
CEMT I FI (abreviatura máxima)
Lista
Detalle
Para abrir un fichero situamos el cursor encima del estado (Openstatus) "Clo" y lo cambiamos por "Ope". Al pulsar intro se guardarán los cambios.
Ahora ya podremos entrar a editar el fichero desde nuestra sesión de TSO.
Otras opciones modificables son:
Addstatus (Addable/Noaddable)
Browsestatus (Browse/Nobrowse)
Deletestatus (Delete/Nodelete)
Disposition (Old/Share)
Emptystatus (Emptyreq/Noemptyreq) Solo para VSAM
Enablestatus (Enabled/Unenabled/Disabled)
Readstatus (Read/Noread)
Rlsaccess (Rls/Notrls) Solo para VSAM
Table (Nottable/Cftable/Cicstable/Usertable)
Updatestatus (Update/Noupdate)
Todos los detalles en la web de IBM sección CEMT INQUIRE FILE : )
PROGram
Esta opción nos muestra la lista de programas, mapas, etc. definidos en nuestro sistema. Si no le indicamos nada nos cargará la lista de TODOS los programas. Si queremos "filtrar" podemos indicar entre paréntesis el nombre del programa, o las primeras letras.
CEMT I PROG(XX*) (abreviatura máxima)
Lista
Detalle
Las opciones modificables son:
Executionset (Dplsubset/Fullapi)
Sharestatus (Shared/Private)
Status (Enabled/Disabled)
Todos los detalles en la web de IBM sección CEMT INQUIRE PROGRAM : )
SYStem
Esta opción nos devuelve información sobre el sistema CICS. En ella podemos consultar información como la conexión DB2 que está utilizando (Db2conn), el máximo de tareas simultáneas que puede ejecutar (Maxtasks), tiempo máximo antes de que el sistema asuma que una tarea está embuclada (Runaway), etc.
CEMT I SYS (abreviatura máxima)
Lista
Las opciones modificables son:
Aging (número entre 0 y 65535)
Akp (número entre 200 y 65535)
Dsalimit
Dtrprogram
Edsalimit
Logdefer (número entre 0 y 65535)
Maxtasks (número entre 0 y 999)
Mrobatch (número entre 1 y 255)
Progautoctlg (Ctlgall/Ctlgmodify/Ctlgnone)
Progautoexit
Progautoinst (Autoactive/Autoinactive)
Runaway (número entre 500 y 2700000 ó 0)
Scandelay (número entre 0 y 5000)
Time (número ente 100 y 3600000 y mayor que el valor de SCANDELAY)
Todos los detalles en la web de IBM sección CEMT INQUIRE SYSTEM : )
TAsk
En ocasiones necesitaremos poder purgar una tarea que se está ejecutando (por ejemplo cuando se nos ha embuclado y estamos llenando la cola del CICS de displays,
y alguien está a punto de matarnos...).
CEMT I TA (abreviatura máxima)
Lista
Detalle
Para "terminar" una tarea, basta con poner una "P" al lado de la linea de la tarea que queremos purgar.
En la opción Tra (Tranid) vendrá el nombre de nuestra transacción y en la opción Use (Userid) nuestro usuario (no vayamos a tirar la transacción del vecino).
Las opciones modificables son:
Priority (número de 0 a 255 siendo 255 la prioridad más alta)
Todos los detalles en la web de IBM sección CEMT INQUIRE TASK : )
TRAnsaction
Esta opción es muy útil para ver la transacción asociada a un programa y viceversa.
Nos devuelve información sobre las transacciones del sistema.
CEMT I TRANS (abreviatura máxima)
Lista
Podemos añadir a la consulta la opción PROG. Por ejemplo:
CEMT I TRANS(*) PROG(PROGRAMA)
Nos devolvería la transacción asociada al programa "PROGRAMA".
CEMT I TRANS(PV40) PROG(*)
Nos devolvería el programa asociado a la transacción PV40.Las opciones modificables son:
Priority (número de 0 a 255 siendo 255 la prioridad más alta)
Purgeability (Purgeable/Notpurgeable)
Status (Enabled/Disabled)
Tclass
Todos los detalles en la web de IBM sección CEMT INQUIRE TRANSACTION : )
Y hasta aquí la segunda incursión en el mundo del CICS^^
Muchas gracias, me ha servido para refrescar o recuperar conocimientos, a veces trabajo con AS400, y dejo de lado mainframe, o trabajo como funcional o lider de proyecto y no estoy tan al dia a dia con mainframe, por ello muchas gracias por la explicación de CEMT.
ResponderBorrarhola, una consulta. No conozco mucho de mainframe.
ResponderBorrarYo defino un archivo con el comando CEDA DEF FILE(.....) DSNAME(....)
y todo bien, funciona el programa que lo trabaja. Pero luego cuando reinicio el sistema, esas definiciones no estan. Y tengo que definirlas nuevamente. hay una forma de que este fijo?
saludos y gracias
Hola! Existe alguna forma gratis para trabajar con CICS
ResponderBorrar