Contextualização:

No Protheus ao logar temos dois níveis principais Grupo e Filial. O nivel de Filial é subdividido em Empresa, Unidade e Filial.

Tela de Login:

A partir disto o dicionario de tabelas que pertence a cada Grupo, ou seja para cada grupo uma tabela é criada, sendo que o nome da tabela é composto por prefixo_da_tabela+código_grupo+0

Exemplo: Tabela de Produto (Prefixo: SB1) - Nome Tabela: SB101

Todas as tabelas possuem o campo Filial que é preenchido concatenação: CÓDIGO_EMPRESA + CÓDIGO_UNIDADE + CÓDIGO_DE_FILIAL.

Exemplo: FILIAL: E0001BT01.

Na configuração de cada tabela do Protheus existe a configuração de compartilhamento de tabela ao editar a tabela existe 3 campos que podem ser configurados com Exclusivo ou Compartilhado para cada um dos subníveis. Filial | Unidade de Negocio | Empresa. Observe que é somente possível configurar o compartilhamentos dos níveis abaixo do Grupo, necessariamente toda tabela é exclusiva de cada grupo ou seja não é possível compartilhar dados de grupos diferentes.

1º Nível - Empresa

2º Nível - Unidade

3º Nível - Filial

Onde ao compartilhar um nível é obrigatório compartilhar os níveis Inferiores.  

Ou seja exemplificando com a tabela SB1 de produto, poderíamos ter as 4 configurações abaixo para compartilhamento de qualquer tabela do Protheus.



CONFIGURAÇÃO

NOME TABELA

(PREFIXO_GRUPO_0)

EXEMPLO PREENCHIMENTO TABELA

EMPRESA - COMPARTILHADO 

UNIDADE - COMPARTILHADO

FILIAL - COMPARTILHADO

SB1 01 0

Veja se o campo filial fica vazio, ou seja todos os dados são exibidos para todas as empresas deste grupo.

CÓDIGODESCRIÇÃOFILIAL
01AREIA
02BRITA

Nesta configuração entende-se que o registro é compartilhado por todas as empresa do mesmo grupo. Caso tenhamos mais de um grupo estes dados serão exclusivos para cada conjunto de empresas do grupo.

Com isto na integração caso esta configuração seja definida na tabela sempre sera gerada replica, visto que se utilizarmos o conceito de global do RM, não teríamos como filtrar o registro por Grupo de Empresa, uma vez que o nível mais alto que temos no RM é coligada o que seria o equivalente padrão com o nível de Empresa no Protheus.

EMPRESA - EXCLUSIVO

UNIDADE - COMPARTILHADO

FILIAL - COMPARTILHADO

SB1 01 0

Neste caso a filial passa a ser preenchida com o código da empresa, e filtrada consequentemente de forma que os dados

são exibidos exclusivamente para cada empresa.

CÓDIGODESCRIÇÃOFILIAL
01AREIA

E0001

01CIMENTOE0002

Esta é a configuração recomendada para a maioria dos cadastros, visto que no RM a maioria das tabelas são por Coligada que seria o nível equivalente a empresa. Com exceção das tabelas que são por filial, como por exemplo TLOC, que tem a 4º configuração sendo a sugerida. Neste nível também pode ocorrer necessidade de replica, caso esta configuração seja aplicada em uma tabela do RM tenha como chave o campo Filial, de forma a simular o comportamento do Protheus de exibição dos dados para todas as filiais o registro é replicado.

3º (INCOMPATIVEL RM)

EMPRESA - EXCLUSIVO

UNIDADE - EXCLUSIVO

FILIAL - COMPARTILHADO

SB1 01 0

Neste caso a filial passa a ser preenchida com o código da empresa + unidade de negocio, e filtrada consequentemente de forma que os dados são exibidos exclusivamente para cada unidade de negocio.

CÓDIGODESCRIÇÃOFILIAL
01AREIA

E0001BT

01CIMENTOE0001SA

Esta configuração é incompatível com o RM, visto que no RM não temos o nível de unidade de negocio e o conjunto unidade de negocio filial compõe a filial no RM. Ou seja uma vez exclusivo a unidade de negocio a filial também deve ser exclusiva.

EMPRESA - EXCLUSIVO

UNIDADE - EXCLUSIVO

FILIAL - EXCLUSIVO

SB1 01 0

Neste caso a filial passa a ser preenchida com o código da empresa + unidade de negocio, e filtrada consequentemente de forma que os dados são exibidos exclusivamente para cada filial.

CÓDIGODESCRIÇÃOFILIAL
01AREIA

E0001BT01

01CIMENTOE0001BT02

Esta configuração é incompatível com alguns cadastros do RM, que não podem ser cadastrados por Filial. Exemplo: Cliente Fornecedor (FCFO), Produto (TPRD), mas é recomendável para outros cadastros que são armazenados por filial, como Local de Estoque.

É importante destacar que cada tabela pode ter um compartilhamento diferente.



