Contexto de negócio
O objetivo da integração do SIGAMNT x BackOffice RM é viabilizar que de forma automática os cadastros gerenciados pelo BackOffice sejam replicados no vertical e, de forma similar, que os processos geridos pelo Gestão de Ativos/Gestão de Frotas tenham suas informações levadas ao BackOffice. Desta forma as bases de dados se mantém espelhadas, atualizando estoque, permitindo emissão de notas fiscais e demais processos no BackOffice.
Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).
Integração
Para atender a demanda de clientes que possuem o BackOffice RM e necessitam de uma solução para Manutenção de Ativos e Controle de Frotas foi desenvolvida esta integração, que possibilita a gestão das movimentações a partir do módulo correspondente do Protheus, 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 + SigaMNT 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 Protheus deve utilizar grupo de empresas para refletir a hierarquia de empresas configurada no BackOffice RM, contendo somente um grupo e a divisão de empresas sendo representada pelo respectivo conjunto “empresa” +” unidade”.
Exemplo:
O compartilhamento de tabelas deve ser coerente com a forma como o BackOffice RM trabalha, conforme descrita tabela abaixo.
Cadastro | Empresa | Filial | Tabela RM | Tabela Protheus |
---|---|---|---|---|
Moeda | Compartilhado | Compartilhado | GMOEDA | CTO |
Unidade de Medida | Compartilhado | Compartilhado | TUND | SAH |
Centro de Custo | Exclusivo | Compartilhado | GCCUSTO | CTT |
Projeto | Exclusivo | Exclusivo | MPRJ | AF8 |
Obra | Exclusivo | Exclusivo | MTAREFA | AFC |
Tarefa | Exclusivo | Exclusivo | MTAREFA | AF9 |
Etapa | Exclusivo | Exclusivo | MTAREFA | AFC |
Condição de Pagamento | Exclusivo | Compartilhado | TCPG | SE4 |
Produto | Exclusivo * | Compartilhado | TPRODUTO | SB1 |
Cliente/Fornecedor | Compartilhado ** | Compartilhado | FCFO | SA1 (Cliente) e SA2 (Fornecedor) |
Patrimônio | Exclusivo | Exclusivo | IPATRIMONIO | SN1 |
Funcionário | Exclusivo | Compartilhado | PFUNC | SRA | SRF | SR3 | SR7 |
Local de Estoque | Exclusivo | Exclusivo | TLOC | NNR |
* Independentemente se for utilizado produto global no RM, a tabela referente no Protheus deve ser exclusiva por empresa, ficando a cargo do RM replicar os produtos globais para cada filial no Protheus.
** Mesmo que a empresa não utilize Cliente/Fornecedor global no RM, deve-se compartilhar a tabela referente no Protheus por empresa. Será enviado concatenado ao código do cliente/fornecedor o código da coligada, conforme a mascara “[CODCOLIGADA]|[CODCFO]”.
Mensagem Única | Rotina Protheus | Mensagem | Descrição | Envia | Recebe | Método Protheus | Operação | Canal de Envio | Adapter Protheus | Versão |
Sim | NGMUAmpPat | ASSETSVALUATION | Ampliação Patrimonial | Sim | Não | Síncrono | Todas | EAI | NGMUAmpPat | 1.000 |
Sim | NGMUAprCst | APPOINTMENTCOST | Apropriação de Custo | Sim | Não | Síncrono | Todas | EAI | NGMUAprCst | 1.000 |
Sim | ATFA010 | ASSETS | Ativo Fixo | Não | Sim | Síncrono | Todas | EAI | ATFA010 | 1.001 |
Sim | NGMUStoTuO | STOCKTURNOVER | Baixa de Estoque | Sim | Sim | Síncrono | Todas | EAI | NGMUStoTuO | 1.002 |
Sim | NGMUCanMnO | CANCELMAINTENANCEORD | Cancelamento de OS | Sim | Não | Síncrono | Todas | EAI | NGMUCanMnO | 1.000 |
Sim | NGMUCanReq | CANCELREQUEST | Cancelamento de Requisição | Sim | Sim | Síncrono | Todas | EAI | NGMUCanReq | 1.000 |
Sim | GPEA370 | EMPLOYEEPOSITION | Cargo | Não | Sim | Síncrono | Todas | EAI | GPEA370 | 1.000 |
Sim | CTBA030 | COSTCENTER | Centro de Custo | Não | Sim | Síncrono | Todas | EAI | CTBA030 | 2.000 |
Sim | MATA030 | CUSTOMERVENDOR | Cliente | Não | Sim | Síncrono | Todas | EAI | MATA030 | 2.002 |
Sim | MATA360 | PAYMENTCONDITION | Condição de Pagamento | Não | Sim | Síncrono | Todas | EAI | MATA360 | 2.000 |
Sim | NGMUStoLvl | STOCKLEVEL | Consulta de Saldo | Sim | Não | Síncrono | Todas | EAI | NGMUStoLvl | 1.001 |
Sim* | NGMUTRAREQ | TRANCEABILITYREQUEST | Consulta Situação da Solicitação | Sim | Não | Síncrono | Todas | EAI | NGMUTRAREQ | 1.001 |
Sim | PMSA201 | STEPPROJECT | Etapa (EDT) | Não | Sim | Síncrono | Todas | EAI | PMSA201 | 2.000 |
Sim | MATA020 | CUSTOMERVENDOR | Forncecedor | Não | Sim | Síncrono | Todas | EAI | MATA020 | 2.002 |
Sim | GPEA030 | ROLE | Função | Não | Sim | Síncrono | Todas | EAI | GPEA030 | 1.000 |
Sim | GPEA010 | EMPLOYEE | Funcionário | Não | Sim | Síncrono | Todas | EAI | GPEA010 | 2.001 |
Sim | NGMUGETSIT | GETEMPLOYEESITUATIONS | Situação do Funcionário | Sim | Não | Síncrono | Todas | EAT | NGMUGETSIT | 1.000 |
Sim | NGMUInfPar | INFOOFPARCELVALUES | Informações de Parcelas | Não | Sim | Síncrono | Todas | EAI | NGMUInfPar | 1.000 |
Sim | AGRA045 | WAREHOUSE | Local de Estoque | Não | Sim | Síncrono | Todas | EAI | AGRA045 | 1.000 |
Sim | CTBA140 | CURRENCY | Moeda | Não | Sim | Síncrono | Todas | EAI | CTBA140 | 2.000 |
Sim | PMSA201 | SUBPROJECT | Obra (EDT) | Não | Sim | Síncrono | Todas | EAI | Obra (EDT) | 2.000 |
Sim | NGMUOrder | ORDER | Ordem | Sim | Sim | Síncrono | Todas | EAI | NGMUOrder | 3.002 |
Sim | NGMUMntOrd | MAINTENANCEORDER | Ordem de Serviço | Sim | Sim | Síncrono | Todas | EAI | NGMUMntOrd | 1.000 |
Sim | MATA010 | ITEM | Produto | Não | Sim | Síncrono | Todas | EAI | MATA010 | 2.000 |
Sim | PMSA200 | PROJECT | Projeto | Não | Sim | Síncrono | Todas | EAI | PMSA200 | 2.000 |
Sim | NGMUReques | REQUEST | Solicitação | Sim | Sim | Síncrono | Todas | EAI | NGMUReques | 1.000 |
Sim | PMSA203 | TASKPROJECT | Tarefa | Não | Sim | Síncrono | Todas | EAI | PMSA203 | 2.000 |
Sim | GPEA080 | SHIFTWORK | Turno | Não | Sim | Síncrono | Todas | EAI | GPEA080 | 1.000 |
Sim | QIEA030 | UNITOFMEASURE | Unidade de medida | Não | Sim | Síncrono | Todas | EAI | QIEA030 | 2.000 |
* Disponível a partir da versão 12.1.15.160.
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.
PENDENTE - VERIFICAR COM O PROTHEUS
CheckList de Implantação | ||
---|---|---|
Índice | Tarefa | Anexo |
Preparação do Ambiente | ||
1 | Pendente - Verificar com a equipe do 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 RM.
CheckList de Implantação | ||
Índice | Tarefa | Anexo (Pendente) |
Preparação do Ambiente | ||
1 | Instalação/Atualização da Biblioteca RM |
|
1.1 | Conferir arquivos *.Config e Alias.dat | |
2 | Instalação e configuração do IIS | Manual de instalação do TBC |
3 | Instalação e configuração do TBC | |
3.1 | Instalar o TBC na mesma versão da Biblioteca RM | |
3.2 | Configuração do Web.Config | |
3.2.1 | Configurar o Web.Config conforme o RM.Host.*.Config e Rm.Exe.Config | |
3.2.2 | Configurar Tag “DefaultDB” no Web.config com o Alias desejado | |
4 | Atualização da base de dados (Caso ainda não esteja na versão necessária) | Manual do RM Atualizador |
4.1 | Efetuar Backup da base de dados | |
4.2 | Executar o RM Atualizador na base de dados | |
4.3 | Conferir se o Dicionário de Dados do Protheus possui compartilhamento por Empresa/Filial igual ao RM para os cadastros integrados. | |
Ativação da Integração | ||
5 | Instalação e parametrização do pacote de integração no RM | |
Parametrizar os Tipos de Movimento utilizados na integração | ||
Executar o configurador da integração |
Anexo "Configuração da integração" | |
Parametrizar a URL do WebService Protheus | ||
Informar os parâmetros da integração | ||
Cadastrar De-Para de Coligada e Filial | Anexo "Cadastrar De-Para" | |
Importar as Fórmulas Visuais com gatilho | Anexo "Importação de Fórmulas Visuais" | |
Preparação/Carga da Base de Dados | ||
6 | Cadastro de Unidades de Medida | |
6.1 | Cadastrar no RM as unidades padrão existentes na base de dados Protheus com mesmo código ou referenciar as duas na tabela De-Para do Protheus. | |
6.2 | Cadastrar no Protheus o De-Para das unidades de medida padrão que possuírem códigos diferentes entre os sistemas. Ex.: Unidade ‘Jogo’ possuir código ‘Jg’ no RM e ‘JG’ no Protheus. | |
6.3 | Cadastrar no Protheus unidades com código intuitivo e respectivos De-Paras das unidades de medida que possuírem código maior que 2 caracteres no RM. | |
Efetuar a carga das Unidades de Medida | Anexo "Execução de Formulas Visuais" | |
7 | Cadastro de Pontos de Venda | |
7.1 | Caso hajam Pontos de Venda com código maior que o permitido no Protheus deve-se seguir os passos 7.1.X | |
7.1.1 | Cadastrar um registro referente no Protheus, somente com código e campos obrigatórios. | |
7.1.2 | Mapear na tabela De-Para do Protheus os Pontos de Venda com os respectivos códigos no RM. | |
7.1.3 | Efetuar a carga dos Pontos de Venda do RM para que os dados sejam atualizados | Anexo "Execução de Formulas Visuais" |
7.2 | Configurar os dados referentes a impressora fiscal e demais periféricos no cadastro de Ponto de Venda no Protheus | |
8 | Cadastro de Formas de Pagamento | |
8.1 | Cadastrar no RM as formas de pagamento padrão do Protheus | |
8.2 | Efetuar a carga de Formas de Pagamento | Anexo "Execução de Formulas Visuais" |
8.3 | Caso o cliente não deseje utilizar no Protheus as formas de pagamento padrão, deve-se efetuar a correta parametrização. | |
9 | Cadastro de Vendedores | |
9.1 | Efetuar a carga de Vendedores ao Protheus | Anexo "Execução de Formulas Visuais" |
10 | Cadastro de Locais de Estoque | |
10.1 | Caso hajam Locais de Estoque com código maior que o permitido no Protheus deve-se seguir os passos 10.1.X | |
10.1.1 | Cadastrar um registro referente no Protheus, somente com código e campos obrigatórios. | |
10.1.2 | Mapear na tabela De-Para do Protheus os Locais de Estoque com os respectivos códigos no RM. | |
10.1.3 | Efetuar a carga dos Locais de Estoque do RM para que os dados sejam atualizados | Anexo "Execução de Formulas Visuais" |
10 | Cadastro de Produtos | |
10.1 | Cadastrar as Tributações ECF conforme códigos corretos para integração | |
10.2 | Atualizar o cadastro de produtos para utilizar as tributações ECF corretas | |
10.3 | Efetuar a parametrização no Protheus do vínculo de TES por produto | |
10.4 | Verificar se todos os campos obrigatórios no Protheus estão preenchidos no RM | |
10.5 | Efetuar a carga de Produtos | Anexo "Execução de Formulas Visuais" |
11 | Cadastro de Clientes | |
11.1 | Abrir tabela de Municípios do Protheus para que a mesma receba carga automática | |
11.2 | Conferir se o campo A1_COD no Protheus está sem inicializador padrão | |
11.3 | Verificar se todos os Clientes possuem endereço cadastrado | |
11.4 | Efetuar a carga de Clientes | Anexo "Execução de Formulas Visuais" |
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 Mensagem | Fórmula Visual de Gatilho | Fórmula Visual de Carga de Dados |
Cadastros | 01 | Unidade de Medida | RM | Protheus | UnitOfMeasure | 2.000 | MOVWKF0017 - UnitOfMeasure | MOVWKF0019 - Sincronizacao_Total_SigaMNT |
02 | Moeda | RM | Protheus | Currency | 2.000 | MOVWKF0006 - Currency | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
03 | Centro de Custo | RM | Protheus | CostCenter | 2.000 | MOVWKF0005 - CostCenter | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
04 | Condição de Pagamento | RM | Protheus | PaymentCondition | 2.000 | MOVWKF0015 - PaymentCondition | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
05 | Item (Produto) | RM | Protheus | Item | 2.000 | MOVWKF0013 - Item | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
06 | Projeto | RM | Protheus | Project | 2.000 | MOVWKF0016 - Project | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
07 | Obra | RM | Protheus | SubProject | 2.000 | MOVWKF0014 - Obra Etapa Tarefa | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
07 | Tarefa | RM | Protheus | TaskProject | 2.000 | MOVWKF0014 - Obra Etapa Tarefa | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
07 | Etapa | RM | Protheus | StepProject | 2.000 | MOVWKF0014 - Obra Etapa Tarefa | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
08 | Cliente/Fornecedor | RM | Protheus | CustomerVendor | 2.002 | MOVWKF0007 - CustomerVendor | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
11 | Local de Estoque | RM | Protheus | Warehouse | 1.000 | MOVWKF0018 - Warehouse | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
12 | Funcionário | RM | Protheus | Employee | 2.001 | MOVWKF0008 - Employee | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
14 | Ativo Fixo | RM | Protheus | Assets | 1.001 | MOVWKF0002 - Assets_InclusaoAlteracao | MOVWKF0019 - Sincronizacao_Total_SigaMNT | |
XXX | Cargo | RM | Protheus | EmployeePosition | 1.000 | MOVWKF0025 - Sincronização de Cargo, Função e Horário | MOVWKF0025 - Sincronização de Cargo, Função e Horário | |
XXX | Função | RM | Protheus | Role | 1.000 | MOVWKF0025 - Sincronização de Cargo, Função e Horário | MOVWKF0025 - Sincronização de Cargo, Função e Horário | |
XXX | Horário | RM | Protheus | Shiftwork | 1.000 | MOVWKF0025 - Sincronização de Cargo, Função e Horário | MOVWKF0025 - Sincronização de Cargo, Função e Horário | |
Processos | 08 | Cupom Fiscal | Protheus | RM | RetailSales | 1.001 | - | - |
09 | ReduçãoZ | Protheus | RM | Reduction | 1.001 | - | - | |
10 | Cancelamento Venda/Item | Protheus | RM | RetailSales | 1.001 |
Siga os passos abaixo para efetuar a instalação e configuração da integração.
Acesse a rotina de cadastramento de De-para no contexto de Integração
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)
A lista de Fórmulas Visuais referente a cada entidade encontra-se na seção Transações/Entidades/Mensagens.
As Fórmulas Visuais informadas na tabela estão disponíveis na pasta "CORPORERM | Objetos Gerenciais | Fórmulas Visuais" e devem ser importadas conforme apresentado no documento Importação\Exportação de fórmula visual, com atenção à importação dos gatilhos (caso contrário a mesma não será acionada).