cancel
Showing results for 
Search instead for 
Did you mean: 

Erro NTB2B - email do fornecedor não informado.

former_member347027
Participant
0 Kudos

Boa noite senhores,

Segui o documento http://scn.sap.com/docs/DOC-31451 para criar o cenário NTB2B.

Porém estou tendo o erro no PI quando o email do fornecedor não é informado.

<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: no receiver address specified</SAP:AdditionalText>

Qual seria uma melhor forma de tratar isso?

Obrigado

Accepted Solutions (1)

Accepted Solutions (1)

rhviana
Active Contributor
0 Kudos

M Faria boa noite,

Você está em ambiente de teste ?

Se estiver, pergunte para equipe de infra se o ambiente de PI está habilitado para utilizar o servidor de SMTP para envio de e-mail.

Veja uma thread minha no forum global de PI, tive um erro parecido com esse no passado, e o erro era exatamente esse, PI DEV não tinha acesso para utilizar servidor de smtp.

http://scn.sap.com/thread/3317785

Abraço

former_member347027
Participant
0 Kudos

Obrigado pela resposta Ricardo,

Estou no ambiente de teste.

O PI esta habilitado para envio de e-mail.

Quando é encontrado email do fornecedor o cenário NTB2B funciona perfeitamente.

Esse erro acontece quando não é encontrado email pela BAdI.

Obrigado

rhviana
Active Contributor
0 Kudos

Maravilha entao Faria.

Repassa para o abap e pronto.

Sucesso !!!!!!

former_member347027
Participant
0 Kudos

Bom dia Ricardo,

Ai esta o problema.

Qual seria a melhor forma de tratar isso?

Quando o fornecedor não tiver email cadastrado o cenário NTB2B é startado e gera o erro no PI.

Tratar na BAdI pelo Abap ou no javamapping?

O correto seria o cenário não ser acionado quando não tem email cadastrado?

rhviana
Active Contributor
0 Kudos

Faria bom dia,

Como assim você não tem o e-mail cadastrado ?

Olha se eu entendi, o ideal é fazer um saneamento dos cadastros dos seus fornecedores no SAP, identificar qual tem e-mail cadastrado e ajustar, acredito que via badi não tem jeito, o ideal é algum abap responder, consegue ajudar ?

Cara o que você pode fazer como forma paliativa, é via javamapping, quando não encontrar o e-mail do fornecedor mandar para uma "caixa" de e-mail e parar os erros de PI, assim você consegue identificar os fornecedores também.

Abraços,

Ricardo Viana.

Former Member
0 Kudos

M Faria, boa tarde.

Se entendi corretamente, basta retirar o CNPJ do fornecedor da configuração para envio de emails no GRC NF-e que não será acionado.

Atenciosamente,

João Cataldi.

rhviana
Active Contributor
0 Kudos

Exato !


Basta retirar o CNPJ da configuração na SPRO, assim não vai gerar erros mais.

@Joao elite !!

Eu tinha esquecido desse detalhe rsrsrsrs.. faz tempoooo que não mexo no outbound b2b !! Em breveeee

Former Member
0 Kudos

Grande Ricardo,

Vamos ver se isto resolve o problema do M Faria.

Estou no aguardo também! hehe...

Abração!

former_member347027
Participant
0 Kudos

Obrigado pela resposta João!

Aqui não adotamos configurar os CNPJs na spro.

Utilizamos a configuração padrão.

"É possível efetuar uma configuração padrão. Para isso, crie uma entrada com um campo CNPJ em branco e código definido para a comunicação por via eletrônica. Isto ativa globalmente o envio para todos os parceiros de negócios."

Obrigado

Former Member
0 Kudos

Boa tarde M Faria,

Se você não optar por manter o cadastrado na SPRO para envio de emails acredito que a melhor saída seja a sugerida pelo Ricardo Viana e tratar via java mapping enviando para um email "dummy" quando não encontrar o endereço de email.

Abs

João Cataldi

Former Member
0 Kudos

Também me veio na cabeça, no próprio ABAP voce já retornar um email dummy, assim não precisa alterar o java mapping.

Abs

rhviana
Active Contributor
0 Kudos

Faria,

Porém como você não tem um saneamento dos cadastros de fornecedor e cliente, acredito que essa opção em branco não seria o ideal.

Se você não ira cadastrar os CNPJ's, recomendo você fazer uma validação no retorno da sua RFC chamada via javamapping, "Se o output da rfc estiver com e-mail em branco, enviar para email "dummy""

Faço isso assim:


if ( email.length() > 0 ){

                email += ";";

            }else {

                email = "nfe-empresa@xpto.com.br";

            }

Ai resolve o seu problema.

Abrasss

rhviana
Active Contributor
0 Kudos

Tb pode,

Fica a critério dele decidir isso, no abap eu diria que seria mais performático do que no java mapping..

Pois no java mapping teria que colocar uma validacao, como coloquei abaixo.

@Joao elite !!

Abrasss

Former Member
0 Kudos

Fala Ricardo,

o bom que você já da a solução pronta hehehe... show de bola.

Faria,

Eu acredito que tratar no ABAP é mais simples.

Caso opte pelo abap, apenas verifique se o campo ev_commparam é inicial após a chamada das funções Z's que determinam o email, se sim você move um email dummy.

Ainda sim recomendo utilizar o standard e cadastrar os cnpj's que devem receber o email na SPRO do GRC. Utilizando o standard este cenário não seria nem acionado.

Marque as respostas dos amigos que te ajudaram.

Abs,

João Cataldi

former_member347027
Participant
0 Kudos

Muito obrigado João e Ricardo!

Havia feito ontem como solução paliativa o email "dummy" no ABAP.

Pelo que verifiquei, a única maneira do cenário não ser acionado seria o cadastro dos CNPJs na SPRO.

[]'s

MArcelo

Answers (0)