Financial Management Blogs by Members
Dive into a treasure trove of SAP financial management wisdom shared by a vibrant community of bloggers. Submit a blog post of your own to share knowledge.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
2,901

Sumário:

Este documento descreve a criação de uma interface que receberá vários anexos em um email, irá capturar apenas os anexos do tipo XML via java mapping, e gerar em forma de String em um unico arquivo, o intuito do documento não é descrever criação de canais de comunicação e integration builder.

Introdução:

A partir da versão 7.1 do PI contamos com recursos que nos permitem acessar os anexos de uma mensagem via Java mapping.

Pré-requisitos:

Netweaver  Developer Studio

Libs para Java Mapping

External definition ximail importada no SWCV

Canais de comunicação Email(Sender) e File(Receiver) devidamente configurados


Passos da implementação:

1. Design:

1.1 Data Type:

Crie um data type que receberá as Strings dos anexos, conforme abaixo:

  

1.2 Message Type:

Crie um message type com o DT_MultiAttachments:

    

1.3 Services Interfaces

Outbound: Crie um Service Interface Outbound e referencie a external definition xiMail:

    


Inbound: Crie um service interface Inbound com o message type MT_MultiAttachments:

    

1.4 Operation mapping: Criar um Operation Mapping: no Source Operation insira o Service Interface MFB2B_MailPackage_OB, e Target Operation insira o Service interface MFB2B_MultipleAttachments_IB

     


Note que o Mapping Program é um Java Mapping, este Java Mapping acessa os anexos da mensagem pela interface   inputattachments e seus métodos, para que o anexos da mensagem estejam disponíveis você DEVE selecionar a opção “Read Attachments” no Operation Mapping.

As referencias para o código do Java Mapping são:

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

yugapreetha.t/blog/2009/08/24/read-the-attachments-of-the-input-xi-message-in-the-message-mapping

Apesar da Thread ser sobre B2B Outbound, o código do Java Mapping está praticamente igual ao da Thread, apenas adicionei o que preciso, como, formatar o payload de saída, incluir a string da NF-e no payload de saída, verificação do tipo do arquivo, e nome do arquivo dinâmico com o campo “From” do email, você encontra o código usado neste exemplo no arquivo anexo SDN_getAttachments.txt.

2. Configuration

2.1 Neste passo apenas crie o Scnario para sua interface de modo que a interface Sender seja MFB2B_MailPackage_OB e a interface receiver MFB2B_MultipleAttachments_IB, o objetivo deste documento não é descrever a configuração de uma interface simples mail to file, apenas tenha certeza de ter o flag "Keep Attachments" em seu canal mail sender.

3. Execução:


          3.1 Enviando email com xml`s anexados

            

          3.2 SXI_MONITOR

     

       Mail package e anexos:

      


     Trace:

    

     Mensagem de saida:

       

Repare no Pipeline que apesar de ter colocado a string da nota no payload principal a mensagem ainda contém anexos, na Thread mencionada para criação do java mapping você tem um exemplo de como remove-los, você também consegue buscar o conteúdo do arquivo codificado em BASE64 através do método getBase64EncondedContent.

    

     3.3 Arquivo no servidor

           

          3.4 Arquivo

           

7 Comments