O sistema Protheus, desenvolvido pela Totvs, é amplamente utilizado para a gestão empresarial em diversos segmentos de mercado. Um dos pilares desse sistema é o seu banco de dados robusto, que armazena todas as informações necessárias para o funcionamento dos módulos, desde dados financeiros até informações sobre usuários e permissões.
Neste artigo, vamos explorar algumas das principais tabelas do Protheus no banco de dados SQL Server, como a SYS_COMPANY (antiga SIGAMAT.emp), SYS_USR, SYS_GRP_GROUP, e a tabela de PROFILE. Compreender essas tabelas é essencial para administradores de sistemas e DBAs que precisam realizar consultas, auditorias ou manutenções no ambiente Protheus.
1. Tabela SYS_COMPANY
A tabela SYS_COMPANY é responsável por armazenar as informações referentes às empresas cadastradas no sistema. Cada linha nesta tabela representa uma empresa distinta, com seus respectivos dados, como nome, CNPJ, endereço, entre outros. Esta tabela é fundamental para ambientes que possuem múltiplas empresas registradas no mesmo sistema Protheus.
Estrutura Básica da Tabela:
Nome do Campo | Tipo de Dado | Descrição |
---|---|---|
COMPANY_ID | INT | Identificador único da empresa |
COMPANY_NAME | VARCHAR(100) | Nome da empresa |
COMPANY_CNPJ | VARCHAR(20) | CNPJ da empresa |
COMPANY_ADDRESS | VARCHAR(255) | Endereço da empresa |
COMPANY_STATUS | CHAR(1) | Status da empresa (A=Ativo, I=Inativo) |
Exemplo de Consulta:
Para listar todas as empresas ativas no sistema, você pode executar a seguinte consulta SQL:
sqlSELECT COMPANY_ID, COMPANY_NAME, COMPANY_CNPJ, COMPANY_ADDRESS
FROM SYS_COMPANY
WHERE COMPANY_STATUS = 'A';
Essa consulta retorna todas as empresas ativas, com seus respectivos nomes, CNPJs e endereços.
2. Tabela SYS_USR
A tabela SYS_USR contém as informações dos usuários do sistema Protheus. Nessa tabela, estão armazenados dados como o login do usuário, nome completo, e-mail, status e o grupo ao qual o usuário pertence.
Estrutura Básica da Tabela:
Nome do Campo | Tipo de Dado | Descrição |
---|---|---|
USR_ID | INT | Identificador único do usuário |
USR_LOGIN | VARCHAR(50) | Nome de login do usuário |
USR_NAME | VARCHAR(100) | Nome completo do usuário |
USR_EMAIL | VARCHAR(100) | E-mail do usuário |
USR_STATUS | CHAR(1) | Status do usuário (A=Ativo, I=Inativo) |
USR_GRP_ID | INT | Identificador do grupo ao qual pertence |
Exemplo de Consulta:
Para listar todos os usuários ativos no sistema, você pode utilizar a seguinte consulta:
sqlSELECT USR_ID, USR_LOGIN, USR_NAME, USR_EMAIL
FROM SYS_USR
WHERE USR_STATUS = 'A';
Essa consulta retornará uma lista de todos os usuários que estão ativos no Protheus, com seus logins, nomes e e-mails.
3. Tabela SYS_GRP_GROUP
A tabela SYS_GRP_GROUP armazena os dados dos grupos de usuários no Protheus. Os grupos são utilizados para organizar usuários que compartilham das mesmas permissões ou funções no sistema, facilitando a gestão de acessos e permissões.
Estrutura Básica da Tabela:
Nome do Campo | Tipo de Dado | Descrição |
---|---|---|
GRP_ID | INT | Identificador único do grupo |
GRP_NAME | VARCHAR(100) | Nome do grupo |
GRP_DESCRIPTION | VARCHAR(255) | Descrição do grupo |
GRP_STATUS | CHAR(1) | Status do grupo (A=Ativo, I=Inativo) |
Exemplo de Consulta:
Para listar todos os grupos de usuários ativos no sistema Protheus, execute a seguinte consulta:
sqlSELECT GRP_ID, GRP_NAME, GRP_DESCRIPTION
FROM SYS_GRP_GROUP
WHERE GRP_STATUS = 'A';
Essa consulta exibe os grupos de usuários que estão ativos no sistema, com seus respectivos nomes e descrições.
4. Tabela de PROFILE (MP_SYSTEM_PROFILE)
A tabela MP_SYSTEM_PROFILE é crucial para o gerenciamento de permissões de acesso no Protheus. Ela define os perfis de usuário, que controlam quais funcionalidades cada grupo de usuários pode acessar dentro do sistema. O uso de perfis facilita a atribuição de permissões em larga escala, especialmente em empresas com muitos usuários.
Estrutura Básica da Tabela:
Nome do Campo | Tipo de Dado | Descrição |
---|---|---|
PROFILE_ID | INT | Identificador único do perfil |
PROFILE_NAME | VARCHAR(100) | Nome do perfil de acesso |
PROFILE_DESC | VARCHAR(255) | Descrição do perfil de acesso |
PROFILE_STATUS | CHAR(1) | Status do perfil (A=Ativo, I=Inativo) |
Exemplo de Consulta:
Para listar todos os perfis de usuários ativos no sistema, utilize a seguinte consulta SQL:
sqlSELECT PROFILE_ID, PROFILE_NAME, PROFILE_DESC
FROM MP_SYSTEM_PROFILE
WHERE PROFILE_STATUS = 'A';
Com essa consulta, você terá uma lista de todos os perfis de acesso ativos, com seus nomes e descrições.
Importância das Tabelas no Gerenciamento de Acessos
As tabelas apresentadas acima desempenham papéis fundamentais na estrutura de segurança e controle do Protheus. A correta configuração de grupos, usuários e perfis é essencial para garantir que cada colaborador tenha acesso apenas às funcionalidades necessárias para o seu trabalho, mantendo a integridade e segurança do sistema.
Além disso, a auditoria frequente dessas tabelas pode ajudar a identificar possíveis falhas de segurança, como usuários inativos que ainda possuem acesso ao sistema, ou permissões incorretas atribuídas a grupos. A boa prática de gestão de acessos contribui para o cumprimento de normas de compliance, como a LGPD e outras regulamentações.
Conclusão
O conhecimento das principais tabelas do sistema Protheus, como SYS_COMPANY (antiga SIGAMAT.emp), SYS_COMPANY_CFG (antiga XX8), SYS_COMPANY_CFGIT (antiga XX9), SYS_USR, SYS_GRP_GROUP, SYS_USR_GROUPS, as tabelas de Menu (XNU) agora são as que começam com MPMENU e por fim a tabela de PROFILE (MP_SYSTEM_PROFILE), é essencial para administradores e DBAs que precisam gerenciar dados e acessos no ambiente SQL Server. Essas tabelas garantem o correto funcionamento do sistema e facilitam a gestão de múltiplos usuários e empresas no mesmo ambiente.
Ao entender a estrutura dessas tabelas e saber como utilizá-las, é possível realizar consultas eficientes, otimizar a gestão de acessos e garantir que o sistema esteja sempre em conformidade com as melhores práticas de segurança.
Analista de sistemas, programador com mais de 18 anos de experiência no sistema Totvs Protheus, administrador, suporte e customizações, idealizador da Academia Protheus, já ajudou centenas de pessoas a programar em AdvPL/Tlpp.