Tabella CUFD in SAP Business One (Campi utente (descrizioni))

CUFD è la tabella di SAP Business One che descrive ogni campo utente (UDF): una riga per tabella e campo, con nome del campo (AliasID), descrizione, tipo, dimensione, valore predefinito, indicatore di obbligatorietà e tabella collegata. L’UDF vero e proprio è una colonna chiamata U_ più AliasID nella tabella indicata da TableID; i suoi valori validi si trovano in UFD1.

Campi chiave di CUFD

CampoContenuto
TableIDTabella a cui appartiene il campo, ad esempio OINV.
FieldIDNumero del campo all’interno della tabella. Insieme a TableID identifica il campo.
AliasIDNome del campo (titolo). La colonna del database è U_ più questo nome.
DescrDescrizione del campo.
TypeIDTipo di campo.
EditTypeTipo di modifica (sottotipo).
SizeID / EditSizeDimensione e dimensione di modifica.
DfltValore predefinito.
NotNullY = campo obbligatorio.
IndexIDY = crea indice.
RTableTabella collegata. Si collega a OUTB.TableName.
RelUDO / RelSOOggetto definito dall’utente correlato e oggetto di sistema correlato.

Come CUFD si collega alle altre tabelle

CUFD è il livello di definizione degli UDF. UFD1 contiene i valori validi di un campo, collegati tramite TableID e FieldID. RTable punta a una tabella utente in OUTB quando il campo è collegato a una tabella di questo tipo. I valori inseriti dagli utenti non sono in CUFD: si trovano nelle colonne U_ della tabella di business stessa.

Join più comuni

  • CUFD T0 LEFT JOIN UFD1 T1 ON T1.TableID = T0.TableID AND T1.FieldID = T0.FieldID (valori validi)
  • CUFD T0 LEFT JOIN OUTB T2 ON T2.TableName = T0.RTable (tabella utente collegata)

Quando si usa la tabella CUFD

Usi CUFD per documentare tutti gli UDF di una società prima di un aggiornamento o di una migrazione, trovare i campi obbligatori che bloccano le registrazioni tramite DI API o Service Layer e confrontare gli UDF tra un database di test e uno di produzione.

Query di esempio: tutti gli UDF della testata della fattura cliente con i relativi valori validi

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

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"

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: Interrogare AliasID senza il prefisso U_

CUFD.AliasID contiene il nome senza prefisso, ma la colonna nella tabella di business è U_ più quel nome. Una query che seleziona l’AliasID così com’è fallisce con un errore di colonna non valida. Colleghi inoltre UFD1 tramite TableID e FieldID insieme; FieldID da solo si ripete in ogni tabella. Veda Tabella UFD1 (valori validi degli UDF).

Domande sulla tabella CUFD

Dove vengono definiti i campi utente in SAP Business One?

In CUFD, una riga per tabella (TableID) e campo (FieldID). I valori validi si trovano in UFD1.

Qual è il nome di colonna di un UDF?

U_ seguito da CUFD.AliasID, nella tabella indicata in CUFD.TableID.

Come trovo gli UDF obbligatori?

Filtri CUFD.NotNull = 'Y'.

Tabelle correlate

UFD1 (Campi utente (valori validi)) · 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.