Tabella UFD1 in SAP Business One (Campi utente (valori validi))

UFD1 è la tabella di SAP Business One dei valori validi dei campi utente: una riga per valore di un elenco a discesa di un UDF, con il valore memorizzato (FldValue) e la sua descrizione. Si collega alla definizione del campo in CUFD tramite TableID e FieldID, quindi trasforma il codice memorizzato in una colonna U_ nel testo visibile agli utenti.

Campi chiave di UFD1

CampoContenuto
TableIDTabella del campo utente. Si collega a CUFD.TableID.
FieldIDNumero del campo. Si collega a CUFD.FieldID.
IndexIDPosizione del valore nell’elenco.
FldValueValore memorizzato nella colonna U_.
DescrDescrizione visibile agli utenti.
FldDateValore data.

Come UFD1 si collega alle altre tabelle

UFD1 è l’elenco dei valori di CUFD: TableID più FieldID puntano a un UDF, e IndexID ordina i valori. Un UDF senza valori validi non ha righe in UFD1. La tabella di business memorizza FldValue nella sua colonna U_, non la descrizione.

Join più comuni

  • UFD1 T1 INNER JOIN CUFD T0 ON T0.TableID = T1.TableID AND T0.FieldID = T1.FieldID (definizione del campo)
  • OINV T2 LEFT JOIN UFD1 T1 ON T1.TableID = 'OINV' AND T1.FieldID = <FieldID> AND T1.FldValue = T2.U_<name> (descrizione di un valore memorizzato)

Quando si usa la tabella UFD1

Usi UFD1 per mostrare nei report la descrizione di un valore di UDF, elencare i valori dell’elenco a discesa di ogni UDF e trovare valori memorizzati che non sono più nell’elenco.

Query di esempio: valori validi di tutti gli UDF del database

SQL Server

SELECT T0.TableID, 'U_' + T0.AliasID AS ColumnName, T0.Descr AS FieldDescr,
  T1.IndexID, T1.FldValue, T1.Descr AS ValueDescr
FROM UFD1 T1
INNER JOIN CUFD T0 ON T0.TableID = T1.TableID AND T0.FieldID = T1.FieldID
ORDER BY T0.TableID, T0.AliasID, T1.IndexID

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T0."TableID", 'U_' || T0."AliasID" AS "ColumnName", T0."Descr" AS "FieldDescr",
  T1."IndexID", T1."FldValue", T1."Descr" AS "ValueDescr"
FROM UFD1 T1
INNER JOIN CUFD T0 ON T0."TableID" = T1."TableID" AND T0."FieldID" = T1."FieldID"
ORDER BY T0."TableID", T0."AliasID", T1."IndexID"

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 solo tramite FieldID

FieldID è numerato per tabella, quindi il campo 0 esiste in OINV, in OCRD e in qualsiasi altra tabella con UDF. Un join su FieldID senza TableID moltiplica le righe e mescola valori di campi diversi. Colleghi sempre tramite TableID e FieldID insieme. Veda Tabella CUFD (definizioni degli UDF).

Domande sulla tabella UFD1

Come collego UFD1 a CUFD?

Tramite TableID e FieldID insieme.

Nella colonna U_ viene memorizzata la descrizione o il valore?

Il valore (UFD1.FldValue). UFD1.Descr è il testo visibile agli utenti.

Perché un UDF non ha righe in UFD1?

Non ha valori validi definiti; è un campo a inserimento libero.

Tabelle correlate

CUFD (Campi utente (descrizioni)) · OUTB (Tabelle utente) · 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.