É possível especificar que um evento seja emitido quando o aplicativo emitir qualquer dos comandos da API EXEC CICS habilitados para eventos ou quando um programa de aplicativo for iniciado. Os comandos EXEC ativados por evento CICS são mostrados no Pontos de Captura. Um conjunto limitado de módulos do CICS também foi ativado de forma que seja possível capturar eventos, por exemplo: comandos de arquivo e de armazenamento temporário vindos do suporte de Atom; Comandos de LINK EXEC do CICS emitidos pelos programas de ponte do CICS WebSphere MQ; comandos a partir de amostras do CICS e a transação CECI.
A especificação de captura define os critérios para emissão de evento usando filtros, tais como o identificador de transação, o nome do programa ou o valor da opção do comando EXEC CICS. Essa especificação de captura pode ser refinada adicionalmente pela filtragem nos dados do aplicativo associados ao comando. Por exemplo, é possível especificar que o campo COMMAREA contendo um valor de ordem deve ser maior que 10.000. A especificação de captura também define a localização dos dados a serem capturados.
O local do evento na lógica de aplicativo depende de como ele é especificado. Se um aplicativo CICS contém dois ou mais instâncias do mesmo comando EXEC CICS API, e a especificação de filtro não distinguir entre os dois comandos, um evento é emitido quando ambos os comandos são emitidos. Se o mesmo comando da API EXEC CICS ocorrer em dois aplicativos e não houver um filtro no identificador de transação ou nome do programa, um evento será emitido quando ambos os aplicativo forem executados.
É possível capturar eventos na inicialização do programa (PGMINIT) e os seguintes comandos EXEC da API do CICS. Pontos de captura que podem ser especificados são mostrados na seguinte tabela:
Ponto de Captura | Predicado Primário | Predicado de Filtro | Dados de Captura | ||
---|---|---|---|---|---|
Contexto | Opção de Evento | Opção de evento | Dados do Aplicativo | ||
CONVERSE | Nenhuma | ID da Transação |
Nenhuma | FROM |
Nenhuma |
DELETE FILE | FILE | ID da Transação |
FILE | FILE | RIDFLD |
DELETEQ TD | QUEUE | ID da Transação |
QUEUE | QUEUE | Nenhum |
DELETEQ TS | QNAME | ID da Transação |
QNAME | QNAME | Nenhum |
INVOKE SERVICE | SERVICE | ID da Transação |
SERVICE |
SERVICE |
CHANNEL |
LINK PROGRAM | PROGRAM | ID da Transação |
PROGRAM |
PROGRAM |
COMMAREA |
PROGRAM INIT | PROGRAM | ID da Transação |
PROGRAM |
Nenhuma | COMMAREA |
PUT CONTAINER | CONTAINER | ID da Transação |
CONTAINER |
CONTAINER |
FROM |
READ | FILE | ID da Transação |
FILE |
FILE | RIDFLD |
READNEXT | FILE | ID da Transação |
FILE |
FILE | RIDFLD |
READPREV | FILE | ID da Transação |
FILE |
FILE | RIDFLD |
READQ TD | QUEUE | ID da Transação |
QUEUE | QUEUE | INTO-SET |
READQ TS | QNAME | ID da Transação |
QNAME | QNAME | INTO-SET |
RECEIVE | Nenhuma | ID da Transação |
NONE | NONE | INTO-SET |
RECEIVE MAP | MAP | ID da Transação |
MAP |
MAP |
INTO-SET |
RETRIEVE | Nenhuma | ID da Transação |
NONE | NONE | INTO-SET |
RETURN | Nenhuma | ID da Transação |
TRANSID |
TRANSID |
COMMAREA |
REWRITE | FILE | ID da Transação |
FILE | FILE | FROM |
SEND | Nenhuma | ID da Transação |
NONE | NONE | FROM |
SEND MAP | MAP | ID da Transação |
MAP |
MAP |
FROM |
SEND TEXT | Nenhuma | ID da Transação |
ALARM | NONE | FROM |
SIGNAL EVENT 1 | EVENT | ID da Transação |
EVENT |
EVENT |
FROM |
START | TRANSID | ID da Transação |
TRANSID |
TRANSID |
FROM |
WEB READ | Nenhuma | ID da Transação |
NONE | NONE | FORMFIELD |
WEB READNEXT | Nenhuma | ID da Transação |
NONE | NONE | FORMFIELD |
WRITE FILE | FILE | ID da Transação |
FILE | FILE | RIDFLD FROM |
WRITE OPERATOR | Nenhuma | ID da Transação |
NONE | NONE | TEXT 2 |
WRITEQ TD | QUEUE | ID da Transação |
QUEUE | QUEUE | FROM |
WRITEQ TS | QNAME | ID da Transação |
QNAME | QNAME | FROM |
XCTL | PROGRAM | ID da Transação |
PROGRAM |
PROGRAM |
COMMAREA |
Todos os pontos de captura definem os mesmos itens de captura de contexto, PROGRAM, TRANSID e USERID.