Voltar

Middleware SAP CRM: Introdução


O Middleware é um módulo presente no SAP CRM que permite a integração com outros sistemas SAP (R/3, CCS, BW e outros). Através do Middleware é possível controlar quais dados devem trafegar para dentro e para fora do sistema CRM e também acompanhar o processo de transferência dos dados. A troca de dados entre o Middleware CRM e sistemas externos é realizada através de adaptadores. Os adaptadores servem para mapear e converter dados entre vários formatos distintos. Para controlar o envio e recebimento de informações, o Middleware utiliza filas de entrada (transação SMQ2) e filas de saída (transação SMQ1). Os dados são enviados através de RFC (Remote Function Calls).

A figura abaixo demonstra o funcionamento:

Funcionamento Middleware CRM
Funcionamento Middleware SAP CRM

Existem dois tipos de filas no Middleware CRM:

  • Inbound Queues: filas de entrada (transação SMQ2);
  • Outbound Queues: filas de saída (transação SMQ1).


Transferência de dados do Middleware


Os objetos de carga que trafegam no Middleware são transferidos entre um sistema de origem e de destino, por exemplo, entre um R/3 SAP Backend e o servidor CRM. Por exemplo: Dados-mestres de Parceiros de Negócios (PN).

Tipos de transferência de dados:
  • Initial Load: a carga é realizada na criação do ambiente. Todos os dados são transferidos do CCS para o CRM. É a carga realizada no cutover, onde todos os objetos são transferidos: Parceiro de Negócios, Conta-Contrato, Objetos de Ligação e outros;
  • Delta Load: a carga é realizada durante a utilização do sistema. Usuário altera as informações no CCS e os dados são replicados para o ambiente CRM;
  • Upload: a carga é realizada durante a utilização do sistema. Usuário altera as informações no CRM e os dados são replicados para o ambiente CCS;
  • Request: reutiliza o mesmo framework da carga do Initial Load, geralmente é realizado sob demandapara fins específicos, como correção de erros de replicação.


Dados-Mestres


Dados-mestres são os dados estruturados do SAP, que no contexto do artigo, são sincronizados através do Middleware CRM. Eles contêm as informações necessárias para os processos de negócio sobre os clientes, fornecedores, produtos, locais, etc. Nesse artigo estamos considerando a integração entre o ambiente SAP CRM e o SAP CCS, que é o módulo de Utilities da SAP, contemplando os serviços públicos tais como fornecimento de energia, gás, saneamento básico e outros.

Os principais dados-mestres presentes no CRM para o cenário em questão são:
  • Parceiros de Negócios ou Business Partners: são os clientes, empregados, fornecedores e outros atores que interagem com o sistema. No caso do Middleware CRM, são os clientes;
  • Acordos de Negócio ou Business Agreements: contém os dados de pagamento do parceiro de negócios. Um acordo de negócio pode possuir diversos contratos;
  • Contratos ou Contracts: estão associados a um acordo de negócios e controlam o período de fornecimento do serviço e outras informações, tais como dados financeiros, etc. Um acordo de negócios pode possuir diversos contratos e cada contrato está associado a uma instalação;
  • Objetos de Ligação ou Connection Objects: é um edifício, uma propriedade ou outra área que está ligada à rede de abastecimento;
  • Points of Delivery ou Locais de Consumo:uma unidade de espaço para a qual é fornecida energia, tal como um apartamento ou uma fábrica. Um objeto de ligação pode ter um ou mais locais de consumo;
  • Instalações: são os equipamentos instalados no local de consumo para realizar a medição. No caso da Cemig, são os relógios que registram o consumo de energia.

Dados-mestres SAP CRM e SAP CCS
Dados-mestres SAP CRM e SAP CCS

BDocs


