Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Extração XML de base Oracle

Boa noite a todos.


A questão é a seguinte: Extração de XML dentro da base Oracle.

No caso, utilizo comendo SQL Extract para obter as informações do XML que estão na base Oracle. Extract campo a campo é muito lento.


Alguém já precisou fazer este tipo de extração via Oracle, utilizando outra forma?


O comando via extract (lento) é:

SQL SELECT

     e.COD_XML_EVENTO,

     (extract(xml_procEVT, '//retEvento//InfEvento//chNFE//text()','xmlns=http://www.portalfiscal.inf.br/nfe').getStringVal() ) AS ChaveNFE

From NFE_XML_EVENTO e;


P.S.: Não tenho o arquivo XML para extrair, o dado só se encontra na base Oracle 8i.


No aguardo e à disposição.

Labels (2)
7 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Ola,

Primeiro faz a extração do campo, normal, sem o extract, depois use o comando from_field.

https://help.qlik.com/en-US/qlikview/November2017/Subsystems/Client/Content/Scripting/ScriptRegularS...

Na tela de script tem um assistente, bem útil para ajudar no entendimento, e a opção de carregamento do campo.

Abraço!

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
pablolabbe
Luminary Alumni
Luminary Alumni

Talvez isto aqui te ajude.

Extraindo campos de tags XML

Thiago_Justen_

Pelo menos a mim ajudou e muito hehe!!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
pablolabbe
Luminary Alumni
Luminary Alumni

Sávio,


Conseguiu resolver seu problema com as dicas ?

Anonymous
Not applicable
Author

Ainda não Pablo.

A questão é que uma base muito grande, NFEs de todo o estado que estão em XML dentro do Oracle.

Existe já uma estrutura de dados, que quem já trabalhou com NFE sabe como é. Devido a isso, o gestor pediu para seguir o mesmo padrão já que a rotina da fabrica de software não está mais conseguindo atualizar a base relacional.

A solução enviada pelo Aderlan, link do Thiago é bem bacana mas ainda não resolveu, pois preciso atrelar a cada extração de item da NFE (NFE_PROD, NFE_IMPOSTO, NFE_ICMS) o número do NSUAN (Código Brasil) e renomeá-lo para COD_INFNFE. Neste ponto que está dando trabalho.

Estou testando uma solução da comunidade internacional e conseguindo, posto aqui e fecho a discussão.

Thiago_Justen_

Sávio,

Disponibilize um xml de exemplo.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Anonymous
Not applicable
Author

Segue anexo Thiago.

A questão agora está nos campos de nomes iguais, por exemplo, como extrair as informações de Emitente (tags <emit> e <enderemit>) e Destinatário (tags <dest> e <enderdest>) pois possuem os campos com o mesmo nome?

Agradeço antecipadamente a atenção dispensada.

Para esclarecer melhor, como não temos acesso ao arquivo XML, vou à base oracle e salvo um arquivo CSV. A partir deste arquivo, trabalho com extração dos dados da NFE.

Mando anexo um exemplo reduzido do arquivo CSV.

Cada arquivo QVD, tem que conter o campo COD_INFNFE, que nada mais é do que o campo NSUAN.

NFE_EMIT
COD_INFNFE
CNPJ
XNOME

IE

CRT
XLGR
NRO
XBAIRRO
XUF

O mesmo para NFE_DEST e toda a estrutura da NFE, conforme o manual de orientação ao contribuinte (Portal da Nota Fiscal Eletrônica).