cancel
Showing results for 
Search instead for 
Did you mean: 

NFe 10.0 B2B - Envio de NFes para as transportadoras via email

Former Member
0 Kudos

Olá!

Estamos tentando fazer o envio de NFes para as transportadoras via e-mail.

Os cenários B2B estão configurados e funcionando para o recebedor/comprador conforme o wiki:

SAP GRC NFE 10.0 - Outbound B2B ( XML + Corpo de texto) dinâmico

Porém, esse wiki não cobre o envio para as transportadoras.

Vimos algumas soluções aqui no SCN, tais como:

Two proxy messages (Interface NTB2B_procNFe_OB) for single NFE

Dynamic E-mail Determination Using New Features from SAP GRC NFE 10.0 and PI 7.1 Onwards

Mas são para o PI 7.1 pra cima, que já possuem a nova API de Mapping. A nossa versão é a 7.0.

A nossa dúvida é: se seguirmos a linha da implementação da BAdI, como recuperar o Communication Parameter (EV_COMMPARAM) no PI 7.0 e enviá-lo de alguma maneira para o Java Mapping?

Caso a implementação da BAdI não seja possível ou a melhor solução, alguma outra sugestão?!

Lembrando que estamos usando o Java Mapping para customização (assunto e texto) do e-mail.

Seguimos também uma sugestão de ler, na RFC chamada pelo Java Mapping, a tabela de histórico do B2B para saber se o envio do e-mail é para o recebedor/comprador (tipo 1) ou transportadora (tipo 3), porém depois de vários testes, percebemos que nem sempre o registro na tabela é inserido antes da execução do Java Mapping.

Podem nos ajudar?!

Accepted Solutions (1)

Accepted Solutions (1)

krishg
Active Participant
0 Kudos

Nossa solução foi utilizar a determinação do receptor para determinar se a mensagem está sendo encaminhada para 'portador' ou 'Receiver ". Você vai notar que NFE 10.0 colocar o CNPJ de roteamento como parte de sua mensagem proxy de saída.

Se você olhar na mensagem "cabeçalho SOAP procuração NTB2B_procNFe_OB 'de saída, você vai ver o seguinte,

- <SAP:Receiver>

   <SAP:Party Agency="" scheme="" />

   <SAP:Service> CNPJzzzz </ SAP: Serviço>

   <SAP:Interface Namespace="" />

   </ SAP: Receiver>

   <SAP: namespace interface = "*" </ SAP: interface>

   </ SAP: Principal>

Onde CNPJzzzz poderia ser o transportador ou comprador. Uma vez que você conhece o id CNPJ para que as mensagens são enviadas, é muito simples de obter os ids e-mail para a transportadora.

Usamos determinação receptor para escrever o serviço do receptor para o parâmetro de configuração dinâmica. Em nosso mapeamento ABAP, fomos capazes de recuperar o parâmetro de configuração dinâmica e foi capaz de determinar se a mensagem é para o comprador ou transportador / expedidor.

Como resultado, nós podemos encaminhar corretamente as mensagens.

Answers (5)

Answers (5)

Former Member
0 Kudos

Oi Rodrigo

Favor encerrar a thread!

Grato

Eduardo Chagas

0 Kudos

Oi Rodrigo, tudo bem?

Estou em um cliente com o mesmo "problema" o PI está na versão 7.0, e os e-mails estão sendo duplicados, poderia compartilhar a solução mais detalhada que você utilizou? Obrigado.

Former Member
0 Kudos

Olá Flávio,

Você descobriu a causa dos e-mails duplicados?

Estou com um ambiente aqui na empresa que tem essa situação.

Eu não consigo identificar qual é o problema que está ocorrendo.

Obrigado.

Former Member
0 Kudos

Boa tarde pessoal!

Conseguimos resolver o problema com a ajuda do Krish Gopalan!

Utilizamos Enhanced Receiver Determination + UDF para determinar o e-mail do destinatário, seja ele recebedor/comprador ou transportadora...

