Translate

sexta-feira, 8 de agosto de 2025

Principais Variáveis EIB no CICS (Execute Interface Block)

 

Principais Variáveis EIB no CICS (Execute Interface Block)

4,424 followers

Salve jovem padawan, em minhas aulas de CICS, é costume apresentar as variáveis EIB no decorrer do curso, elas auxiliam um programa online, recebendo valores importantes para o processamento das transações, abaixo apresento uma breve definição. Listo as mais usadas, seu significado e valor.

📘 Definição

O EIB (Execute Interface Block) é uma área de memória automática criada pelo CICS em tempo de execução de uma transação. Ela contém informações contextuais e de controle sobre a execução da task CICS — como horário de início, terminal, ID da transação, teclas pressionadas, retorno de comandos, etc.

Ou seja: é o ambiente operacional da transação, disponível para o seu programa COBOL, PL/I, C, etc., automaticamente.

🔍 Quando e como o EIB é usado

Ao executar um programa em CICS, o sistema insere essa estrutura chamada DFHEIBLK no início do programa. Assim, não é necessário declarar explicitamente, apenas referenciar:

Variável

EIBTRNID

ID da transação em execução (ex: M001, INQ1)

EIBTASKN

Número da task do CICS. É único enquanto a task estiver ativa.

EIBDATE

Data de início da task no formato Julian (AAMMDD)

EIBTIME

Hora de início da task (em centésimos de segundo após meia-noite)

EIBCPOSN

Byte offset do erro de comunicação

EIBCALEN

Tamanho da COMMAREA recebida

EIBAID

Tecla de atenção pressionada (como ENTER, PF3, etc.)

EIBRCODE

Código de retorno da última chamada EXEC CICS (usado em tratamento de erro)

EIBRESP

Código de resposta padrão do comando EXEC CICS (usado com RESP)

EIBRESP2

Código de resposta adicional (mais detalhado que EIBRESP)

EIBRSRCE

Recurso responsável por falha em um comando (ex: nome do recurso)

EIBFN

Código da última função CICS executada (interno)

EIBDS

Nome do arquivo (VSAM, TDQ etc.) acessado mais recentemente

EIBREQID

ID de requisição mais recente (ex: para START ou LINK)

EIBRECV

Indica se houve RECEIVE bem-sucedido

EIBSEND

Indica se houve SEND

EIBATT

Tipo de atenção (PA, PF, ENTER, etc.)

EIBCID

Conversation ID em transações de comunicação interativa

EIBRLDAL

Indica se a tarefa foi reiniciada após falha (Backout recovery)

EIBCONF

Status de confirmação de transação (usado em syncpoints)

Espero ter ajudado, até o proximo artigo.


#ibm #mainframe #cobol #cics #eib #code #tips


Sem comentários:

Enviar um comentário