Enterprise COBOL for z/OS 6.3.0, Language Reference
Quando o analisador do z/OS® XML System Services passa o controle ao seu procedimento de processamento para um evento de exceção, o registro especial XML-CODE
contém o código de exceção, formado a partir de um código de retorno e um código de razão.
O código de retorno e o código de razão são, cada um, um valor binário de meia palavra.
O código de exceção é a concatenação desses dois valores: o código de retorno na meia palavra de ordem superior e o código de razão na meia palavra de ordem
inferior.
Os códigos de retorno e códigos de razão estão documentados como valores hexadecimais no Guia e Referência do Usuário do z/OS XML System Services, referenciado
abaixo e na Tabela 1 abaixo.
Após a maioria dos eventos de exceção, o analisador não continua o processamento; o valor em XML-CODE no final da instrução XML PARSE é o código de exceção
original definido pelo analisador.
Quando o procedimento de processamento retorna ao analisador após o evento de exceção, o controle é transferido para a instrução especificada na frase ON
EXCEPTION ou para o final da instrução XML PARSE se você não codificou uma frase ON EXCEPTION.
Exceções de validação:
Se você codificar uma instrução XML PARSE que contém a frase VALIDATING e o analisador do z/OS XML System Services determinar que o documento não é válido, o
analisador gerará o código de retorno 24 (hexadecimal 18, XRC_NOT_VALID).
Exceções exclusivas do Enterprise COBOL:
Algumas exceções são exclusivas do Enterprise COBOL e, portanto, não são documentadas no Guia e Referência do Usuário do z/OS XML System Services, por exemplo,
erros que ocorrem durante a recuperação do esquema XML.
O código de retorno para exceções com códigos de motivo no intervalo hexadecimal 800 a 899 é 4 (hexadecimal 0004, XRC_WARNING). Para outras exceções, o código de
retorno é 16 (hexadecimal 0010, XRC_FATAL).
O código de exceção (o valor no registro especial XML-CODE) é formado a partir desse código de retorno concatenado com um dos códigos de razão mostrados na tabela
a seguir.
Tabela 1. Códigos de razão para exceções do XML PARSE que são exclusivas do Enterprise COBOL
| Código de razão (hexadecimal) |
Descrição |
| 700 |
VALIDATING WITH FILE não é suportado no CICS®. |
| 701 |
O esquema XML otimizado que foi lido era muito curto ou o arquivo estava vazio. |
| 702 |
O identificador de arquivo para o esquema não era um nome de dd ou nome de variável de ambiente. |
| 703 |
O valor DSN continha um caractere de espaço em uma posição em que um espaço não é permitido. |
| 704 |
O valor DSN especificou um conjunto de dados temporário. |
| 705 |
O valor PATH continha um caractere de espaço sem escape. |
| 706 |
O valor PATH continha um nome de caminho que não era um caminho absoluto. |
| 707 |
A alocação de memória para o buffer do esquema XML falhou. |
| 708 |
A variável de ambiente era nula ou continha apenas espaços. |
| 709 |
A variável de ambiente continha uma palavra-chave inválida. |
| 710 |
O valor DSN continha um caractere inválido após o nome do membro. |
| 711 |
O valor DSN não especificou um nome de membro. |
| 712 |
O valor DSN não especificou um nome de conjunto de dados ou parênteses não foram especificados corretamente. |
| 713 |
O valor PATH não especificou o nome do caminho ou os parênteses não foram especificados corretamente. |
| 714 |
O valor DSN continha um parêntese extra. |
| 715 |
O valor PATH continha um parêntese extra. |
| 716 |
O valor DSN estava ausente entre parênteses de fechamento. |
| 717 |
O valor PATH estava ausente entre parênteses de fechamento. |
| 718 |
O valor DSN continha um caractere de escape. |
| 720 |
Uma referência de caractere para um caractere não representável não foi resolvida. |
| 721 |
Uma referência de caractere não representável na declaração de tipo de documento não é suportada. |
| 800 |
O nome do atributo usou um prefixo não declarado. |
| 801 |
O nome START-OF-ELEMENT usou um prefixo não declarado.
(O nome END-OF-ELEMENT deve corresponder, portanto, usar o mesmo prefixo não declarado não causa outra exceção.) |
| 900 |
Erro interno. Relate o erro ao seu representante de serviço. |
Para qualquer um dos códigos de razão, exceto 900, corrija o erro e tente novamente o programa.
© Copyright IBM Corp.