Esta série de duas partes apresenta uma implementação end-to-end no Azure Logic Apps que integra o SAP built-in connector com um pipeline de validação e análise assistido por AI. Nosso foco aqui não é apenas a conectividade básica, mas a criação de uma arquitetura robusta que gere resultados acionáveis a partir de fluxos de dados complexos.
1. Introdução
Visão Geral do Cenário
O cenário é comum em ambientes corporativos que dependem de SAP: um Logic App processa documentos CSV, envia para o SAP e recebe um documento estruturado com análises (tendências de mercado, predições e recomendações). O dado transita entre SAP e Logic Apps via RFCs, garantindo que o processamento só ocorra após a validação de regras de negócio.
O que este artigo aborda
Focamos na engenharia necessária para um pipeline de alta disponibilidade:
- Invocação de SAP RFCs e callbacks de workflows via SAP.
- Uso do trigger do SAP built-in connector.
- Manipulação de IDocs e retorno estruturado de exceções.
- Padrões de Data Manipulation (XPath, JavaScript inline).
2. Workflow de Origem
Este é o pipeline "sender": lê arquivos CSV do Azure Blob Storage, converte para o formato XML esperado pelo RFC via JS/XPath e gerencia o fluxo de sucesso/erro.
O design foca na estabilidade: o contrato de transporte CSV permanece estável e a resposta do RFC serve como source of truth.
3. Suporte ao SAP
O SAP/Logic Apps boundary é modelado usando a estrutura ZTY_CSV_LINE (CHAR2048), isolando o SAP do schema do arquivo. A comunicação entre SAP e Azure é via SM59 (Registered Server Program), onde o Program ID e o SAP Gateway fazem a ponte.
4. Workflow de Destino
O workflow de destino é um pipeline estagiado: guarda, normaliza, valida (com o agente) e ramifica entre tratamento operacional e análise.
5. Tratamento de Exceções
Tratar erros no conector como "ruído" é um erro comum. Aqui, adotamos três estratégias:
- Default Exception: O caminho mais simples usando
SENDEXCEPTIONTOSAPSERVER. - Named Exception: Maior controle de roteamento via ABAP.
- Message Class Exception: Integração nativa com o catálogo
T100do SAP.
6. Tratamento de Respostas
O fluxo é consolidado em uma variável única no Logic App que decide o sucesso ou falha com base no response, garantindo que o SAP receba um retorno determinístico.
7. Workflow de Destino #2: Persistência de IDocs
Opcionalmente, o sistema pode persistir linhas rejeitadas como IDocs para reprocessamento futuro, provendo rastreabilidade via ET_DOCNUMS.
8. Considerações Finais
Estabelecemos uma base sólida. Na parte 2, aprofundaremos na camada de IA, gestão de estado e refinamento do prompt do agente.
Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.