Tabela OUSR no SAP Business One (Usuários)

OUSR é a tabela de usuários do SAP Business One: uma linha por usuário com o número interno (USERID), o código de login (USER_CODE), o nome completo, o indicador de superusuário, o indicador de bloqueio, o departamento e a filial. Os documentos guardam o usuário que os criou em UserSign e o último que os atualizou em UserSign2, e ambos relacionam com OUSR.USERID.

Campos-chave da OUSR

CampoO que contém
USERIDNúmero interno do usuário. UserSign e UserSign2 dos documentos apontam para ele.
USER_CODECódigo do usuário para login.
U_NAMENome do usuário.
SUPERUSERY = superusuário, N = usuário comum.
LockedY = usuário bloqueado, N = não bloqueado.
GROUPSGrupo de usuários: 0 = normal, 99 = excluído.
DISCOUNTDesconto máximo que o usuário pode conceder.
DepartmentDepartamento (OUDP).
BranchFilial (OUBR).
DfltsGroupGrupo de valores padrão do usuário (OUDG).
E_MailEndereço de e-mail do usuário.

Como a OUSR se relaciona com outras tabelas

Quase todas as tabelas fazem referência à OUSR: UserSign (criado por) e UserSign2 (atualizado por) em cabeçalhos de documentos, dados mestre e tabelas de histórico relacionam com OUSR.USERID. OHEM.userId vincula um registro de funcionário a um usuário. As colunas de senha da OUSR guardam credenciais, então deixe-as fora de qualquer relatório ou exportação.

Joins mais comuns

  • OINV T0 INNER JOIN OUSR T1 ON T1.USERID = T0.UserSign (usuário que criou a nota fiscal)
  • OINV T0 LEFT JOIN OUSR T2 ON T2.USERID = T0.UserSign2 (usuário que a atualizou por último)
  • ADOC T3 INNER JOIN OUSR T1 ON T1.USERID = T3.UserSign2 (usuário por versão do histórico)
  • OHEM T4 LEFT JOIN OUSR T1 ON T1.USERID = T4.userId (usuário de um funcionário)

Quando usar a tabela OUSR

Use a OUSR para mostrar quem criou ou alterou documentos, listar as contas ativas, bloqueadas e de superusuário em uma revisão de acessos e contar os documentos por usuário.

Consulta de exemplo: notas fiscais criadas por usuário neste mês

SQL Server

SELECT T1.USER_CODE, T1.U_NAME, COUNT(*) AS Invoices, SUM(T0.DocTotal) AS Total
FROM OINV T0
INNER JOIN OUSR T1 ON T1.USERID = T0.UserSign
WHERE T0.DocDate >= DATEADD(day, 1 - DAY(GETDATE()), CAST(GETDATE() AS date))
GROUP BY T1.USER_CODE, T1.U_NAME
ORDER BY Invoices DESC

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T1."USER_CODE", T1."U_NAME", COUNT(*) AS "Invoices", SUM(T0."DocTotal") AS "Total"
FROM OINV T0
INNER JOIN OUSR T1 ON T1."USERID" = T0."UserSign"
WHERE T0."DocDate" >= ADD_DAYS(CAST(CURRENT_TIMESTAMP AS date), 1 - DAYOFMONTH(CURRENT_TIMESTAMP))
GROUP BY T1."USER_CODE", T1."U_NAME"
ORDER BY "Invoices" DESC

Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.

Erro comum: Relacionar UserSign com USER_CODE

UserSign e UserSign2 são números que correspondem a OUSR.USERID, não ao código de login em USER_CODE. Um join por USER_CODE não retorna nada ou retorna o usuário errado. Selecione também colunas pelo nome: um SELECT * na OUSR traz as colunas de senha para o resultado. Veja Consulta de documentos criados por usuário.

Consultas prontas que usam a OUSR (em inglês)

Perguntas sobre a tabela OUSR

Para qual coluna da OUSR o UserSign aponta?

Para OUSR.USERID, o número interno do usuário. USER_CODE é o código de login.

Como encontro os superusuários no SAP Business One?

Selecione os usuários com OUSR.SUPERUSER = 'Y' e confira Locked para ver se a conta ainda está em uso.

O que significa GROUPS = 99 na OUSR?

O SDK indica 99 como excluído e 0 como normal.

Tabelas relacionadas

ADOC (Histórico de documentos (histórico de notas fiscais)) · OHEM (Funcionários (cadastro de funcionários)) · OINV (Nota fiscal de saída (cabeçalho)) · pesquisar todas as tabelas do SAP Business One

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

Pronto para começar?

Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.