Integração PROTHEUS (SIGAJURI - Contas a Pagar) X Backoffice RM (Simplificado) 


Contexto de negócio

O intuito deste manual e 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
6 - Controle de Versão / Suporte / Escopo
7 - Transações/Entidades/Mensagens únicas
8 - Cadastros
9 - Processos
12 - Checklist de suporte da aplicação

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.

Documentação do SIGAJURI referente a esta integração:

http://tdn.totvs.com/pages/viewpage.action?pageId=337347211


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

Mensagem ÚnicaRotina ProtheusMensagemDescriçãoEnviaRecebeMétodo ProtheusOperaçãoCanal de EnvioAdapter ProtheusVersão
SimCTBA030     COSTCENTERCentro de CustoNãoSimSíncronoTodasEAICTBA030    2.000
SimMATA030CUSTOMERVENDORClienteNãoSimSíncronoTodasEAIMATA0302.002
SimMATA360PAYMENTCONDITIONCondição de PagamentoNãoSimSíncronoTodasEAIMATA3602.000
SimMATA020CUSTOMERVENDORForncecedorNãoSimSíncronoTodasEAIMATA0202.002
SimCTBA140CURRENCYMoedaNãoSimSíncronoTodasEAICTBA1402.000
SimFINA010FINANCIALNATURENatureza FinanceiraNãoSimSíncronoTodasEAIFINA0102.000


a)       MV_EAIURL2

Host do RM configurado (Procedimento futuro) 

2.       MV_EAIMETH

Método padrão 

3.       MV_EAIUSER



4.       MV_EAIPASS


.       MV_EAIPORT

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. 

 

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. 



Incluir o seguinte bloco para conexão web service Protheus:

;================== webservice ========================

[HTTP]

ENABLE=1

PORT=12001                                        ;definir porta para http Protheus

PATH=\web\WS

ENVIRONMENT=p12117                   ;ambiente

RESPONSEJOB=JOB_WS_0101


;webservice para o MU usando o nome

 [LOCALHOST:12001]                         ;webservice para o MU

ENABLE=1

;PATH=M:\Protheus11\web\WS

ENVIRONMENT=p12117

INSTANCENAME=JOB_WS_0101

RESPONSEJOB=JOB_WS_0101

DEFAULTPAGE=wsindex.apw


[JOB_WS_0101]                                 ;webservice para o MU

TYPE=WEBEX

ENVIRONMENT=p12117

INSTANCES=1,10

SIGAWEB=JOB_WS_0101

INSTANCENAME=JOB_WS_0101

ONSTART=__WSSTART

ONCONNECT=__WSCONNECT

XMLSAVEALL=1

namespace=http://www.totvs.com.br/rm/

trace=1


Exemplo: http://localhost:12001/EAISERVICE.apw?WSDL




*URL (Método Host do RM – Service EAI RM)

*Usuário e senha RM

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


*Mensagem única – Sim

*Rotina a ser integrada (exemplo clientes)

*Envia mensagens – Sim

*Recebe mensagem - Sim

*Método - Síncrono

*Canal de envio – EAI

*Versão de envio (de acordo com RM)

*Rota padrão (de acordo com parâmetros)

*Roteamento de mensagens – Apontar Rota e envia – Sim. 


*Funcionários 

*atenção na versao de envio utilizada.



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


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


Será feita a referencia de empresas ao RM.

*empresa/filial – referentes a RM.

*grupo empresa/Filial Protheus - referentes a RM.

*Mais informaçõesno tópico: Transações/Entidades/Mensagens únicas

*Recomendamos que seja cadastrado o de/para de MOEDA, pois não entendemos que faça sentido sincronizar moedas, uma vez que é difícil termos moedas novas. Além disso, como o RM não aceita entrada de títulos via EAI, o título é enviado diretamente via Web Service, dataserver.

Cadastrar assim:

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:

Utilizado um usuário padrão de testes. 

Usuário: mestre

Senha:  totvs



Menu > Serviços globais > ver permissões em perfis e Usuário



 Opção Perfis. 


Neste caso, o usuário possui perfis de acesso DBA e DP.


Criar um perfil adicional


Exemplo Perfil mestre: 



Clicar em incluir.


Identificação: 



Nesta parte e possível delegar acessos a campos e menus.


*Verificar com o Administrador do RM, o acesso as rotinas que serão integradas leitura e gravação e também a opção de Integrações do menu. 

No menu Serviços Globais → Segurança → Perfil, alterar o sistema para Integração.

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

Devem ser atribuídas ao usuário que irá configurar a integração as seguintes opções:



*permitido acesso a todos serviços para o usuário Mestre.





Cadastramos o de/para por parte do RM, similares ao Protheus, referenciando as Coligadas.


Os passos a seguir devem se repetir para todas as coligadas e filiais.





Efetue o cadastramento do De-Para de Coligadas conforme imagem abaixo, substituindo os valores entre chaves com o valor correspondente pelo código da coligada.

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)


Efetue o cadastramento do De-Para de Filiais conforme imagem abaixo, substituindo os valores entre chaves com o valor correspondente ao descrito internamente a ele.

 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)



*Recomendamos que seja cadastrado no Protheus também o de/para de MOEDA, pois não entendemos que faça sentido sincronizar moedas, uma vez que é difícil termos moedas novas.


Acompanhamento das mensagens de entrada e saída.


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

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>
            <Identification>
                <xsl:value-of select="concat(TOTVSMessage/TTBORCAMENTO/CODCOLIGADA,'|',TOTVSMessage/TTBORCAMENTO/CODTBORCAMENTO)"/>
            </Identification>
            <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.

Para o correto funcionamento da integração o Protheus usa o recurso de DATASERVER do RM. Ele é habilitado por padrão na porta 8051, mas é importante consultar o documento abaixo para mais detalhes sobre a configuração. Sem ele, não é possível gerar os títulos no RM via integração.

Como Expor os Web Services do RM através do Host (recomendado)#-2064216139

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.