Para enviar as informações, o Middleware utiliza um container chamado BDoc. BDoc significa Business Document e nele estão contidos os dados de objetos de negócio e a descrição desses dados, de forma que o sistema de destino consiga traduzir as informações recebidas.
As classes de BDocs existentes são:
  • mBDoc: Messaging BDocs, são utilizados para a transferência de dados através do Middleware CRM;
  • sBDoc: Synchronization BDocs, são utilizados para a transferência de dados entre o Servidor CRM e os aplicativos de clientes móveis.

BDoc - Business Document
Estrutura BDoc - Business Document

Seguem abaixo os tipos de BDocs que são replicados entre os ambientes CRM e CCS:
  • BUAG_MAIN: BDocs de Business Agreements ou Contas-Contrato;
  • BUPA_MAIN: BDocs de Business Partners ou Parceiros de Negócio (PN);
  • BUPA_REL: BDocs de Relacionamentos de Parceiros de Negócio;
  • SI_CONNOBJ: BDocs de Connection Objects ou Objetos de Ligação;
  • SI_CONTRACT: BDocs de Contracts ou Contratos;
  • SI_POD: BDocs de Points of Delivery ou Locais de Consumo.

Durante a replicação dos dados-mestres, um BDoc apresenta os seguintes estados de processamento:
  • Processed:O BDoc já foi processado e replicado corretamente;
  • Intermediate State: O BDoc ainda está sendo processado, está em alguma das filas. Caso esse estado persista, as filas podem estar paradas, sendo necessária uma intervenção para que o processo de replicação volte a funcionar corretamente;
  • Error: Ocorreu algum erro que impossibilitou a replicação dos dados-mestres. Pode ser uma validação, erro de autorização ou até de mesmo de configuração. Nesse caso devemos tratar o BDoc e investigar sua causa para prevenir novos erros;

Para garantir a consistência entre os ambientes e permitir a execução correta dos processos de negócio, é essencial que o Middleware CRM esteja funcionando corretamente, com o mínimo de erros possível. Sendo assim, o monitoramento do Middleware se torna uma atividade essencial, a ser realizada diariamente com muita atenção. É necessário verificar se as filas não estão paradas e tratar eventuais erros de replicação contidos nos BDocs.


Tabelas do Middleware


Seguem tabelas importantes referentes ao Middleware, que podem ser úteis na configuração do ambiente e eventual tratamento de erros:
  • CRMCONSUM (Ambiente CCS): Aplicações consumidoras que irão receber dados do sistema ERP (CCS);
  • CRMPAROLTP (Ambiente CCS): Parâmetros OLTP do sistema ERP (CCS);
  • CRMMLSGUID (Ambiente CRM): Guid do Sistema Lógico do sistema ERP (CCS), ela deve conter o mesmo valor da tabela CRMPRLS, presente no sistema ERP;
  • CRMPRLS (Ambiente CCS): Guid do Sistema Lógico do sistema ERP (CCS);
  • CRMQNAMES (Ambiente CCS): Configurações dos nomes das filas;
  • CRMRFCPAR (Ambiente CCS): Definições de conexões RFC;
  • SMOFPARSFA (Ambiente CRM): Parâmetros gerais do Middleware;
  • SMOFQFIND (Ambiente CRM): Configurações dos nomes das filas;
  • SMOFDSTAT (Ambiente CRM): Status da replicação via Initial Load;
  • SMOFRSTAT (Ambiente CRM): Status da replicação via Request;
  • SMW3_BDOC* (Ambiente CRM): Informações dos BDocs;
  • SMW3_BDOC4 (Ambiente CRM): Erros de validação dos BDocs;
  • TRFCQIN (Ambiente CCS, CRM): Descrição das filas de entrada (Inbound);
  • TRFCQOUT (Ambiente CCS, CRM): Descrição das filas de saída (Outbound).


Fontes


  • Livro SAP CRM Middleware Optimization Guide
  • Autores: Thomas Schröder, Juliane Bode, Stephan Golze
  • Ano: 2007
  • Editora: SAP PRESS

Entre em contato_