cancel
Showing results for 
Search instead for 
Did you mean: 

Exportar/Salvar XML das DANFEs em MASSA

Former Member
0 Kudos

Prezados,

Gostaria da ajuda de vcs, precisamos exportar os XML das DANFEs de um determinado período, pois a receita está nos auditando. (fomos intimados a entregar os arquivos XML)

Como poderia fazer isto em massa? O único caminho que conheço é fazendo o "download" pelo monitor de NFe, clicando no botão "Download XML"

Ja procurei nota na sap, e alguns foruns e não encontrei o caminho das pedras, alguem sabe me dizer se existe essa opção de exportação em massa do XML? Ou como fazer?

Estamos usando a solução GRC/PI da SAP.

Obrigado pela ajuda!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Legal Pessoal.

Agradeço a ajuda, me deu uma boa noção do que fazer.

Abusando da boa vontade, será que alguem teria ai o fonte Z para me passar para dar uma estudada e passar pra um abap ?

Obrigado!

Former Member
0 Kudos

Ariel, boa tarde.

Segue uma função Z que achei aqui....junta com os filtros do REPORT e já esta meio caminho andado....:-)

FUNCTION Z_DOWNLOAD_XML_OUT.

*"----

-


""Interface local:

*" IMPORTING

*" VALUE(IV_NFEID) TYPE /XNFE/ID

*" VALUE(IV_VERSNUM) TYPE /XNFE/VERSNUM DEFAULT 001

*" VALUE(IV_TYPE) TYPE /XNFE/TYPE DEFAULT 1

*" VALUE(IV_TPEMIS) TYPE /XNFE/NFE_TPEMIS DEFAULT 1

*" EXPORTING

*" VALUE(EV_STRING) TYPE STRING

*" EXCEPTIONS

*" NO_CONTENT

*"----

-


DATA: lv_docid TYPE sdok_docid,

L_dokobject TYPE sdokobject.

DATA: ls_dokobject TYPE sdokobject.

SELECT single docid

FROM /xnfe/xml

INTO lv_docid

WHERE id = iv_nfeid

AND versnum = iv_versnum

AND type = iv_type.

IF lv_docid IS NOT INITIAL.

ls_dokobject-class = '/XNFE/XML1'.

ls_dokobject-objid = lv_docid .

CALL FUNCTION '/XNFE/CORE_KPRO_XML_READ'

EXPORTING

is_dokobject = ls_dokobject

IMPORTING

ev_content = EV_STRING

EXCEPTIONS

no_existing = 0

no_authorization = 0

no_content = 0

read_failure = 0

convert_failure = 0

OTHERS = 0.

IF EV_STRING IS NOT INITIAL.

ELSE.

RAISE no_content.

ENDIF.

ENDIF.

ENDFUNCTION.

Answers (2)

Answers (2)

Former Member
0 Kudos

Pessoal... agradeço a todos pela força, em especial ao Bernardo.

Obrigado pela força e pela prontidão na ajuda...

Espero poder colaborar também com a comunidade

Former Member
0 Kudos

Senhores,

Estou fazendo a seleção do XML, como foi dito acima e trago os dados do XML para o R/3, porém executo a fução GUI_DOWNLOAD para fazer o download (filetype = 'ASC', estou fazendo o download pela função /XNFE/CORE_KPRO_XML_READ e pegando os dados da estrutura EV_CONTENT (ascii)).

Porém, após salvar o arquivo, e tentar abri o arquivo, aparece a mensagem:

"A página XML não pode ser exibida . Não é possível exibir a entrada XML usando a folha de estilos XSL."

Alguém saberia me ajudar?

Obrigado,

former_member182114
Active Contributor
0 Kudos

Bom dia Daniel,

Por favor não poste seu problema em threads de problemas resolvidos.

Crie uma NOVA thread, pode referenciar esta se quiser como exemplo.

Dê detalhes suficientes para entender o que está acontecendo. Versão de SO, release do SAP...

Atenciosamente, Fernando Da Ró

former_member182503
Active Contributor
0 Kudos

Boa tarde Mozart,

Acredito que você tenha que desenvolver um report Z dentro do GRC.

Para ler o XML do KPRO, use a função /XNFE/CORE_KPRO_XML_READ, preenchendo o campo IS_DOKOBJECT-CLASS com o valor '/XNFE/XML1' (sem as aspas) e no campo IS_DOKOBJECT-OBJID, você tem que colocar o valor encontrado no campo da tabela /xnfe/xml-docid.

Ou seja, para selecionar as notas, primeiramente, selecione as notas pelos parametros da tabela /xnfe/nfehd, encontre o access key, com o access key vá na tabela /xnfe/xml e pegue o campo docid para, aí sim, chamar a função /XNFE/CORE_KPRO_XML_READ

Com isso, você consegue, ao fim, você pode gravar em um arquivo em algum diretório do application server/workstation com o conteúdo das estruturas EV_CONTENT (ascii) e EV_XCONTENT (binary).

[]'s

Edited by: Jose Nunes on Apr 29, 2010 2:01 PM

Former Member
0 Kudos

Exato.

Aqui fizemos um report Z que possui como entrada:

dataInicio (/XNFE/NFEHD-CREATETIME), dataFim (/XNFE/NFEHD-CREATETIME), CNPJ destinatário ( (/XNFE/NFEHD-CNPJ_DEST)

Recupera as chaves (/XNFE/NFEHD-ID) e executa o procedimento que o Jose Nunes postou.

Tem 2 opções, enviar por e-mail ou gravar em um diretório local as notas.

At.,

Bernardo Braga

Edited by: Bernardo Braga on Apr 29, 2010 9:56 PM