O nó CICSRequest pode retornar
mensagens de resposta diferentes que indicam o sucesso ou a falha do
pedido enviado ao CICS Transaction
Server para z/OS.
O nó
CICSRequest possui quatro
terminais de saída:
- Out: O terminal de saída a partir do qual a árvore de mensagens é propagada,
incluindo os dados retornados do CICS.
- Failure: O terminal de saída para o qual uma mensagem é roteada se uma exceção do nó de CICSRequest for detectada ou ocorrer uma falha
de conexão do nó de CICSRequest com o CICS.
- Error: O terminal de saída para o qual uma mensagem é propagada se
ocorrer um erro do CICS (encerramento de forma anormal).
- Timeout: O terminal de saída para o qual a mensagem é propagada
se um tempo limite por pedido ocorrer quando um pedido individual for enviado
ao CICS, mas o pedido
demora muito tempo.
É possível selecionar o local para o qual enviar a resposta
configurando a propriedade Resultado do
Local de Dados de Saída
no nó
CICSRequest.
Esta propriedade especifica o local na árvore de mensagens no qual
o nó
CICSRequest coloca
a saída.
- Processando chamadas bem-sucedidas
Quando um nó CICSRequest chama
um aplicativo CICS com êxito,
a mensagem resultante é propagada ao terminal Out.
- Processando encerramentos de forma anormal do CICS
Um encerramento de forma anormal no CICS faz com que
uma mensagem seja propagada a partir do terminal Error. A mensagem de entrada é propagada com um campo CICS\AbendCode no
LocalEnvironment. Se o terminal Error não estiver conectado,
o encerramento de forma anormal será perdido.
Se um encerramento de forma anormal ocorrer e o nó CICSRequest estiver configurado para participar da transação do broker, a tarefa CICS será imediatamente retrocedida. Se diversos nós do CICS estiverem envolvidos na unidade de trabalho, a atividade do CICS de cada um dos nós será retrocedida, independentemente se o encerramento anormal for manipulado por meio de um terminal com erro ou falha. Qualquer trabalho adicional realizado pelo CICS como parte do processamento da mensagem é efetuado sob uma nova unidade de trabalho. 
Uma unidade de trabalho é o trabalho realizado por nós em um fluxo que compartilham o mesmo recurso; neste caso, uma unidade de trabalho é todo o trabalho que é executado pelos nós CICSRequest em um fluxo que estão conectados ao mesmo servidor CICS (através de uma URL ou serviço configurável definido na propriedade servidor CICS).
Por exemplo, se um fluxo de mensagens contiver cinco nós do CICS, três dos quais estão conectados ao servidor CICS A e dois conectados ao servidor CICS B, todo o trabalho realizado pelos nós conectados ao servidor A formará uma unidade de trabalho e todo o trabalho realizado pelos nós conectados ao servidor B formará uma unidade de trabalho separada.
Se um encerramento de forma anormal ocorrer em um dos nós do CICS conectados ao servidor CICS A, o trabalho realizado por todos os nós do CICS no fluxo que estão conectados ao servidor A será retrocedido porque ele forma uma única unidade de trabalho. Qualquer trabalho subsequente realizado por um nó CICSRequest conectado ao servidor A iniciará uma nova unidade de trabalho e a unidade de trabalho para o servidor B não será afetada pela retrocesso da unidade de trabalho do servidor A.
- Processando tempos limites de pedido
Se um nó CICSRequest for configurado
com uma propriedade Básico de Tempo Limite de Pedido
e uma mensagem específica demorar mais do que o tempo especificado
em segundos para ser processada, o pedido falhará e a mensagem
será propagada a partir do terminal Timeout. A mensagem de saída contém o corpo da mensagem de entrada
e uma exceção de tempo limite na ExceptionList.
Se o terminal Timeout não estiver conectado e
ocorrer um tempo limite, a exceção de tempo limite do pedido será roteada para o
terminal Failure. Se o
terminal Failure não estiver conectado, o broker lançará uma exceção
e retornará o controle para o nó de envio de dados mais próximo que pode processá-lo. O comportamento padrão é que a mensagem seja
retornada ao nó de entrada.
- Manipulando falhas no nó
Quaisquer
outras falhas são propagadas para o terminal Failure. As falhas possíveis
incluem:
- Uma impossibilidade de se comunicar com a região do CICS de destino.
- Uma exceção de nó CICSRequest interno
é detectada.
- Um corpo de mensagem inválido. Por exemplo, um erro de análise ou mensagem de entrada
está criando uma estrutura que é maior do que a propriedade Básico do Comprimento da Commarea que está configurada no nó CICSRequest.
Uma situação semelhante para a COMMAREA de retorno não pode ser detectada.
Por exemplo, se os dados de retorno forem maiores do que o valor que está
definido na propriedade Comprimento da Commarea,
ocorre uma fuga de memória no CICS.
Portanto, a propriedade Básico do Comprimento da Commarea
deve estar configurada corretamente.
É possível usar o serviço configurável CICSConnection para alterar
detalhes de conexão para o nó
CICSRequest. Consulte
Alterando Informações de Conexão para o Nó CICSRequest para obter detalhes sobre como criar, alterar,
relatar e excluir o serviço configurável CICSConnection.