Destaque do Tópico
O objetivo desta postagem no blog é fornecer informações detalhadas sobre:
-
Como descompactar um arquivo .zip contendo um arquivo XML e vários arquivos PDF e enviar um e-mail com o conteúdo do arquivo XML no corpo do e-mail e os arquivos PDF como anexos
-
Configurações e desenvolvimento necessários no SAP PI para alcançar este cenário
Declaração do Problema
Arquivos de Fatura / Arquivos de Relatório de Serviço, comprimidos em um único arquivo .zip, são enviados ao sistema de middleware (PI) por um sistema de terceiros.
O zip contém um arquivo .xml e vários arquivos .pdf em sequência.
O PI deve realizar as seguintes etapas:
-
Descompactar o arquivo .zip
-
Usar o arquivo .xml para ler os parâmetros relacionados ao e-mail: remetente, destinatário, assunto, corpo do e-mail, etc. e enviar um e-mail usando o Adaptador de E-mail com esses atributos de e-mail
-
Usar os arquivos .pdf para enviá-los como anexos no mesmo e-mail com os conteúdos acima
Abordagem para Encontrar uma Solução
Solução
Poderia ter sido implementado um Mapeamento Java onde o código Java descompactaria facilmente o arquivo .zip e enviaria os arquivos individuais por e-mail, atendendo assim a todos os requisitos.
No entanto, o requisito é atendido considerando o uso máximo das características padrão disponíveis no SAP PI.
Detalhes da Interface
-
O arquivo .zip é enviado do Terceiro Sistema para um Diretório de Arquivos PI via OpenFT (Transferência de Arquivos Aberta)
-
O Adaptador de Arquivos do Remetente PI monitora este diretório e coleta o arquivo .zip
-
O Módulo Padrão SAP PayloadZipBean descompacta o arquivo .zip em um Arquivo XML e Arquivos PDF
-
O Mapeamento de Operação lê o Arquivo XML para preparar o Corpo do E-mail usando o pacote de correio como estrutura receptora
-
Os arquivos PDF são enviados como anexos aos destinatários do e-mail através do adaptador de e-mail
Pré-requisitos
-
Conhecimento prévio sobre desenvolvimento e configuração do SAP PI
-
Módulos/Beans padrão fornecidos pela SAP
Passos de Design ESR
Estrutura de Origem:
A estrutura de origem é baseada no arquivo XML recebido do sistema de terceiros. Abaixo está a estrutura criada com os campos de informações de e-mail destacados.
Estrutura de Destino
: O pacote de correio é utilizado para a estrutura receptora, cuja definição externa está disponível gratuitamente.
Interface de Serviço
Crie a Interface de Serviço de Saída e Entrada correspondente para o XML de Origem e o Pacote de Correio XSD de Destino.
Mapeamento de Mensagens
Crie um Mapeamento de Mensagens para mapear os campos-chave na estrutura do Pacote de Correio com os dados que vêm do arquivo XML como mostrado abaixo:
Mapeamento de Operações
Crie um Mapeamento de Operações atribuindo as respectivas Interfaces de Serviço e Mapeamento de Mensagens.
O detalhe chave a ser observado aqui é a caixa de seleção
Ler Anexos