Integração PROTHEUS (SIGAJURI - Funcionários) X Backoffice RM


Contexto de negócio:

O intuito deste manual é validar a integração do Ambiente BackOffice RM X Protheus via envio de mensagem única EAI.

O objetivo da integração do PROTHEUS x BackOffice RM é viabilizar que de forma automática os cadastros gerenciados pelo BackOffice sejam replicados.  Desta forma as bases de dados se mantém espelhadas.


Sumário
1 - Sistemas Envolvidos
2 - Modelo de Mensagem Única TOTVS
3 - Pré-requisitos instalação/implantação/utilização
4 - CheckList de Implantação - Protheus
5 - CheckList de Implantação - RM

Sistemas Envolvidos

Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).

Integração

Atender a demanda de clientes que possuem o BackOffice RM,  sincronizando as informações entre os módulos a partir da integração por Mensagem Única TOTVS.


Modelo de Mensagem Única TOTVS


Durante o processo de consolidação de marcas, iniciado pela TOTVS, várias empresas diferentes foram adquiridas e com elas vários produtos passaram a compor o portfólio de ofertas disponível aos clientes. Esta expansão de ofertas permitiu que clientes de uma marca, antes limitados pelas opções com aquela “etiqueta”, pudessem agora compor o seu ambiente de TI utilizando produtos de origens diferentes (Exemplo: BackOffice RM + Protheus).


Esta mesma iniciativa já era uma prática comum nos clientes, porém todo o custo envolvido na integração entre estes aplicativos era visto pelo cliente como parte da escolha de utilizar-se de produtos de diferentes fornecedores. Uma vez que estes produtos passam a fazer parte de uma mesma oferta, os clientes TOTVS passam a demandar que estes produtos sejam naturalmente integrados. Isto significa que se antes o cliente arcava com o custo e o risco envolvido em uma integração (como corrupção da base de dados, por exemplo), ele agora entende que a TOTVS deve prover soluções já integradas, independente da origem dos produtos oferecidos.


Com o objetivo de padronizar as integrações com os produtos TOTVS, foi definida uma nova diretriz para os projetos de integração: A de que todos os produtos TOTVS devam trabalhar com uma mensagem XML único evitando, desta forma, o processo de transformação de mensagens. Neste cenário, teríamos o seguinte quadro:

Neste cenário, qualquer produto TOTVS trabalhará com o mesmo XML para uma mesma entidade, vamos supor que tenhamos um XML correspondente à mensagem de CLIENTES, ela poderá ser enviada para qualquer um dos produtos que suporte o recebimento desta entidade.
Uma vez que os vários produtos TOTVS terão um "idioma" comum (o XML único), as integrações entre estes produtos não exigirão mais que as mensagens sejam transformadas de um formato para outro. Com isto, será possível conectar diretamente dois produtos, sem a necessidade do TOTVS ESB, como no diagrama abaixo: 

Além de questões referentes ao formato das mensagens, a mensagem única também torna uniforme o tratamento destas mensagens XML pelos aplicativos, principalmente no que diz respeito à capacidade de rastreamento.


Pré-requisitos instalação/implantação/utilização

O ambiente de integração necessita, além dos pré-requisitos de cada módulo individualmente, das seguintes características:

BackOffice RM

Protheus


O compartilhamento de tabelas deve ser coerente com a forma como o BackOffice RM trabalha, conforme descrita tabela abaixo.

CadastroEmpresaFilialTabela RMTabela Protheus
Departamento--GDEPTOSQB
Função--PFUNCAOSRJ
Centro de Custo--GCCUSTOCTT
Cargo--PCARGOSQ3
Funcionário--PFUNCSRA



CheckList de Implantação - Protheus

Visando maior facilidade na implantação da integração está disponível abaixo um CheckList com os passos padrão necessários para implantação e parametrização da integração no Protheus. 

AppServer.ini

Neste passo, vamos realizar a configuração HTTP por parte do Protheus, bem como configurar os Adapters e Rotas para comunicação com RM via EAI.

