sábado, 8 de outubro de 2016

XML Generate

Olá!

Neste post será apresentado uma das formas de gerar uma string no formato de XML. O comando utilizado é o XML GENERATE, que possui a sintaxe para uso muito simples, veja abaixo:


XML GENERATE variável-A
        FROM variável-B
    COUNT IN variável-C
ON EXCEPTION expressão
END-XML.

Onde:
  • variável-A: é a variável que armazena a resposta/string gerada pela execução do comando.
  • variável-B: variável que contém as informações para gerar a string no formato de XML.
  • variável-C: após a execução do comando irá conter o número total de caracteres da resposta/string gerada, ou seja, possui o tamanho da string gerada em XML.
  • expressão: em caso de erro na geração da string para XML será acionado uma exceção, a expressão é o comando que será executado em caso de erro.
Segue abaixo um exemplo de código COBOL para gerar uma string no formato de XML com os dados de uma pessoa.

Declaração das variáveis:
xml generate - felipe barbosa ferreira

Código:
xml generate - felipe barbosa ferreira

Neste código de exemplo temos a seguinte relação:

variável-AGDA-TX-FMT-XML
variável-BIdentificacaoPessoa
variável-CGDA-TOTAL-CHAR-XML
expressãoPERFORM 999001-ERRO-01

Assim, ao executar o código de exemplo o resultado é:
GDA-TOTAL-CHAR-XML = 136
GDA-TX-FMT-XML = <IdentificacaoPessoa><Codigo>1</Codigo><Nome>Felipe</Nome><Sobrenome>Barbosa Ferreira</Sobrenome><Idade>23</Idade></IdentificacaoPessoa>


Para melhor visualização do resultado da execução do código de exemplo, segue abaixo a string gerada no formato de XML endentada:

<IdentificacaoPessoa>
    <Codigo>1</Codigo>
    <Nome>Felipe</Nome>
    <Sobrenome>Barbosa Ferreira</Sobrenome>
    <Idade>23</Idade>
</IdentificacaoPessoa>

Note que facilmente é gerado uma string no formato de XML. Sendo, uma grande vantagem de utilizar o XML GENERATE é que espaços em brancos a direita e zeros a esquerda são descartados automaticamente do resultado final.

Também, que neste exemplo em caso de erro será acionado o parágrafo de erro 01, por meio do comando PERFORM 999001-ERRO-01.

O  XML GENERATE possui outros comandos opcionais que facilitam a criação de strings xmls mais elaboradas, veja na página da IBM (clique aqui).

Em um post anterior foi demonstrado como extrair o conteúdo de uma string que estejam no formato de XML, veja em Unstring XML COBOL.

Para Ctrl + C do código acesse aqui.
Consultar a relação de Termos e Abreviaturas acesse aqui.
FELIPE BARBOSA FERREIRA
Até o próximo post!

2 comentários:

  1. Olá Felipe.
    Estes comandos funcionam no cobol 4.5 da microsoft ou preciso adquirir um cobol 2002?

    ResponderExcluir
    Respostas
    1. Prezado Jorge,

      primeiramente desculpa pelo atraso na resposta, por algum motivo o questionamento não veio para a caixa de entrada do meu email. E também, você já deve ter solucionado.

      O comando está disponível a partir da documentação Enterprise COBOL for z/OS Version 3 Realese 3. Você pode verficar o versionamento da documentação com o compilador na tabela do link: https://www.ibm.com/support/knowledgecenter/en/SS6SG3_6.1.0/com.ibm.cobol61.ent.doc/migrate/igympreab2.html

      Espero ter ajudado.

      Excluir