CICS - Bloco de Interface
Qualquer programa de aplicativo requer uma interface para interagir com o CICS. EIB (Execute Interface Block) atua como uma interface para permitir que programas aplicativos se comuniquem com o CICS. EIB contém as informações necessárias durante a execução de um programa.
Verbos COBOL restritos
Ao codificar um programa CICS, não podemos usar os comandos que retornam o controle diretamente para o MVS. Se codificarmos esses verbos COBOL, não haverá nenhum erro de compilação, mas podemos obter resultados imprevisíveis. A seguir estão os verbos COBOL que não devem ser usados em um programa CICS -
Instruções de E / S de arquivo como Abrir, Ler, Gravar, Reescrever, Fechar, Excluir e Iniciar. Toda E / S de arquivo no CICS é tratada pelo módulo de controle de arquivo e eles têm seu próprio conjunto de instruções, como READ, WRITE, REWRITE e DELETE, que discutiremos nos próximos módulos.
A Seção de Arquivos e a Divisão de Meio Ambiente não são necessárias.
As instruções COBOL que chamam funções do sistema operacional como Aceitar, Data / Hora não podem ser usadas.
Não use DISPLAY, MERGE, STOP RUN e GO BACK.
Executar Bloco de Interface
Execute Interface Block (EIB) é um bloco de controle que é carregado automaticamente pelo CICS para cada programa.
O BEI é exclusivo para uma tarefa e existe durante a tarefa. Ele contém um conjunto de informações relacionadas ao sistema correspondentes à tarefa.
Ele contém informações sobre o identificador de transação, hora, data, etc., que é usado pelo CICS durante a execução de um programa de aplicativo.
Todo programa executado como parte da tarefa tem acesso ao mesmo EIB.
Os dados no EIB em tempo de execução podem ser visualizados executando o programa no modo CEDF.
Campos EIB
A tabela a seguir fornece uma lista de campos que estão presentes no EIB -
Campo EIB | Cláusula PIC | Descrição |
---|---|---|
EIBAID | X (1) | Tecla de ajuda pressionada |
EIBCALEN | S9 (4) COMP | Ele contém comprimento de DFHCOMMAREA |
EIBDATE | S9 (7) COMP-3 | Ele contém a Data Atual do Sistema |
EIBRCODE | X (6) | Contém o código de retorno da última transação |
EIBTASKN | S9 (7) COMP-3 | Ele contém o número da tarefa |
EIBTIME | S9 (7) COMP-3 | Ele contém a hora atual do sistema |
EIBTRMID | X (4) | Identificador de Terminal |
EIBTRNID | X (4) | Identificador de transação |
Classificação de programas CICS
Os Programas CICS são classificados nas três categorias a seguir, que discutiremos um por um -
- Programas não conversacionais
- Programas de conversação
- Programas pseudo-conversacionais - discutiremos no próximo módulo
Programas Não Conversacionais
Ao executar programas não conversacionais, nenhuma intervenção humana é necessária. Todas as entradas necessárias são fornecidas quando o programa é iniciado.
Eles são semelhantes aos programas em lote executados no modo lote. Portanto, no CICS, eles raramente são desenvolvidos.
Podemos dizer que são usados apenas para exibir uma sequência de telas em intervalos regulares de tempo.
Exemplo
O exemplo a seguir mostra um programa não conversacional que simplesmente exibirá "HELLO WORLD" no terminal CICS como saída -
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-MESSAGE PIC X(30).
PROCEDURE DIVISION.
********************************************************
* SENDING DATA TO SCREEN *
********************************************************
MOVE 'HELLO WORLD' TO WS-MESSAGE
EXEC CICS SEND TEXT
FROM (WS-MESSAGE)
END-EXEC
********************************************************
* TASK TERMINATES WITHOUT ANY INTERACTION FROM THE USER*
********************************************************
EXEC CICS RETURN
END-EXEC.
Programa de conversação
Enviar uma mensagem para o terminal e receber uma resposta do usuário é chamado de Conversational. Um aplicativo online consegue uma conversa entre o usuário e o programa aplicativo por um par de comandos SEND e RECEIVE. Os pontos-chave de um programa de conversação são os seguintes -
O sistema envia uma mensagem para a tela e aguarda a resposta do usuário.
O tempo que o usuário leva para responder é conhecido como Think Time. Esse tempo é consideravelmente alto, o que é uma grande desvantagem dos programas de conversão.
O usuário fornece a entrada necessária e pressiona uma tecla AID.
O aplicativo processa a entrada do usuário e envia a saída.
O programa é carregado no armazenamento principal no início e é retido até o fim da tarefa.
Exemplo
O exemplo a seguir mostra um programa de conversão que obtém a entrada do usuário e, em seguida, simplesmente exibe a mesma entrada no terminal CICS como saída -
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-MESSAGE PIC X(30) VALUE SPACES.
PROCEDURE DIVISION.
MOVE 'ENTER MESSAGE' TO WS-MESSAGE
********************************************************
* SENDING DATA FROM PROGRAM TO SCREEN *
********************************************************
EXEC CICS SEND TEXT
FROM (WS-MESSAGE)
END-EXEC
********************************************************
* GETTING INPUT FROM USER *
********************************************************
EXEC CICS RECEIVE
INTO(WS-MESSAGE)
END-EXEC
EXEC CICS SEND TEXT
FROM (WS-MESSAGE)
END-EXEC
********************************************************
* COMMAND TO TERMINATE THE TRANSACTION *
********************************************************
EXEC CICS RETURN
END-EXEC.