Adapter E.A.I

Configuração dos adapters utilizados na integração TOTVS PROTHEUS  x BackOffice RM, assim como toda a configuração do EAI Protheus.


Mensagem ÚnicaRotina ProtheusMensagemDescriçãoEnviaRecebeMétodo ProtheusOperaçãoCanal de EnvioAdapter ProtheusVersão
SimCSAA100

DEPARTAMENT

DEPARTAMENTONãoSimSíncronoTodasEAICSAA1002.001
SimCTBA030

COSTCENTER

CENTRO DE CUSTO

NãoSimSíncronoTodasEAICTBA0302.002
SimGPEA010EMPLOYEEFUNCIONARIOSNãoSimSíncronoTodasEAIGPEA0103.002
Sim

GPEA030

ROLEFUNCAONãoSimSíncronoTodasEAIGPEA0301.000
Sim

GPEA370

EMPLOYEEPOSITIONCARGONãoSimSíncronoTodasEAIGPEA3701.002


Parâmetros

Configurar os parâmetros abaixo no Protheus para a integração do BackOffice RM x Protheus:
 → Acessar o SigaCFG
 → Ambiente > Cadastros > Parâmetros
 → Na lupa, pesquisar e Alterar os parâmetros conforme abaixo:

1.       MV_EAIURL2

Host do RM configurado (Procedimento futuro)

http://localhost:8051/EAIService/MEX?wsdl

2.       MV_EAIMETH

Método padrão 

3.       MV_EAIUSER


4.       MV_EAIPASS


5.       MV_EAIPORT


Emp. Filial Mensagem Única

Cadastrar o de/para de empresas existentes no Protheus com as coligadas existentes no RM.

→ Acessar SIGACFG

→ Ambiente > Schedule > Emp. filial Mensagem Única


→ Referência: RM

→ Empresa/Filial: Empresa e Filial do RM

→ Grupo.Emp.Protheus e Fil.Protheus: Empresa e Filial do Protheus


Cadastro de Rotas EAI

Só é preciso cadastrar rotas quando o EAI já estiver em uso para outra MARCA (exemplo: Protheus x LOGIX).

Se existir apenas a integração do Protheus com RM, podemos pular esta etapa.

→ Acessar SIGACFG

→ Ambiente > Schedule > Cadastro de Rotas EAI

→ Produto: RM

→ Aplicação: RM

