Tabella OUSR in SAP Business One (Utenti)

OUSR è la tabella degli utenti di SAP Business One: una riga per utente con numero interno (USERID), codice di accesso (USER_CODE), nome completo, indicatore di superutente, indicatore di blocco, reparto e filiale. I documenti memorizzano l’utente che li ha creati in UserSign e l’ultimo che li ha aggiornati in UserSign2, ed entrambi si collegano a OUSR.USERID.

Campi chiave di OUSR

CampoContenuto
USERIDNumero interno dell’utente. UserSign e UserSign2 dei documenti puntano a questo campo.
USER_CODECodice utente per l’accesso.
U_NAMENome dell’utente.
SUPERUSERY = superutente, N = utente normale.
LockedY = utente bloccato, N = non bloccato.
GROUPSGruppo utenti: 0 = normale, 99 = eliminato.
DISCOUNTSconto massimo che l’utente può concedere.
DepartmentReparto (OUDP).
BranchFiliale (OUBR).
DfltsGroupGruppo di valori predefiniti dell’utente (OUDG).
E_MailIndirizzo e-mail dell’utente.

Come OUSR si collega alle altre tabelle

Quasi tutte le tabelle fanno riferimento a OUSR: UserSign (creato da) e UserSign2 (aggiornato da) nelle testate di documento, nelle anagrafiche e nelle tabelle storiche si collegano a OUSR.USERID. OHEM.userId collega un record dipendente a un utente. Le colonne password di OUSR contengono credenziali, quindi le escluda da qualsiasi report ed esportazione.

Join più comuni

  • OINV T0 INNER JOIN OUSR T1 ON T1.USERID = T0.UserSign (utente che ha creato la fattura)
  • OINV T0 LEFT JOIN OUSR T2 ON T2.USERID = T0.UserSign2 (utente che l’ha aggiornata per ultimo)
  • ADOC T3 INNER JOIN OUSR T1 ON T1.USERID = T3.UserSign2 (utente per versione dello storico)
  • OHEM T4 LEFT JOIN OUSR T1 ON T1.USERID = T4.userId (utente di un dipendente)

Quando si usa la tabella OUSR

Usi OUSR per mostrare chi ha creato o modificato i documenti, elencare gli account attivi, bloccati e di superutente in una revisione degli accessi e contare i documenti per utente.

Query di esempio: fatture create per utente nel mese corrente

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 (nomi delle colonne tra virgolette doppie)

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

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Collegare UserSign a USER_CODE

UserSign e UserSign2 sono numeri che corrispondono a OUSR.USERID, non al codice di accesso in USER_CODE. Un join su USER_CODE non restituisce nulla o restituisce l’utente sbagliato. Selezioni inoltre colonne con nome: SELECT * su OUSR porta nel risultato anche le colonne password. Veda Query dei documenti creati per utente.

Query pronte che usano OUSR (pagine in inglese)

Domande sulla tabella OUSR

A quale colonna di OUSR punta UserSign?

A OUSR.USERID, il numero interno dell’utente. USER_CODE è il codice di accesso.

Come trovo i superutenti in SAP Business One?

Selezioni gli utenti con OUSR.SUPERUSER = 'Y' e controlli Locked per vedere se l’account è ancora in uso.

Cosa significa GROUPS = 99 in OUSR?

L’SDK indica 99 come eliminato e 0 come normale.

Tabelle correlate

ADOC (Storico documenti (storico fatture)) · OHEM (Dipendenti (anagrafica dipendenti)) · OINV (Fattura cliente (testata)) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.