Configuração no RM - Compartilhamento por Grupo de Empresas



  • Grupo de Empresa
  • Unidade de Negócio
  • Empresa


Divisão no Protheus do Compartilhamento:


GRUPO

EMPRESA | UNIDADE | FILIAL 




Filial = Último nível de compartilhamento 

Grupo de Empresa sendo o Primeiro nível de compartilhamento.


Exemplo de compartilhamento ( CADASTRO DE CLIENTE )


COMPARTILHADO POR GRUPO DE EMPRESA: Neste Exemplo, foi cadastrado o cliente "Jose"; Ele é visto por todas as Empresas, Unidades de negócios e Filiais que fazem parte do Grupo em que foi cadastrado.


COMPARTILHADO POR EMPRESA: Neste Exemplo, foi cadastrado o cliente "Jose"; Ele é visto somente na Empresa  em que foi cadastrado. Caso deseje que este cliente exista em outras Empresas, mesmo que pertençam ao mesmo Grupo, é necessário cadastrá-lo na(s) demais Empresa(s).



COMPARTILHADO POR UNIDADE DE NEGOCIO: Neste Exemplo, foi cadastrado o cliente "Jose"; Ele é visto somente na Unidade de negócio em que foi cadastrado. Caso deseje que este cliente exista em outras unidades de negócios , mesmo que  pertença à mesma Empresa, é necessário cadastrá-lo na(s) demais Unidade(s) de Negócio(s).


COMPARTILHADO POR FILIAL: Neste Exemplo, foi cadastrado o cliente "Jose"; Ele é visto somente na filial que foi cadastro,  Caso deseje que este cliente exista em outras filiais ,mesmo que pertença à mesma Unidade de Negócio , é necessário cadastrá-lo na(s) demais Filiais.



Mais dicas sobre Compartilhamento.




A partir da versão 11.82.31.x, os sistemas RM e Protheus sofreram ajustes para tratar corretamente o ambiente Protheus utilizando Gestão de empresas e compartilhamento.

Cadastro de Coligadas:

No cadastro das Coligadas do RM, deverá ser informado qual o grupo de empresas, no campo “Código externo”

 

Configuração da Integração:

É necessário definir o parâmetro SIGNIFICADO DE COLIGADA na configuração da integração TIN x Protheus:


Configuração dos de “DE-PARA”:

Deverão ser cadastrados os DE PARA’s conforme deve ser o compartilhamento no cliente.

Por exemplo, caso os registros da empresa 99 do Protheus precisem ser realizados nas coligadas 1 e 2 do RM, no RM deve ser cadastrado da seguinte forma:

Obs: Quando o compartilhamento é realizado por empresa e filial no Protheus, nas mensagens, o código da filial é enviado em branco e deve ser tratado assim no DE-PARA, conforme exemplo acima.


Nas mensagens, são enviadas três tags a mais, que identificam o compartilhamento ou exclusividade da Empresa, Unidade de Negócio e Filial:


Devido a limitações da arquitetura e modelagem do banco RM, algumas premissas e restrições são definidas:

Os cadastros que são compartilhados, no RM são replicados para as coligadas.

Os cadastros de Centro de Custo, Banco e Natureza Financeira não podem ser Exclusivos por filial, pois não existe o campo FILIAL como chave nas respectivas tabelas. A configuração que não respeite este ponto pode acarretar erros na integração, ao tentar associar no protheus um registro incompatível com a filial utilizada.

Os “DE-PARA’s” serão criados mesmo para arquivos replicados, tanto do lado RM quanto do lado Protheus.


Configuração do Protheus:

A principal configuração no Protheus para a geração das TAGs informadas acima são:

  • Alias (XX4_ALIASP) – Este campo é utilizado somente nas mensagens da arquitetura Mensagem Única TOTVS e deve ser utilizado somente em mensagens que trafegam cadastros e nunca para movimentos. Para a utilização deste campo as equipes envolvidas no desenvolvimento do adapter devem ser consultadas, para determinar e avaliar os riscos do seu usoEm situações normais, este campo não deve ser preenchido. Este campo define o Alias principal da mensagem. Quando este campo é preenchido são enviadas no cabeçalho as seguintes tags:

    • CompanySharingMode – Indica o compartilhamento desta tabela no nível de Empresas;

    • BusinessUnitySharingMode – Indica o compartilhamento desta tabela no nível de Unidade de Negócios;

    • BranchSharingMode – Indica o compartilhamento desta tabela no nível de Filial.

          O conteúdo destas tags pode conter dois valores: E – Para exclusivo e C para compartilhado.


Para maiores informações sobre as configurações necessários referentes aos Adapter no Protheus, clique aqui.



Referências:

http://tdn.totvs.com/display/PROT/DT_Tabelas_Compartilhadas_entre_Empresas_V11

http://tdn.totvs.com/display/public/PROT/DT_Integracao_Protheus_x_Drp_Neogrid?src=search&src=search

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





  • Sem rótulos