Sobre a Amostra CICS Transaction Server for z/OS Connectivity
A amostra CICS Transaction Server for z/OS Connectivity
baseia-se em um cenário em que o objetivo é recuperar um registro de
um recurso de arquivo que está definido para o CICS.
O diagrama a seguir mostra a arquitetura de utilização da conectividade do CICS em um fluxo de mensagens.

A amostra CICS Transaction Server for z/OS Connectivity demonstra as seguintes
tarefas:
- Como incorporar o nó CICSRequest em um fluxo de mensagens para conexão com CICS para executar um programa na região de destino.
- Como incorporar dados da mensagem de entrada para formar parte do COMMAREA que está sendo enviado e recebido do CICS.
- Interpretando os códigos de retorno do CICS
- Manipulando encerramentos anormais do CICS
O programa CICS DFH$AXCS recebe um COMMAREA para abrir, procurar e fechar um arquivo. DFH$AXCS é um programa que usa os dados de amostra FILEA que são fornecidos com CICS. O
FILEA é um arquivo Key Sequenced Dataset (KSDS) que contém informações de conta de
amostra e é indexado por um número de registro com seis caracteres. O DFH$AXCS acessa este arquivo e toma os argumentos de entrada de um comando, um nome de recurso do arquivo e um identificador do registro. O comando informa
à amostra se ela deve abrir, navegar, atualizar ou fechar o arquivo. O recurso
do arquivo faz referência a uma definição de recurso do arquivo instalado que
mapeia para os dados KSDS reais. O número de registro é utilizado como a chave
ao ler ou atualizar o arquivo. A amostra faz três chamadas para o CICS
para abrir, procurar um registro e fechar o arquivo.
Mensagens de entrada
Três mensagens de entrada são fornecidas para execução da amostra CICS Transaction Server for z/OS Connectivity:
- Uma mensagem XML para recuperar o registro 111111 do FILEA.
<?xml version="1.0"?>
<data>
<file>FILEA</file>
<record>111111</record>
</data>
- Uma mensagem XML para recuperar o registro 222222 do FILEA.
<?xml version="1.0"?>
<data>
<file>FILEA</file>
<record>222222</record>
</data>
- Uma mensagem XML para tentar abrir um arquivo inexistente.
<?xml version="1.0"?>
<data>
<file>FILEB</file>
<record></record>
</data>
Mensagens de saída
Quatro mensagens de saída podem ser recebidas ao executar a amostra CICS Transaction Server for z/OS Connectivity:
- O registro 111111 que é recuperado a partir do FILEA é transformado em XML:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat></stat>
<recid>111111</recid>
<name>C. BAKER</name>
<address>OTTAWA, ONTARIO</address>
<phone>51212003</phone>
<date>26 11 81</date>
<amount>$0011.00</amount>
<comment>*********</comment>
</record>
- O registro 222222 que é recuperado a partir do FILEA é transformado em XML:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat></stat>
<recid>222222</recid>
<name>DR E. GRIFFITHS</name>
<address>FRANKFURT, GERMANY</address>
<phone>20034151</phone>
<date>26 11 81</date>
<amount>$0022.00</amount>
<comment>*********</comment>
</record>
- O XML que é recebido quando é feita uma tentativa de abrir um arquivo inexistente:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat>File could not be found</stat>
</record>
- Se algum dos nós CICSRequest no fluxo ou subfluxo de mensagens experimentar um encerramento anormal, um código de encerramento anormal será enviado do terminal de Erro do nó CICSRequest e será propagado para o nó Compute "Converter código de encerramento anormal para XML". O nó Compute, em seguida, cria uma mensagem XML que contém o código de encerramento anormal do CICS, em que 1234 é o código de encerramento anormal do CICS:
<?xml version="1.0" encoding="UTF-8"?>
<error>
<abendcode1234/abendcode>
</error>
O diagrama a seguir mostra o fluxo de mensagens da amostra
CICS Transaction Server for z/OS Connectivity principal.

Tipo de Nó |
Nome de Nó |
MQInput |
CICS_IN |
Compute |
Set Open Command, Convert FILE not found to XML, Convert FILEA record to XML, Convert abend code to XML |
CICSRequest |
Open FILEA |
Filter |
Check FILEA opened |
Subfluxo |
CICSConnectivityProcessFILEA |
MQOutput |
CICS_OUT, CICS_ERROR |
O diagrama a seguir mostra o subfluxo da mensagem da amostra
CICS Transaction Server for z/OS Connectivity, CICSConnectivityProcessFILEA.