→ URL (Método Host do RM – Service EAI RM = http://localhost:8051/EAIService/MEX?wsdl)

→ Usuário e senha RM

→ Cliente WS e método (padrão) 


Schedule

Utilizado futuramente após o envio das mensagens únicas do RM para o Protheus.

→ Acessar SIGACFG

→ Ambiente > Schedule > Schedule


→ Clicando na lupa, e possível ver o log de execução das mensagens. 

5.  CheckList de Implantação - RM

Utilizado um banco de dados e uma Biblioteca de teste para simulação do Ambiente. (Verificar padrões RM de acordo com Cliente e o administrador responsável do local a ser implementado) 

Abrindo RM:

Usuário: mestre

Senha:  totvs


Permissão de Perfis

→ Acessar Menu > Serviços Globais > Segurança > Perfil

→ Dentro da rotina Perfil, ir em sistema > Trocar Serviços Globais para Integração

Importante: Alterar o combo "Sistema:" para "Integração" para que todas as permissões sejam exibidas de forma correta.


       → Em todos os cadastros > editar > Acesso a Menus

       → Conceder a permissão de acesso em todos os itens


Integração

Configuração do EAI do RM para Protheus.

→ Acessar o menu Integração > Seta em Mensagem Única > De - Para

→ Incluir 2 (dois) De - Para:

○ GFILIAL

- Tabela RM: Fixo valor 'GFILIAL'

-  Chave Primária RM: Fixo valor 'CODCOLIGADA|CODFILIAL'

-  Valor Chave Primária RM: Código da coligada + '|' + Código da filial

-  Sistema Integrado: Fixo valor 'PROTHEUS'

-  Valor Chave Integração: Código do grupo de empresa do Protheus + '|' + Código completo da filial no Protheus (composto por Empresa + Filial)

○ GCOLIGADA

- Tabela RM: Fixo valor 'GCOLIGADA'

- Chave Primária RM: Fixo valor 'CODCOLIGADA'

- Valor Chave Primária RM: Código da coligada referente

- Sistema Integrado: Fixo valor 'PROTHEUS'

- Valor Chave Integração: Código da coligada referente (mesma do campo Valor Chave Primária RM)


Integração Mensagem Única

→ Acessar o menu Integração > Seta em Mensagem Única > Integração

→ Incluir uma mensagem única

○ Usuário: mestre

○ Senha: totvs

 ○ Url WebService: http://localhost:12001/EAISERVICE.apw?WSDL


→ Na mesma tela da Integração de Mensagem Única > Anexos > Parâmetros de Integração

→ Na mesma tela da Integração de Mensagem Única > Anexos > Mapeamento de Entidades
→ Incluir um mapeamento de Entidade de acordo com as informações abaixo:


COSTCENTER

○ Na entidade > clicar no "..." > pesquisar: %COSTCEN

○ No Eventos > clicar no "..." > pesquisar: %COSTCENTER ADAPTER


DEPARTAMENT

○ Na entidade > clicar no "..." > pesquisar: %DEPARTMENT

○ No Eventos > clicar no "..." > pesquisar: %TRATAMENTO DE DEPT

EMPLOYEE

○ Na entidade > clicar no "..." > pesquisar: %EMPLOYEE

○ No Eventos > clicar no "..." > pesquisar: %EMPLOYEE ADAPTER

ROLE

○ Na entidade > clicar no "..." > pesquisar: %ROLE


EMPLOYEEPOSITION

○ Na entidade > clicar no "..." > pesquisar: %EMPLOYEEPOSITION



Fila de Mensagem Únicas

Essa rotina nos mostra os dados enviado para o sistema para avaliar a situação dos dados.

Este procedimento só ocorre mediante a necessidade nos disparos de mensagens únicas do RM para o Protheus que será tratado no próximo tópico, mas segue abaixo o procedimento para conhecimento:
Observação: Esse tópico é igual ao ultimo tópico do protheus que é o Schedule.

Bem como, os dados da Mensagem, Rota e execução.


Mensagem Únicas

Envio de mensagens únicas do RM para Protheus:


Centro de Custo:

○ Acessar os menus > BackOffice > Centro de Custo
○ Processos > Fórmula Visual > gerenciar
○ Tipo de Gatilho: Após salvar o registro
○ Adicionar uma mensagem:

○ Editar e salvar, cadastro de Centro de Custo no RM para importar o funcionário ao Protheus

○ No AppServe, apresentará a mensagem abaixo

Departamento

○ Acessar os menus > Gestão de Pessoas > Seção

○ Processos > Fórmula Visual > gerenciar

○ Tipo de Gatilho: Após salvar o registro

○ Adicionar uma mensagem:

○ Filtro, criar um filtro com a "FILIAL" = 1

○ Para a migração do Departamento será preciso a inclusão do Centro de Custo no Departamento, conforme abaixo:

○ Clicar em "..." do Número do Centro de Custo
○ Selecionar o Centro de Custo migrado ao Protheus

○ No AppServe, apresentará a mensagem abaixo:


Função

○ Acessar os menus > Gestão de Pessoas > Funções

○ Processos > Fórmula Visual > gerenciar

○ Tipo de Gatilho: Após salvar o registro

○ Adicionar uma mensagem:

○ Editar e salvar, cadastro de Função no RM para importar o funcionário ao Protheus






Cadastro de integrações

Realizar o cadastro da integração e parâmetros.


Parâmetros da integração:

Devemos criar o parâmetro USAINTEGRACAOFIELDSERVICE e definir o seu valor como Verdadeiro.


Mapeamento das entidades

Antes de incluir os mapeamentos, precisamos importar os layouts.

Acessar :  RM| Integração| Ferramentas| Configurar.

Clicar em Avançar.

Informar o Usuário , Senha  e  clicar em “Testar a Conexão” para liberar o botão Avançar.

Marcar as seguintes opções:


Incluir no mapeamento das entidades os itens relacionados abaixo:

Cada entidade deve ser cadastrada com a versão listada no item Entidade e Eventos, como no exemplo abaixo:


Conferir na entidade FINANCIALNATURE se o campo abaixo está preenchido. Se não estiver acrescentar o conteúdo conforme abaixo:



<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<BusinessContent>
<RMENTITYNAME>TTBORCAMENTO</RMENTITYNAME>
<CompanyId>
<xsl:value-of select="TOTVSMessage/TTBORCAMENTO/CODCOLIGADA"/>
</CompanyId>
<InternalId>
<xsl:value-of select="concat(TOTVSMessage/TTBORCAMENTO/CODCOLIGADA,'|',TOTVSMessage/TTBORCAMENTO/CODTBORCAMENTO)"/>
</InternalId>
<Code>
<xsl:value-of select="substring(TOTVSMessage/TTBORCAMENTO/CODTBORCAMENTO,1,10)"/>
</Code>
<Description>
<xsl:value-of select="substring(TOTVSMessage/TTBORCAMENTO/DESCRICAO,1,30)"/>
</Description>
<NatureType>
<xsl:choose>
<xsl:when test="TOTVSMessage/TTBORCAMENTO/SINTETICOANALITICO = '0'">Synthetic</xsl:when>
<xsl:when test="TOTVSMessage/TTBORCAMENTO/SINTETICOANALITICO = '1'">Analytical</xsl:when>
</xsl:choose>
</NatureType>
<UseCategory>
<xsl:choose>
<xsl:when test="TOTVSMessage/TTBORCAMENTO/NATUREZA = '1'">Receivable</xsl:when>
<xsl:when test="TOTVSMessage/TTBORCAMENTO/NATUREZA = '2'">Payable</xsl:when>
</xsl:choose>
</UseCategory>
<Blocked>
<xsl:value-of select="TOTVSMessage/TTBORCAMENTO/INATIVO"/>
</Blocked>
</BusinessContent>
</xsl:template>
</xsl:stylesheet>

Fórmulas Visuais

Para que a integração dos dados do RM sejam enviados ao Protheus é necessário importar/criar as fórmulas visuais que atuam com gatilhos para disparar as mensagens de integração.

Menu Gestão/Fórmula visual

Importar as fórmulas listadas abaixo:

Para importar as fórmulas visuais precisamos criar uma categoria para associar as mesmas. Proceder no menu Gestão/Fórmula Visual/Categorias


Para importar uma fórmula visual, utilizar o menu:


Abaixo os arquivos que devem ser importados:

Para importar a fórmula, escolher cada arquivo, marcar a opção de todas as coligadas, escolher a categoria e marcar a opção "Importar gatilhos"

Após a importação das fórmulas, a tela deverá ficar da seguinte forma:


Depois de importar as fórmulas visuais, devemos validar a versão que estão configuradas as mesmas. Para abrir a fórmula em edição, usar duplo clique.

O item Transformação deve estar preenchido com a mesma versão da entidade configurada no passo acima.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.

Suporte

O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos BackOffice RM,  Backoffice Protheus e SigaMNT estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.

Escopo

O escopo deste projeto se restringe aos processos de integração com o Protheus e os cadastros utilizados por estes.

Todos os processamentos de BackOffice se manterão no RM, sendo eles a geração de escrituração, relatórios, emissão de notas fiscais e outros.

Transações/Entidades/Mensagens únicas

Segue abaixo tabela com informações sobre as entidades trafegadas na integração.


Método

ID

Descrição

Origem

Destino

Mensagem Única

Versão da MensagemFórmula Visual de GatilhoFórmula Visual de Carga de Dados

Cadastros






01Cliente/FornecedorRMProtheusCustomerVendor2.002MOVWKF0007 - CustomerVendorMOVWKF0019 - Sincronizacao_Total_SigaMNT

02

Moeda

RM

Protheus

Currency

2.000MOVWKF0006 - CurrencyMOVWKF0019 - Sincronizacao_Total_SigaMNT
04ProdutoRMProtheusItem2.000MOVWKF0013 - ItemMOVWKF0019 - Sincronizacao_Total_SigaMNT

05

Centro de Custo

RM

Protheus

CostCenter

2.000MOVWKF0005 - CostCenterMOVWKF0019 - Sincronizacao_Total_SigaMNT

18

Condição de Pagamento

RM

Protheus

PaymentCondition

2.000MOVWKF0015 - PaymentConditionMOVWKF0019 - Sincronizacao_Total_SigaMNT

Obs.: As Fórmulas visuais estão disponíveis na pasta de instalação do RM em (...CORPORERM/Objetos Gerenciais/Fórmulas Visuais)

Cadastros

Para esta integração todos os cadastros possuem sua origem no BackOffice RM, sendo enviados à retaguarda Protheus.


Cadastro de Centro de Custo

Identificador da Mensagem: CostCenter
Versão: 2.000
Mandatário: BackOffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos: http://tdn.totvs.com/x/w9b0E

Notas

Os campos “Centro de Custo” e “Código Reduzido do Centro de Custo” no PROTHEUS deve ser alterado para tamanho de 20 caracteres, uma vez que no RM estes campos permitem até 25 caracteres.

Cadastro de Cliente/Fornecedor

Identificador da Mensagem: CustomerVendor
Versão: 2.002
Mandatário: BackOffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos: http://tdn.totvs.com/x/MYP6E

Notas

Ao iniciar uma base zerada do Protheus, para incluir a tabela de Municípios no Protheus é necessário acessar o Protheus no sistema 09 - Livros Fiscais. Se não acessar o sistema Fiscal do Protheus antes de enviar o cadastro do RM irá apresentar mensagem de inconsistência informando que é valor inválido para o campo Município.

Uma vez que o Cliente e Fornecedor são tratados na mesma mensagem (CustomerVendor), é responsabilidade do destinatário ao processar a mensagem garantir a consistência dos dados na origem e no destino da melhor forma possível.Ou seja, se o destino implementa uma única tabela, terá que manipular apenas um registro e se implementa mais de uma tabela, terá que manipular quantos registros forem necessários.

Para regras de negócio desta mensagem atenção ao seguinte ponto de atenção.

Mesmo que a empresa não utilize Cliente/Fornecedor global no RM, deve-se compartilhar a tabela referente no Protheus por empresa.

No Protheus o código do cliente/fornecedor será composto pelo código do cliente/fornecedor e da coligada, conforme a mascara “[CODCOLIGADA]|[CODCFO]”.

Links úteis de Refências 

(informação) Abaixo, alguns links para visualização sobre a configuração validada em cliente para os mesmos cadastros citados nesta documentação.


Página: Mensagem Única - RH Protheus

Página: Como Fazer - Configuração do Protheus para a IntegraçãoPágina: Mensagens de cadastroPágina: Mensagens de ProcessosPágina: Modelos mensagem única - XSD

Como funciona a camada EAI.

A camada do EAI


Checklist de suporte da aplicação

Crie um check-list de verificação de alguns pontos importantes para o funcionamento e atendimento da integração.

Instalação/Configuração

Relacione itens de verificação para garantir que a integração está corretamente instalada e configurada. Isto não pode ser uma cópia do procedimento de instalação/configuração, mas verificações pontuais que podem remeter aos itens da instalação.

Checklist de Verificações:

Relacione itens de verificações para que o atendente possa:

Identificar o funcionamento da integração;

Identificar a ocorrências de problemas;

Coletar evidências do mau funcionamento relatado pelo cliente;

Realizar possíveis ajustes na integração quanto à configuração ou negócio.







 

 

 

 

 

 

 

 

 

 

Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).