Além dos blocos de controle CICS usuais, cada tarefa possui um bloco de controle denominado bloco de interface EXEC (EIB) associado a ela.
Um programa aplicativo pode acessar por nome todos os campos que estão no EIB. O EIB contém informações que são úteis durante a execução de um programa aplicativo, como o identificador da transação, a hora e a data (inicialmente quando a tarefa é iniciada e, posteriormente, se atualizada pelo programa aplicativo) e a posição do cursor em um dispositivo de exibição. O EIB também contém informações úteis quando um dump está sendo usado para depurar um programa.
Campos de bloco de interface EXEC (EIB)
Esta informação descreve os campos do EXEC Interface Block (EIB). Um programa aplicativo pode ler todos os campos no EIB da tarefa associada por nome, mas não deve alterar o conteúdo de nenhum deles.
Para cada campo, o conteúdo e o formato (para cada uma das linguagens de programação de aplicativo, COBOL, C , C ++ ou PL / I) são fornecidos. Todos os campos contêm zeros na ausência de informações significativas. Os campos são listados em seqüência alfabética.
EIBAID
Este campo EIB contém o identificador de atenção (AID) que está associado ao último controle de terminal ou operação de entrada de Suporte de Mapeamento Básico (BMS) de um dispositivo de exibição, como um terminal.
EIBATT
Este campo EIB indica que a unidade de solicitação / resposta (RU) contém dados de cabeçalho de anexo ( X'FF ' ).
EIBCALEN
Este campo EIB contém o comprimento da área de comunicação que foi passada para o programa aplicativo do último programa, usando as opções COMMAREA e LENGTH. Se nenhuma área de comunicação for passada, este campo contém zeros.
EIBCOMPL
Este campo EIB indica, em um comando RECEIVE ou CONVERSE de controle de terminal, se os dados estão completos ( X'FF ' ). Se a opção NOTRUNCATE foi usada no comando RECEIVE ou CONVERSE, o CICS® retém os dados em excesso da quantia solicitada por meio da opção LENGTH ou MAXLENGTH. EIBRECV é definido para indicar que outros comandos RECEIVE ou CONVERSE são necessários. EIBCOMPL não é definido até que o último dos dados seja recebido.
EIBCOMPL é sempre definido quando um comando RECEIVE ou CONVERSE sem a opção NOTRUNCATE é executado.
EIBCONF
Este campo EIB indica que o parceiro de conversação emitiu uma solicitação CONFIRM ( X'FF ' ) e que uma resposta é necessária.
EIBCPOSN
Este campo EIB contém o endereço do cursor (posição) que está associado ao último controle de terminal ou operação de entrada do Basic Mapping Support (BMS) de um dispositivo de exibição, como um terminal.
EIBDATE
Este campo EIB contém a data em que a tarefa é iniciada (este campo é atualizado pelo comando ASKTIME). A data está no formato decimal compactado (0CYYDDD +), onde C mostra o século com valores 0 para 1900 e 1 para 2000. Por exemplo, as datas 31 de dezembro de 1999 e 1 de janeiro de 2000 têm valores EIBDATE de 0099365 e 0100001, respectivamente.
EIBDS
Este campo EIB contém o identificador simbólico do último arquivo que foi referenciado por uma solicitação de controle de arquivo.
EIBEOC
Este campo EIB é definido como X'FF ' após uma comunicação avançada de programa a programa (APPC) RECEIVE ou CONVERSE; caso contrário, não é definido. (Uma conversa APPC permite que um programa envie dados e receba dados de um programa que está sendo executado em um sistema remoto. A programação que usa conversas APPC é chamada de Programação de Transação Distribuída (DTP). Para obter informações de orientação sobre DTP, consulte Transação distribuída processamento (DTP) .)
EIBERR
Este campo EIB indica que ocorreu uma condição anormal ( X'FF ' ) em uma conversa APPC. O código de erro está em EIBERRCD.
EIBERRCD
Este campo EIB, quando EIBERR é definido, contém o código de erro que foi recebido. Os seguintes valores podem ser retornados nos primeiros dois bytes de EIBERRCD:
X'0824 ' SYNCPOINT ROLLBACK foi solicitado.
X'0864 ' PROBLEMA ABEND foi recebido.
X'0889 ' ERRO DE PROBLEMA recebido.
X'A000 ' A conversa foi perdida.
EIBFMH
Este campo EIB indica que os dados do usuário recém-recebidos ou recuperados contêm um FMH ( X'FF ' ). Isso não pode ocorrer no TXSeries para Multiplataformas , que sempre define este campo como X'00 ' .
EIBFN
Este campo EIB contém um código que identifica o último comando CICS a ser emitido pela tarefa (atualizado quando a função solicitada foi concluída).
EIBFREE
Este campo EIB indica que o programa aplicativo não pode continuar usando o recurso. O receptor deve emitir um comando GRÁTIS para a conversa.
EIBLABEL
Este campo, que é usado apenas para programas COBOL, é usado para conter valores relacionados a condições manipuladas ou abends. Os valores são:
0: RETURN ou XCTL
1: Abend
2 a nn : um valor que identifica um rótulo para uma condição tratada ou abend
EIBNODAT
Este campo EIB indica que nenhum dado foi enviado pelo aplicativo remoto ( X'FF ' ). Uma mensagem foi recebida do sistema remoto que transmitia apenas informações de controle. Por exemplo, se o aplicativo remoto executou um comando SEND com uma opção WAIT, todos os dados seriam enviados através do link. Se o aplicativo remoto então executa um comando SEND INVITE sem usar a opção FROM para transmitir dados ao mesmo tempo, seria necessário enviar a instrução INVITE por meio do link por si só. Nesse caso, o aplicativo receptor encontra o conjunto EIBNODAT. O uso deste campo é restrito a programas de aplicativos que estão mantendo conversas em links APPC apenas.
EIBRCODE
Este campo EIB contém o código de resposta do CICS que é retornado depois que a função que foi solicitada pelo último comando do CICS a ser emitido pela tarefa foi concluída.
Para uma resposta normal, este campo contém zeros hexadecimais ( X'00 ' ). Apenas para programas COBOL, quase todas as informações que estão neste campo podem ser usadas em programas aplicativos pelo comando HANDLE CONDITION.
A lista a seguir mostra os valores EIBRCODE que correspondem às condições que podem ocorrer para cada grupo de comandos (conforme indicado pelo byte 0 de EIBFN), juntamente com os nomes das condições associadas.
Para algumas condições, mais informações são fornecidas em EIBRCODE.
Para alguns comandos (por exemplo, INQUIRE e SET), o byte 3 de EIBRCODE contém o equivalente hexadecimal do valor em EIBRESP. Qualquer informação adicional relacionada a condições que estão ocorrendo nesses comandos pode ser encontrada em EIBRESP2 em vez de EIBRCODE. Os valores RESP2 são fornecidos nas descrições dos comandos individuais.
EIBRECV
Este campo EIB indica que o programa aplicativo deve continuar recebendo dados da instalação executando comandos RECEIVE ( X'FF ' ).
EIBREQID
Este campo EIB contém o identificador de pedido que é designado a um comando de controle de intervalo pelo CICS; este campo não é usado quando um identificador de solicitação é especificado no programa aplicativo.
EIBRESP
Este campo EIB contém um número binário de 32 bits que corresponde à condição que ocorreu. Esses números estão listados na Tabela 4 (em decimal) para as condições que podem ocorrer em solicitações locais durante a execução dos comandos descritos na referência de comando da API do CICS .
EIBRESP2
Este campo EIB contém informações mais detalhadas que podem ajudar a explicar por que ocorreu a condição indicada por EIBRESP. Para TXSeries for Multiplatforms , este campo contém valores significativos apenas para comandos SET. Os valores relevantes são documentados com cada comando, conforme aplicável.
A Tabela 5 dá, em termos gerais, o significado dos valores do RESP2 que são utilizados pela FEPI. Esses valores são usados na área EVENTVALUE dos registros da fila de dados temporários do CICS e retornados pela opção RESP2 de comandos do CICS. Para obter detalhes das condições de erro e valores RESP2 relacionados para cada comando CICS, consulte as definições de comando CICS
EIBRLDBK
Este campo EIB indica que a transação remota enviou SYNCPOINT ROLLBACK em resposta a um pedido SYNCPOINT ( X'FF ' ). A transação que emitiu o comando SYNCPOINT foi revertida.
EIBRSRCE
Este campo EIB contém o identificador simbólico do recurso que está sendo acessado pelo último comando API a ser emitido pela tarefa.
IBSIG
Este campo EIB indica que o parceiro de conversação emitiu um comando ISSUE SIGNAL ( X'FF ' ).
EIBSYNC
Este campo EIB indica que o ponto de sincronização do CICS está em andamento e que o aplicativo deve emitir um comando SYNCPOINT.
EIBSYNRB
Este campo EIB indica que o ponto de sincronização do CICS está em andamento e que o programa de aplicativo deve emitir um comando SYNCPOINT ROLLBACK ( X'FF ' ). Este campo é definido apenas em programas aplicativos que estão mantendo uma conversa em um link APPC.
EIBTASKN
Este campo EIB contém o número da tarefa que é designado à tarefa pelo CICS. Este número aparece nas entradas de rastreamento que são geradas enquanto a tarefa está sob controle.
EIBTIME
Este campo EIB contém a hora em que a tarefa é iniciada (este campo é atualizado pelo comando ASKTIME). A hora está no formato decimal compactado (0HHMMSS +).
EIBTRMID
Este campo EIB contém o nome do recurso principal associado à tarefa. Para uma transação de back-end, é o identificador de conversação (CONVID). Este nome deve ser adquirido se o programa indicar explicitamente o CONVID para a instalação principal.
EIBTRNID
Este campo EIB contém o identificador de transação simbólica da tarefa.