Tabela UFD1 no SAP Business One (Campos definidos pelo usuário (valores válidos))
UFD1 é a tabela do SAP Business One de valores válidos dos campos definidos pelo usuário: uma linha por valor de uma lista suspensa de UDF, com o valor gravado (FldValue) e a sua descrição. Relaciona com a definição do campo na CUFD por TableID e FieldID, então converte o código gravado em uma coluna U_ no texto que os usuários veem.
Campos-chave da UFD1
| Campo | O que contém |
|---|---|
TableID | Tabela do campo definido pelo usuário. Relaciona com CUFD.TableID. |
FieldID | Número do campo. Relaciona com CUFD.FieldID. |
IndexID | Posição do valor na lista. |
FldValue | Valor gravado na coluna U_. |
Descr | Descrição exibida aos usuários. |
FldDate | Valor de data. |
Como a UFD1 se relaciona com outras tabelas
A UFD1 é a lista de valores da CUFD: TableID mais FieldID apontam para um UDF, e IndexID ordena os valores. Um UDF sem valores válidos não tem linhas na UFD1. A tabela de negócio grava o FldValue na sua coluna U_, não a descrição.
Joins mais comuns
UFD1 T1 INNER JOIN CUFD T0 ON T0.TableID = T1.TableID AND T0.FieldID = T1.FieldID (definição do campo)OINV T2 LEFT JOIN UFD1 T1 ON T1.TableID = 'OINV' AND T1.FieldID = <FieldID> AND T1.FldValue = T2.U_<name> (descrição de um valor gravado)
Quando usar a tabela UFD1
Use a UFD1 para mostrar a descrição de um valor de UDF nos relatórios, listar os valores da lista suspensa de cada UDF e encontrar valores gravados que já não estão na lista.
Consulta de exemplo: valores válidos de todos os UDFs do banco de dados
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 (nomes de colunas entre aspas duplas)
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"
Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.
Erro comum: Relacionar só por FieldID
O FieldID é numerado por tabela, então o campo 0 existe na OINV, na OCRD e em qualquer outra tabela com UDFs. Um join por FieldID sem TableID multiplica as linhas e mistura valores de campos diferentes. Relacione sempre por TableID e FieldID juntos. Veja Tabela CUFD (definições de UDF).
Perguntas sobre a tabela UFD1
Como relaciono a UFD1 com a CUFD?
Por TableID e FieldID juntos.
Na coluna U_ fica gravada a descrição ou o valor?
O valor (UFD1.FldValue). UFD1.Descr é o texto que os usuários veem.
Por que um UDF não tem linhas na UFD1?
Ele não tem valores válidos definidos; é um campo de preenchimento livre.
Tabelas relacionadas
CUFD (Campos definidos pelo usuário (descrições)) · OUTB (Tabelas definidas pelo usuário) · pesquisar todas as tabelas do SAP Business One
Pronto para começar?
Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.
