Skip to Content
avatar image
Former Member

Múltiplas NFes de entrada em um email

Boa tarde senhores,

Há algumas semanas percebi que a implementação "padrão" que fizeram da NFe de entrada considera apenas uma nota por email (unbelievable!). Além disso, pega o primeiro anexo e toca ficha... se esse primeiro anexo for o pdf com a danfe, crash, óbvio.

Dei uma vasculhada no fórum e ninguém parece ter discutido sobre isso (ou cada um fez o seu e ficou por isso mesmo). Se alguém já teve de consertar isso e quiser partilhar a experiência, fique à vontade.

Se ninguém tiver feito isso ainda, vou começar a fazer amanhã um adpater module pra tratar vários xml's de entrada. Quem quiser ajudar fique à vontade, vou postando aqui o progresso.

T+

Waldemar

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

15 Answers

  • Best Answer
    Mar 29, 2011 at 12:54 PM

    Henrique,

    Você tem razão, mas neste caso estamos lidando com dois cenários:

    - Email to File (Custom);

    - File to AbapProxy (Standard NFEB2B);

    Já no primeiro cenário o Adapter Module faz a leitura dos anexos, o mapping faz o split para multiple messages e um canal file escreve os XMLs no diretório de destino. Funciona sem problemas.

    []´s

    Marlo Simon.

    Add comment
    10|10000 characters needed characters exceeded

    • Oi Waldemar,

      muito estranho vc ter erro de permissão no rich text mas não no markup.

      Poderia por favor me mandar por email prints da mensagem de ero?

      Deveria funcionar pros 2.

      E com relação a fazer upload de imagens, dentro do seu wiki, tem uma aba attachments, basta vc ir nela, fazer upload das imagens. E no markup do wiki, vc coloca a imagem assim:

      !exemplo.jpg!

      (com as exclamações).

      Abs,

      Henrique.

  • Mar 10, 2011 at 08:46 PM

    Waldemar,

    já discuti o tema com diversos parceiros, a maioria offline (i.e. nao pelo fórum), e alguns até se comprometeram a jogar aqui o código que utilizaram em seus modules de tratamento de múltiplos anexos. Mas até agora ninguém o fez de fato (sei como é, prazo e tal).

    Se tiveres alguma dúvida no desenvolvimento, podemos trocar figurinhas, claro, e se pudesse jogar o resultado aqui no SCN (em um wiki por exemplo) seria ótimp. 😊

    Abs,

    Henrique.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 11, 2011 at 04:22 AM

    Bom dia Waldemar,

    Totalmente apoiado, as discussões neste sentido aqui realmente ficaram até o ponto do entendimento. Um outro caso também relacionado é o recebimento de vários XML's num arquivo compactado.

    De antemão a sua contribuição já terá um lugar reservado no "Leia Antes de Postar".

    Além do Wiki geral de NF-e.

    Agradecidamente, Fernando Da Ró

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 14, 2011 at 08:20 PM

    Fala pessoal, nessa eu posso ajudar!

    Tem como DEBUGAR SIM! Mas você vai precisar de algumas coisas...

    Um Custom Adapter Module nada mais é que um EJB Stateless portanto é possível através de uma conexão remota com a JVM do Stack Java.

    Você vai precisar que:

    - O stack Java esteja em modo Debug;

    - Configurações de J2EE Server no NWDS;

    - Configurações de Debug - Remote Java Application

    Seguem links que mostram todo o caminho das pedras.

    - Remote Debugging in the SAP NetWeaver Developer Studio

    - Debugging Java EE Applications (SAP Library - Developing Java EE 5 Applications)

    Boa sorte,

    Marlo Simon

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Bom dia senhores,

      Então, no meio dos incêndios, vamos continuar a brincadeira.

      Marlo, eu já tinha imaginado que existia uma forma, e mesmo sem ter encontrado a documentação (li agora) estava seguindo o mesmo princípio do debug remoto pra webdynpro (conheço umas fumaças de webdynpro, não sou expert). Pedi ao basis de PI pra setar o debug mode on e depois de alguns percalços, o server está "debugable".

      O detalhe é que quando eu vou criar uma configuração de debug j2ee, ao tentar selecionar o ear, simplesmente não aparece ear nenhum na lista (no manual está lá bonitinho, rsrs). Tenho abertos os dois projetos, o do ejb module e o do enterprise aplication. Já fechei e abri os dois várias vezes (nwds inclusive), mas nada de o enterprise aplication project aparecer na aba web object da configuração do debug. Tens alguma sugestão do que pode estar faltando?

      Abraço!

      Waldemar

  • Mar 14, 2011 at 08:45 PM

    Henrique,

    É preciso fazer um "live test" via PI:

    - Deploy do AM (Adapter Module) feito no Web AS;

    - AM configurado no Communication Channel;

    - No NWDS: Breakpoints, Debug conectado;

    - Envie um email para caixa de destino das Nfe's, espere o tempo do pooling (ou stop/start no CC Monitor);

    - Game On!

    []´s

    Marlo Simon

    PS: Vou juntar meu material de AM e postar no Wiki. Que tal até a semana que vem?

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 28, 2011 at 08:37 PM

    Waldemar,

    Não precisa ir tão longe. Para dividir o seu xml em várias mensagens você precisa apenas de um message mapping split de 1:n.

    Edite o seu MM e na aba Messages mude a Ocurrence da Target Message para 0..Unbounded. Agora volte para a aba design, faça o mapping usando como mudança de contexto o Message Type original.

    Link de Referencia:

    #Cancelamento

    Além da tag "".

    Vou postar alguma coisa sobre a solução no Wiki em Português, podemos ir melhorando com a experiência de mais membros da comunidade.

    []'s

    Marlo Simon

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 05, 2011 at 01:30 PM

    Blz Waldemar,

    Recapitulando a solução.

    No cenário em que o adapter checa todos os payloads por XML válidos e cria um novo mainpayload com várias NFe's você já usa um Inteface Mapping. Neste IM adicione um Message Mapping com a mensagem de entrada com 1:N no formato de uma nova mensagem de saída.

    Se o formato da nova mensagem é:

    <Message><nfeProc> ... </nfeProc></Message>

    Esta mensagem de saída contém todo o XML dentro da tag <nfeProc/>; e esta tag você usa no para escrever o File.

    []´s

    Marlo Simon.

    Interessante: Para o tratamento de erros que vão aparecer no dia a dia este modelo de dois cenários é muito mais simples de depurar.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 16, 2011 at 01:31 PM

    Waldemar,

    Verdade, com WD4Java é um processo semelhante. Acho que o teu NWDS está de mal humor 😉

    Normalmente na configuração do debug, Project > Browse, seria suficiente para encontrar o teu projeto EJB do adapter. Não esqueça de verificar na aba "Source" se o seu projeto está listado, senão inclua.

    []´s

    Marlo Simon.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 21, 2011 at 02:10 PM

    Bom dia senhores,

    Não existe a previsão de disponilização de Nota SAP para esse problema ?

    Grato,

    Regis Ferrato

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Bom dia,

      Temos o mesmo problema com multiplos arquivos em um e-mail.

      Em nosso projeto teremos que fazer um "GAP" para tratar isso.

      Alguém sabe se a SAP ja liberou ou está para liberar este tratamento em alguma nota ou versão do GRC?

      Grato

  • Mar 29, 2011 at 01:19 PM

    Waldemar,

    Segundo o comentário do Henrique no último post, tem que testar para fazer sem BPM ou crie seu BPM e seja feliz.

    No final das contas fica a critério do desenvolvedor. Para mim separar o problema em dois cenários torna a resolução de problemas mais simples.

    Problemas é o que não vão faltar neste cenário, como costumo dizer "E-mail foi feito para humanos, não para sistemas".

    Na prática apenas 90-95% dos emails são legíveis o resto sobra como um backlog a ser tratado.

    []´s

    Marlo Simon.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Henrique Pinto

      Henrique, concordo com relação ao email. E sim, nossos problemas são com emails gerados por humanos... af, essees humanos, rsrs. Nossos parceiros que enviam emails via sistema se encaixam perfeitamente no cenário standard.