No UDF, setamos a variável THeaderTO através de Dynamic Configuration com o e-mail que é retornado por uma RFC...

Obrigado pela ajuda a todos!

rhviana
Active Contributor
0 Kudos

Show de bola Rodrigo,

Deveria fazer uma wiki ou blog da solução.

Malz sobre o meu javamapping não ter ajudado.. é que não era preciso CTe naquele cliente.

Abracos,

Former Member
0 Kudos

Olá Rodrigo,

É possível você compartilhar a sua solução?

Estou com a mesma dúvida de como utilizar o parâmetro EV_COMMPARAM na BADI para enviar o e-mail ao destinatário ou transportador.

Hoje mandamos o e-mail para os 2 juntos, mas como ele é processado 2 vezes, eles estão recebendo o email duplicado.

Muito obrigado.

rhviana
Active Contributor
0 Kudos

Rodrigão,

O que você precisa fazer meu brother ?

Você querr apenas mandar o XML da nota para as transportadoras ou o CTE ?

Se for apenas o XML a minha solução atende mais você iria precisar fazer ajustes simples...

Att,

Ricardo Viana

Former Member
0 Kudos

Oi Rodrigo

Veja o wiki abaixo para mapear para transportadoras.

http://wiki.sdn.sap.com/wiki/x/rIC6Cw

Abraço

Eduardo Chagas

Former Member
0 Kudos

Oi Eduardo!

Já tinhamos visto esse wiki... Acontece que na nova versão, o cenário B2B é chamado duas vezes, uma para o comprador e outra para a transportadora, essa segunda chamada só ocorre de houver transportadora realmente.

Pelo que puder ver nesse wiki, o e-mail para o comprador e para transportadora é enviado ao mesmo tempo, no mesmo e-mail... E como o cenário é chamado duas vezes, o e-mail irá duplicado... Certo?

Former Member
0 Kudos

Dê uma olhada na nota...

https://service.sap.com/sap/support/notes/1525562

Aproveite e veja também as recentes notas liberadas no SP13 e 14:

https://service.sap.com/sap/support/notes/1784095

https://service.sap.com/sap/support/notes/1830672

Abraço

Eduardo Chagas

Former Member
0 Kudos

Oi Rodrigo

Não sei se entendi. Você quer fazer o envio para a transportadora mas ela não está definida como um parceiro transportador na nota fiscal. Isso?

Abraço

Eduardo Chagas

Former Member
0 Kudos

Não não... A transportadora está sim definida como um parceiro na NFe, não é o mesmo CNPJ do comprador e está com B2B cadastrado e ativo...

Já estamos no SP13... Quanto a primeira nota que você indicou, essa solução é para NFe 1.0, li que o B2B sofreu algumas alterações na 10.0. Essa nota referencia esse wiki que já tínhamos visto também:

NFE Outbound B2B - Sending the XML to Buyer and Carrier using Enhanced Receiver Determination

Mesmo sendo outra versão, esse wiki ainda atende?

Outro ponto, no monitor Web Dynpro do GRC, é possível enviar o XML tanto para o comprador/recebedor quanto para a transportadora, porém um de cada vez. O cenário utilizado é mesmo independente de quem seja o destinatário, só muda o parâmetro (IV_SCENARIO) passado para a BAdI /XNFE/EMAIL_B2B_OUT.

A dúvida é como recuperar o parâmetro de saída (EV_COMMPARAM) dessa BAdI e recuperá-lo no Java Mapping...

krishg
Active Participant
0 Kudos

Determinação receptor estendida está disponível a partir de Apoio pack 7 para PI7.0.

Se você tiver o pacote de suporte mais recente, em seguida, usando a determinação Receiver estendida é a melhor opção.

Outra alternativa é escrever para tabelas de banco de dados (o que você estava tendo com falha). Tente usar bloqueios exclusivos feitos sob encomenda no id NFE (para ver se ele iria resolver o problema do banco de dados que você estava tendo com a RFC lookup).