Tipo de Nó |
Nome de Nó |
Input |
Input |
Compute |
Set Browse Command, Set Close Command |
CICSRequest |
Browse FILEA, Close FILEA |
Out |
Output, Error |
Para localizar mais informações sobre os nós que são usados na amostra CICS
Transaction Server para z/OS Connectivity, consulte
Nós integrados
na documentação do WebSphere Message Broker.
Rota feita pelas mensagens do FILEA
Ao colocar uma das mensagens do FILEA na fila de entrada, a mensagem percorre os nós. Se qualquer uma das filas tiver sido desativada, a mensagem não pode seguir esse caminho.
A seção a seguir descreve a rota feita pelas mensagens do FILEA e a função dos nós no
fluxo de mensagens da amostra CICS Transaction Server for z/OS Connectivity principal e
no subfluxo da mensagem CICSConnectivityProcessFILEA:
- CICS_IN: O nó "CICS_IN" MQInput obtém a mensagem de entrada a partir da fila de entrada.
- Set Open Command: O nó Compute "Set Open Command" configura o conjunto, tipo e formato das mensagens a partir dos quais cria o COMMAREA para envio para o CICS. A estrutura do COMMAREA é conforme definido no
arquivo comum dfh$axcs_cpybooks.cpy. O nó configura o parâmetro aberto que é requerido pelo programa CICS DFH$AXCS, que é: AXCS_COMMAND = 1. O nó também configura o parâmetro AXCS_FILE para o valor data.file que é especificado na mensagem de entrada XML. Finalmente, o nó armazena o valor
data.record da mensagem de entrada XML para o ambiente local para uso na chamada do nó CICSRequest "Browse FILEA" subsequente.
- Open FILEA: O nó CICSRequest "Open FILEA" conecta-se ao CICS e abre o recurso FILEA. A propriedade CICS server do nó CICSRequest é configurada para usar o serviço configurávelCICSConnection, conforme descrito em Configurando a amostra do CICS Transaction Server para z/OS Connectivity.
As propriedades Nome do programa e
Comprimento do Commarea são configuradas e o COMMAREA que é criado no nó Compute "Set Open Command" é enviado para o CICS.
O CICS executa o programa DFH$AXCS e FILEA é aberto. A estrutura do COMMAREA que é retornada para o WebSphere Message Broker a partir do CICS é a mesma do COMMAREA de saída, que é: dfh$axcs_cpybooks.cpy
- Check FILEA opened: O nó Filter "Check FILEA opened" executa uma verificação do código de retorno CICS para assegurar que o arquivo tenha sido aberto com êxito no sistema host. Se o FILEA foi aberto com êxito, a mensagem será propagada para o subfluxo CICSConnectivityProcessFILEA.
- Subfluxo CICSConnectivityProcessFILEA:
- Set Browse Command: O nó Compute "Set Browse Command" configura o parâmetro browse que é requerido pelo programa CICS DFH$AXCS, que é: AXCS_COMMAND = 2. O nó Compute "Set Browse Command" também recupera o valor data.record a partir do ambiente local e configura o parâmetro AXCS_RIFLD para informar ao programa DFH$AXCS qual registro a ser recuperado a partir do FILEA.
- Browse FILEA: "Browse FILEA" é um nó CICSRequest que instrui o CICS a navegar o FILEA e recuperar o registro.
- Set Close Command: O nó Compute "Set Close Command" configura o parâmetro close, que é: AXCS_COMMAND = 3.
- Close FILEA: O nó CICSRequest final, "Close FILEA", envia o COMMAREA para o CICS e o
FILEA é fechado.
- Convert FILEA record to XML: Por todo esse fluxo de mensagens, a mensagem principal que está sendo propagada pelos nós é a COMMAREA que é criada pelo nó Compute "Set Open Command", que está sendo passado para e a partir do CICS. O principal item de interesse agora são os dados que são recuperados do nó CICSRequest "Browse FILEA".
O nó Compute "Convert FILEA record to XML" cria uma mensagem XML que contém o fluxo transformado de bytes do registro FILEA e converte a mensagem para um formato XML, conforme exibido na seção Mensagens de Saída.
- CICS_OUT: O nó "CICS_OUT" MQOutput coloca a mensagem na fila de saída CICS_OUT.
- Convert abend code to XML: O nó Compute "Convert abend code to XML" manipula situações de erro. Cada um dos nós CICSRequest no fluxo e subfluxo de mensagens possui seus terminais de Erro conectados a este nó Compute. O nó Compute cria uma mensagem XML que contém o código de encerramento anormal do CICS, conforme exibido na seção Mensagens de Saída.
- CICS_ERROR: O nó "CICS_ERROR" MQOutput coloca a mensagem na fila de saída CICS_ERROR.
Rota feita pela mensagem FILEB
O rota feita pela mensagem FILEB é semelhante à rota feita pelas mensagens FILEA, mas com as seguintes diferenças:
- Open FILEA: O nó CICSRequest "Open FILEA" tenta abrir o FILEB, que é um arquivo inexistente na região do CICS do host.
- Check FILEA opened: O nó Filter "Check FILEA opened" determina um código de retorno 12 e a mensagem é propagada diretamente para o nó Compute "Convert FILE not found to XML".
- Convert FILE not found to XML: Porque não existe nenhum registro recuperado para o nó Compute
"Convert FILE not found to XML" converter, o nó Compute "Convert FILE not
found to XML" cria uma mensagem informativa.
Esta amostra demonstra como ler uma mensagem de entrada, conectar ao CICS, e recuperar um registro a partir do FILEA. Os dados de registro são transformados em XML e são liberados para uma fila. Se o arquivo
não puder ser localizado, uma mensagem informativa é criada.
Para obter mais informações, consulte
Trabalhando com o CICS
Transaction Server for z/OS na documentação do WebSphere Message Broker.
Agora é possível concluir as etapas de configuração descritas em Configurando a amostra CICS Transaction Server for z/OS Connectivity antes de executar a amostra.
Voltar para Home da Amostra