Condições: ISCINVREQ, NOTAUTH, NOTFND, SYSIDERR
Nota para roteamento de transação dinâmica : Usar CANCEL com REQID (de um POST, DELAY ou START) pode criar afinidades de intertransação que afetam adversamente o uso de roteamento de transação dinâmica. Consulte Afinidade para obter mais informações sobre afinidades de transação.
Descrição:
CANCEL cancela um comando DELAY, POST ou START emitido anteriormente. O comando CANCEL não pode ser usado para remover uma solicitação enfileirada localmente. Se você incluir a opção SYSID, o comando será enviado para um sistema remoto. Se você omitir SYSID, a opção TRANSID, se presente, indica onde o comando deve ser executado. O efeito do cancelamento varia dependendo do tipo de comando que está sendo cancelado, como segue:
Um comando DELAY só pode ser cancelado antes de expirar e apenas por uma tarefa diferente da tarefa que emitiu o comando DELAY (que é suspensa durante a solicitação). O REQID usado pela tarefa suspensa deve ser especificado. O efeito do cancelamento é o mesmo que uma expiração antecipada do DELAY original. Ou seja, a tarefa suspensa se torna despachável como se o tempo de expiração original tivesse sido atingido.
Quando um comando POST emitido pela mesma tarefa deve ser cancelado, nenhum REQID precisa ser especificado. O cancelamento pode ser solicitado antes ou depois que a solicitação original expirou. O efeito do cancelamento é como se o pedido original nunca tivesse sido feito.
Quando um comando POST emitido por outra tarefa deve ser cancelado, o REQID desse comando deve ser especificado. O efeito do cancelamento é o mesmo que uma expiração antecipada da solicitação POST original. Ou seja, a área de controle de evento do cronômetro para a outra tarefa é postada como se o tempo de expiração original tivesse sido atingido.
Quando um comando START deve ser cancelado, o REQID associado ao comando original deve ser especificado. O efeito do cancelamento é como se o comando original nunca tivesse sido emitido. O cancelamento é efetivo somente antes que o comando original seja honrado.
Quando você usa um comando START com a opção PROTECT, CANCEL cancelará o comando START somente se o comando START tiver sido confirmado.
Nota: Uma resposta NOTFND a um comando CANCEL de um START com REQID significa que a solicitação de início não está mais pendente. Isso não significa que a tarefa a ser iniciada tenha sido concluída neste momento; nem significa que a tarefa iniciada emitiu um comando RETRIEVE para ler os dados FROM da fila REQID. Um comando START subsequente reutilizando o mesmo valor REQID pode falhar com um abend AEIQ (condição IOERR), se a fila REQID ainda existir neste momento.
Opções:
REQID ( nome )
especifica um nome (1–8 caracteres), que deve ser exclusivo, para identificar um comando. Este nome é usado como um identificador de armazenamento temporário. A fila de armazenamento temporário assim identificada deve ser definida como uma fila local no sistema CICS onde o comando CANCEL é processado.
Esta opção não pode ser usada para cancelar um comando POST emitido pela mesma tarefa (para o qual, a opção REQID será ignorada se for especificada).
SYSID ( nome do sistema )
(somente sistemas remotos) especifica o nome (1–4 caracteres) do sistema para o comando CANCELAR.
TRANSID ( nome )
especifica o identificador simbólico (1–4 caracteres) de uma transação a ser usada para determinar onde o comando CANCEL deve ser executado, se SYSID não for especificado. Se o TRANSID for definido como REMOTO, a solicitação CANCELAR será enviada por função ao sistema remoto.