Sexta, Junho 05, 2020

Descrição

Use o comando HANDLE CONDITION para especificar o rótulo para o qual o controle deve ser passado se ocorrer uma condição. Você deve incluir o nome da condição e, opcionalmente, um rótulo para o qual o controle deve ser passado se a condição ocorrer.

Se você omitir o parâmetro label, qualquer comando HANDLE CONDITION para a condição será desativado e a ação padrão será executada se a condição ocorrer. Isso é independente da configuração da condição de ERRO generalizada.

Você deve garantir que o comando HANDLE CONDITION seja executado antes do comando que pode resultar na condição associada.

Você não pode incluir mais de 16 condições no mesmo comando. As condições devem ser separadas por pelo menos um espaço. Você deve especificar quaisquer condições adicionais em outros comandos HANDLE CONDITION .

Se ocorrer uma condição que não esteja especificada em um comando HANDLE CONDITION ou IGNORE CONDITION , a ação padrão será executada. No entanto, se a ação padrão para essa condição encerrar a tarefa de forma anormal e a condição ERROR tiver sido especificada, a ação para ERROR será executada.

O rótulo recebe o controle na mesma chave de execução que a chave de execução em que o programa estava sendo executado quando o comando HANDLE CONDITION foi emitido.

 

Escopo:

O comando HANDLE CONDITION para uma determinada condição se aplica apenas ao programa em que está especificado. O comando HANDLE CONDITION permanece ativo enquanto o programa está sendo executado ou até que uma das seguintes situações ocorra:

  • Um comando IGNORE CONDITION para a mesma condição é encontrado. O comando HANDLE CONDITION é substituído.
  • Outro comando HANDLE CONDITION para a mesma condição é encontrado. O novo comando substitui o anterior.
  • Um comando LINK é executado para chamar outro programa CICS. As opções HANDLE CONDITION não são herdadas pelo programa vinculado ao.

O comando HANDLE CONDITION é temporariamente desativado pela opção NOHANDLE ou RESP em um comando.

 

Considerações de idioma

Em um programa aplicativo de linguagem assembler, quando uma ramificação para um rótulo é causada por uma condição, os registros no programa aplicativo são restaurados para seus valores no programa no ponto em que o comando que causou a condição é emitido.

Em um programa de aplicação PL / I, uma ramificação para um rótulo em um procedimento inativo ou em um bloco inicial inativo, causado por uma condição, produz resultados imprevisíveis.

 

Opções:

condition(label)

Especifica o nome da condição. O rótulo especifica o local no programa a ser ramificado se a condição ocorrer.

Para mais informações sobre as condições, consulte os campos do BEI .

 

Exemplos:

O exemplo a seguir mostra como lidar com condições como DUPREC e LENGERR que podem ocorrer quando você usa um comando WRITE para adicionar um registro a um conjunto de dados. DUPREC é tratado como um caso especial. A ação padrão é executada para LENGERR (ou seja, a tarefa é finalizada de maneira anormal). Todas as outras condições são tratadas pela rotina de erros ERRHANDL.

EXEC CICS HANDLE CONDITION
          ERROR(ERRHANDL)
          DUPREC(DUPRTN) LENGERR

 

CICS - Customer Information Control Syst…

CICS significa Sistema de Controle de Informações do Cliente (Customer Information Control System), ou simplesmente CICS®, é um monitor de transações utilizado inicialmente nos sistemas operacionais z/OS e z/VSE dos...

Command Level

O Command Level é um conjunto de comandos usados em programas COBOL ou ASSEMBLER para fazer a interação com os módulos do Cics (PCP, TCP, FCP etc.). A sintaxe básica...

Construção de um mapa BMS

As telas do Mainframe são escritas em uma linguagem fonte chamada BMS. O mapa BMS para descrever uma tela deve ser codificado usando a sintaxe do Assembler do Mainframe. Nesta...

DFHMDF

A macro DFHMDF define os atributos sobre a tela. É necessario uma macro DFHMDF para cada atributo da tela. Como exemplo, suponhamos que na coluna 10 de uma tela desejamos criar...

DFHMDI

A sintaxe desta macro é   Mapa DFHMDI argumentos Mapa (Na coluna 1) é o nome da tela. Este nome será usado nos programas para leitura e gravação da tela.  Os argumentos da macro...

DFHMSD

A sintaxe desta macro é   Label DFHMSD argumentos O Label desta macro define o nome do mapset. Ele deverá ser usado nos programas dentro dos comandos de leitura e gravação da tela. Os...

EXEC CICS ABEND

ABEND   O comando ABEND encerra uma tarefa de forma anormal.   O CICS libera o armazenamento principal associado à tarefa finalizada; opcionalmente, você pode obter um despejo de transação desse armazenamento.   A chamada do...

EXEC CICS ADDRESS

Descrição: ADDRESS ​​acessa as seguintes áreas: O elemento do ambiente de controle de acesso (ACEE) A área de comunicação disponível para o programa invocado (COMMAREA) A área de trabalho comum (CWA) O bloco de interface...

EXEC CICS ASSIGN

O comando ASSIGN obtém valores de fora do ambiente local do programa de aplicativo. Os dados obtidos dependem das opções especificadas. Você pode especificar até 16 opções em um comando...

EXEC CICS BIF DEEDIT

Descrição O BIF DEEDIT fornece a função incorporada DEEDIT. Ele especifica que caracteres alfabéticos e especiais são removidos de um campo de dados EBCDIC e os dígitos restantes alinhados à direita...

EXEC CICS HANDLE ABEND

HANDLE ABEND   Condições: NOTAUTH, PGMIDERR (apenas PROGRAMA)   Descrição Use o comando HANDLE ABEND para ativar, cancelar ou reativar uma saída para processamento de finalização anormal. Você pode suspender o comando usando os comandos...

EXEC CICS HANDLE CONDITION

Descrição Use o comando HANDLE CONDITION para especificar o rótulo para o qual o controle deve ser passado se ocorrer uma condição. Você deve incluir o nome da condição e, opcionalmente,...

EXEC CICS IGNORE CONDITION

Use o comando IGNORE CONDITION para especificar que nenhuma ação será executada se ocorrer uma condição (ou seja, o controle retornará à instrução após o comando que falhou na execução...

EXEC CICS READ

READ lê um registro de um arquivo em um sistema local ou remoto.   Para comandos UPDATE e não UPDATE, você deve identificar o registro a ser recuperado pelo campo de identificação...

EXEC CICS RECEIVE MAP

O comando EXEC CICS RECEIVE MAP lê a tela enviada pelo terminal.  A sintaxe básica deste comando é:        EXEC CICS RECEIVE           MAP(nome-do-mapa)        ...

EXEC CICS SEND MAP

O comando EXEC CICS SEND MAP envia a tela para o terminal.  Existem 2 formas basicas para este comando: A primeira é usada no inicio do processamento para enviar para o...

Retorno dos comandos

Cada um dos comandos acima possui um conjunto especifico de condições de retorno. Por exemplo o comando: EXEC CICS READ(CLIENTE)  RIDFLD(CODCLI) END-EXEC Pode retornar situações como: Erro Código do erro Registro não encontrado NOTFND Arquivo não está...