on 05-17-2012 1:34 AM
Boa noite a todos,
Novamente venho a este espaço para solicitar ajuda dos colegas.
Temos clientes do setor automotivo que nos solicitam que enviemos os arquivo XML da NFe pelo sistema de EDI e para isso faziamos download automatico do arquivo utilizando a função /XNFE/CORE_KPRO_XML_READ.
Acontece que ela depende de um campo que vem da tabela /XNFE/XML chamado DOCID e agora que estamos utilizando o
GRC 10, esse campo esta em branco, fazendo com que a função não traga mais nenhum conteúdo.
Já me sugeriram utilizar o campo /XNFE/XML-XMLSTRING, mas para isso são necessárias conversões.
Alguém sabe me dizer quais funções utilizar para, utilizando o campo /XNFE/XML-XMLSTRING, eu conseguir gerar fisicamento o arquivo XML?
Agradeço antecipadamente pela ajuda.
Helio Camargo
ZF do Brasil
Solucao é usar a funçao abaixo para notas criadas após migração:
CALL FUNCTION '/XNFE/XML_XSTRING2STRING'
EXPORTING
INXSTRING = CAMPO_XMLSTRING
IMPORTING
OUTSTRING = XML_GERA.
Coloca no codigo algo do tipo: se DOCID estiver preenchido, busca da KRPO, senao, busca pela função acima.
obs.: Se quiser pode acdicionar o seguinte codigo ao XML gerado pela função (pois nao vem via standard):
CONCATENATE '<?xml version="1.0" encoding="UTF-8"?>' XML_GERA INTO XML_GERA.
At.,
Bernardo Braga
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
kkk..nada....Gênio é quem resolver meu problema de B2B nessa thread...rsrsrs:
http://scn.sap.com/thread/3176961
At.,
Bernardo Braga
Bom dia Helio,
Dê uma olhada na função /XNFE/READ_XML, ela faz a lógica de tratar KPro ou tabela e te responde com o XML.
Atenciosamente, Fernando Da Ros
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Desculpem a minha ignorância em PI! Mas não é possivel fazer essa configuração no mesmo? Digo ter um receiver determination para cada parceiro e por sua vez um communication channel definindo o protocolo de comunicação? Entendo que seria uma manutenção complexa, digamos assim!
Mas não é possível fazer isso?
Abraço
Eduardo Chagas
Eduardo,
sinceramente não sei te dizer.
Essa possbilidade nunca nos foi mencionada e eu nunca tive tempo para pesquisar com outras empresas se existe alguma alternativa ao que fazemos.
A maneira como voce faz é interessante, mas faria aumentar nossos custos com a nossa VAN, que nos cobra por nota transmitida.
Abraço
Helio
Curiosidade... por que não tratam diretamente no PI para salvar o arquivo XML em uma pasta na rede?
Grato
Eduardo Chagas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Olá Eduardo,
sua curiosidade procede.
Na realidade esses clientes que querem o arquivo fisicamente são minoria, 90% dos nossos arquivos são enviados automaticamente por e-mail.
Na época da implantação do GRC aqui fizemos esse questionamento à consultoria e nos foi dito que, pelo standard, não conseguiriamos segregar os clientes que iriam por e-mail e os que receberiam fisicamente, ou seja, no começo mandavamos e-mails e gravavamos fisicamente todos os arquivos, o que tornava a coisa meio complicada para separar somente os arquivos que nos interessavam.
A justificativa era que nosso cenario (4 SAPs ligados a um único GRC) não permitia essa segregação (quem recebe arquivo, quem recebe e-mail). Foi ai que decidimos que quem precisasse de arquivo por EDI faríamos o download por abap na impressão da nota e deixariamos o envio automatico somente para os que recebem por e-mail.
At.
Helio
Olá Helio,
Pela informação que tenho as notas novas não são mais armazenadas no KPRO.
No GRC 10 existe a possibilidade de download em massa das NF-es.
Fiz um breve debug do standard, segue as informações para ajudá-lo:
1) Logue no servidor GRC.
2) Coloque um break-externo na função: /XNFE/OUTNFE_XML_MASS_DATA.
3) Clique no menu na primeira tela do SAP: User menu for SEU_USUARIO_SAP-->Administration-->Archiving-->Download Archived XML
4) Irá abrir o monitor Web (Download XML Files) no browser igual ao formato abaixo:
http://<servidor>:<porta>/sap/bc/webdynpro/xnfe/download_mass_xml?sap-language=EN
5) Nesse caso escolhi a opção: Outgoing NF-es.
6) Informe a data no filtro de seleção e clique no botão "Download XML Files".
7) Ao iniciar o debug, saia da função /XNFE/OUTNFE_XML_MASS_DATA que irá chamar o método PREPARE_OUTNFE_DOWNLOAD da classe /XNFE/CL_XML_MASS_DATA_ASSIST.
Analise o código standard, esse método adiciona vários XMLs encontrados em um .ZIP para download.
Att,
Bruno Xavier.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Obrigado pela resposta Bruno,
Eu já conhecia esse esquema de download em massa.
O problema é que temos que gerar o arquivo individualmente no momento da impressão da Danfe e para isso tinhamos, dentro do programa de impressão, uma chamada para outro programa que fazia o download individual do arquivo para uma area share do servidor.
Essa automação não pode ser perdida pois são muitas notas diariamente e o arquivo não pode estar compactado.
Não sou especialista em abap mas, pelo que me disseram, essa string é o conteúdo do XML só que em formato hexadecimal e precisaria haver uma conversão.
Será que existe alguma função abap que faça esse conversão?
Já testei algumas funções como, por exemplo, a SCMS_STRING_TO_FTEXT e não funcionou.
Voce tem alguma dica?
Obrigado
Helio
User | Count |
---|---|
13 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.