PerroCobolero

PerroCobolero

ADS

miércoles, 27 de julio de 2016

Usando CICS: transacción CEMT.

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:
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^^

3 comentarios:

  1. 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.

    ResponderBorrar
  2. hola, una consulta. No conozco mucho de mainframe.
    Yo 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

    ResponderBorrar
  3. Hola! Existe alguna forma gratis para trabajar con CICS

    ResponderBorrar