Tabelle UFD1 in SAP Business One (Benutzerdefinierte Felder (gültige Werte))

UFD1 ist die Tabelle der gültigen Werte für benutzerdefinierte Felder in SAP Business One: eine Zeile pro Wert einer UDF-Auswahlliste, mit gespeichertem Wert (FldValue) und seiner Beschreibung. Sie wird über TableID und FieldID mit der Felddefinition in CUFD verknüpft und macht so aus dem in einer U_-Spalte gespeicherten Code den Text, den der Anwender sieht.

Wichtige Felder der Tabelle UFD1

FeldInhalt
TableIDTabelle des benutzerdefinierten Feldes. Verknüpft mit CUFD.TableID.
FieldIDFeldnummer. Verknüpft mit CUFD.FieldID.
IndexIDPosition des Wertes in der Liste.
FldValueIn der U_-Spalte gespeicherter Wert.
DescrDem Anwender angezeigte Beschreibung.
FldDateDatumswert.

Wie UFD1 mit anderen Tabellen zusammenhängt

UFD1 ist die Werteliste von CUFD: TableID plus FieldID verweisen auf ein UDF, und IndexID ordnet die Werte. Ein UDF ohne gültige Werte hat keine Zeilen in UFD1. Die Geschäftstabelle speichert FldValue in ihrer U_-Spalte, nicht die Beschreibung.

Typische Joins

  • UFD1 T1 INNER JOIN CUFD T0 ON T0.TableID = T1.TableID AND T0.FieldID = T1.FieldID (Felddefinition)
  • OINV T2 LEFT JOIN UFD1 T1 ON T1.TableID = 'OINV' AND T1.FieldID = <FieldID> AND T1.FldValue = T2.U_<name> (Beschreibung eines gespeicherten Wertes)

Wann Sie die Tabelle UFD1 verwenden

Verwenden Sie UFD1, um die Beschreibung eines UDF-Wertes in Berichten anzuzeigen, die Auswahlwerte jedes UDF aufzulisten und gespeicherte Werte zu finden, die nicht mehr in der Liste stehen.

Beispielabfrage: Gültige Werte jedes UDF in der Datenbank

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 (Spaltennamen in doppelten Anführungszeichen)

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"

Fügen Sie eine der beiden Versionen unter Extras → Abfragen → Abfragegenerator ein. Sie brauchen den anderen Dialekt für Ihre eigene Abfrage? Nutzen Sie den SQL-zu-HANA-Konverter.

Typischer Fallstrick: Nur über FieldID verknüpfen

FieldID wird pro Tabelle nummeriert, Feld 0 gibt es also in OINV, OCRD und jeder anderen Tabelle mit UDFs. Ein Join über FieldID ohne TableID vervielfacht die Zeilen und mischt Werte verschiedener Felder. Verknüpfen Sie immer über TableID und FieldID zusammen. Siehe CUFD-Tabelle (UDF-Definitionen).

Fragen zur Tabelle UFD1

Wie verknüpfe ich UFD1 mit CUFD?

Über TableID und FieldID zusammen.

Wird in der U_-Spalte die Beschreibung oder der Wert gespeichert?

Der Wert (UFD1.FldValue). UFD1.Descr ist der Text, den der Anwender sieht.

Warum hat ein UDF keine Zeilen in UFD1?

Es sind keine gültigen Werte definiert; es ist ein Freitextfeld.

Verwandte Tabellen

CUFD (Benutzerdefinierte Felder (Beschreibungen)) · OUTB (Benutzerdefinierte Tabellen) · alle SAP-Business-One-Tabellen durchsuchen

Quellen: Dokumentation und SDK zu SAP Business One (Referenz der DI-API-Datenbanktabellen), SAP Help Portal.

Bereit für den Start?

Sagen Sie uns, was Sie brauchen. Sie erhalten eine klare technische Antwort, einen festen Leistungsumfang und einen Preis, in der Regel innerhalb von 24 Stunden.