COBOL - XML PARSE - Exceptions with XMLPARSE(XMLSS) in effect



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - XML PARSE - Exceptions with XMLPARSE(XMLSS) in effect
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.