Tabelle CUFD in SAP Business One (Benutzerdefinierte Felder (Beschreibungen))

CUFD ist die Tabelle in SAP Business One, die jedes benutzerdefinierte Feld (UDF) beschreibt: eine Zeile pro Tabelle und Feld, mit Feldname (AliasID), Beschreibung, Typ, Größe, Standardwert, Pflichtkennzeichen und verknüpfter Tabelle. Das UDF selbst ist eine Spalte namens U_ plus AliasID in der durch TableID angegebenen Tabelle; seine gültigen Werte liegen in UFD1.

Wichtige Felder der Tabelle CUFD

FeldInhalt
TableIDTabelle, zu der das Feld gehört, zum Beispiel OINV.
FieldIDFeldnummer innerhalb der Tabelle. Zusammen mit TableID identifiziert sie das Feld.
AliasIDFeldname (Titel). Die Datenbankspalte ist U_ plus dieser Name.
DescrFeldbeschreibung.
TypeIDFeldtyp.
EditTypeBearbeitungstyp (Untertyp).
SizeID / EditSizeGröße und Bearbeitungsgröße.
DfltStandardwert.
NotNullY = Pflichtfeld.
IndexIDY = Index anlegen.
RTableVerknüpfte Tabelle. Verknüpft mit OUTB.TableName.
RelUDO / RelSOZugehöriges benutzerdefiniertes Objekt und zugehöriges Systemobjekt.

Wie CUFD mit anderen Tabellen zusammenhängt

CUFD ist die Definitionsebene der UDFs. UFD1 enthält die gültigen Werte eines Feldes, verknüpft über TableID und FieldID. RTable verweist auf eine benutzerdefinierte Tabelle in OUTB, wenn das Feld mit einer verknüpft ist. Die von Anwendern eingegebenen Werte stehen nicht in CUFD, sondern in den U_-Spalten der Geschäftstabelle selbst.

Typische Joins

  • CUFD T0 LEFT JOIN UFD1 T1 ON T1.TableID = T0.TableID AND T1.FieldID = T0.FieldID (gültige Werte)
  • CUFD T0 LEFT JOIN OUTB T2 ON T2.TableName = T0.RTable (verknüpfte benutzerdefinierte Tabelle)

Wann Sie die Tabelle CUFD verwenden

Verwenden Sie CUFD, um vor einem Upgrade oder einer Migration alle UDFs eines Unternehmens zu dokumentieren, Pflichtfelder zu finden, die Buchungen über DI API oder Service Layer blockieren, und UDFs zwischen einer Test- und einer Produktivdatenbank zu vergleichen.

Beispielabfrage: Alle UDFs im Kopf der Ausgangsrechnung mit ihren gültigen Werten

SQL Server

SELECT T0.TableID, T0.FieldID, 'U_' + T0.AliasID AS ColumnName, T0.Descr, T0.TypeID,
  T0.SizeID, T0.NotNull, T0.Dflt, T1.FldValue, T1.Descr AS ValueDescr
FROM CUFD T0
LEFT JOIN UFD1 T1 ON T1.TableID = T0.TableID AND T1.FieldID = T0.FieldID
WHERE T0.TableID = 'OINV'
ORDER BY T0.FieldID, T1.IndexID

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T0."TableID", T0."FieldID", 'U_' || T0."AliasID" AS "ColumnName", T0."Descr", T0."TypeID",
  T0."SizeID", T0."NotNull", T0."Dflt", T1."FldValue", T1."Descr" AS "ValueDescr"
FROM CUFD T0
LEFT JOIN UFD1 T1 ON T1."TableID" = T0."TableID" AND T1."FieldID" = T0."FieldID"
WHERE T0."TableID" = 'OINV'
ORDER BY T0."FieldID", 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: AliasID ohne das Präfix U_ abfragen

CUFD.AliasID speichert den Namen ohne Präfix, die Spalte in der Geschäftstabelle ist aber U_ plus dieser Name. Eine Abfrage, die AliasID wie eingegeben auswählt, scheitert mit einem Fehler wegen ungültiger Spalte. Verknüpfen Sie UFD1 außerdem über TableID und FieldID zusammen; FieldID allein wiederholt sich in jeder Tabelle. Siehe UFD1-Tabelle (gültige Werte der UDFs).

Fragen zur Tabelle CUFD

Wo werden benutzerdefinierte Felder in SAP Business One definiert?

In CUFD, eine Zeile pro Tabelle (TableID) und Feld (FieldID). Gültige Werte liegen in UFD1.

Wie heißt die Spalte eines UDF?

U_ gefolgt von CUFD.AliasID, in der in CUFD.TableID genannten Tabelle.

Wie finde ich Pflicht-UDFs?

Filtern Sie CUFD.NotNull = 'Y'.

Verwandte Tabellen

UFD1 (Benutzerdefinierte Felder (gültige Werte)) · 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.