ERP – eDocs Armazenamento XML – Onde ficam armazenados os arquivos XML da NF-e no banco de dados do eDocs
Dúvida
Onde ficam armazenados os arquivos XML da NF-e no banco de dados do eDocs?
Solução
Os arquivos XML ficam armazenados na tabela N100XML, em um campo específico para armazenamento de arquivo XML. Porém para acessar os arquivos XML é necessário fazer a ligação da tabelas INTERF_NFE ou N130NFE com a tabela N130XML e com a tabela N100XML da base de dados do eDocs.
Abaixo seguem comandos para serem utilizados como base para consultar os documentos:
1. Acesse a ferramenta para consulta ao banco de dados, cole e execute o comando abaixo (conforme a sua necessidade):
1.1. Select que trará todos os XMLs da N100XML para as NF-e de recebimento (inclusive XML de CC-e):
1.1.1. Leiaute 2.0
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,INTERF_NFE
WHERE
INTERF_NFE.IND_TIPO_PROCES = 'R' AND
N130XML.SEQNFE = INTERF_NFE.NUM_SEQ_NFE AND
N100XML.SEQXML = N130XML.SEQXML
1.1.2. Leiaute 3.10 ou superior
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,N130NFE
WHERE
N130NFE.TIPPRO = 'R' AND
N130XML.SEQNF3 = N130NFE.SEQNFE AND
N100XML.SEQXML = N130XML.SEQXML
1.2. Select que trará todos os XMLs da N100XML para uma NF-e de recebimento específica (inclusive XML de CC-e):
1.2.1. Leiaute 2.0
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,INTERF_NFE
WHERE
INTERF_NFE.IND_TIPO_PROCES = 'R' AND
N130XML.SEQNFE = INTERF_NFE.NUM_SEQ_NFE AND
N100XML.SEQXML = N130XML.SEQXML AND
INTERF_NFE.NUM_DOCTO_FISCAL=<NUMERO DA NOTA>
1.2.2. Leiaute 3.10 ou superior
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,N130NFE
WHERE
N130NFE.TIPPRO = 'R' AND
N130XML.SEQNF3 = N130NFE.SEQNFE AND
N100XML.SEQXML = N130XML.SEQXML AND
N130NFE.NUMNFE=<NUMERO DA NOTA>
1.3. Select que trará todos os XMLs da N100XML para as NF-e de emissão (inclusive XML de CC-e)
1.3.1. Leiaute 2.0
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,INTERF_NFE
WHERE
INTERF_NFE.IND_TIPO_PROCES = 'E' AND
N130XML.SEQNFE = INTERF_NFE.NUM_SEQ_NFE AND
N100XML.SEQXML = N130XML.SEQXML
1.3.2. Leiaute 3.10 ou superior
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,N130NFE
WHERE
N130NFE.TIPPRO = 'E' AND
N130XML.SEQNF3 = N130NFE.SEQNFE AND
N100XML.SEQXML = N130XML.SEQXML
1.4. Select que trará todos os XMLs da N100XML para uma NF-e de emissão específica (inclusive XML de CC-e)
1.4.1. Leiaute 2.0
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,INTERF_NFE
WHERE
INTERF_NFE.IND_TIPO_PROCES = 'E' AND
N130XML.SEQNFE = INTERF_NFE.NUM_SEQ_NFE AND
N100XML.SEQXML = N130XML.SEQXML AND
INTERF_NFE.NUM_DOCTO_FISCAL=<NUMERO DA NOTA>
1.4.2. Leiaute 3.10 ou superior
SELECT
N100XML.ARQXML,N100XML.BINARQ
FROM
N100XML,N130XML,N130NFE
WHERE
N130NFE.TIPPRO = 'E' AND
N130XML.SEQNF3 = N130NFE.SEQNFE AND
N100XML.SEQXML = N130XML.SEQXML AND
N130NFE.NUMNFE=<NUMERO DA NOTA>
Importante:
- Como os comandos retornam campos do tipo XML, não é possível, através destes comandos verificar informações específicas de cada NF-e, como, por exemplo, data de emissão da NF-e, chave de acesso, e valor total dela. Para verificar isso, o arquivo XML deve ser extraído do banco de dados e analisado conforme necessidade (ou seja montado comando select que efetue a extração destas informações do arquivo XML - se houver disponibilidade no banco de dados utilizado. Qualquer aprimoramento nos selects repassados deverá ser efetuado por um DBA);
- O campo ARQXML não é mais preenchido porque o banco de dados poderia alterar o conteúdo invalidando o XML. Desta forma foi criado o campo BINARQ que armazena o XML em formato binário, o conteúdo do arquivo XML da forma original;
- Os bancos de dados possuem funções que convertem o conteúdo binário para texto.