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

CampoO que contém
TableIDTabela do campo definido pelo usuário. Relaciona com CUFD.TableID.
FieldIDNúmero do campo. Relaciona com CUFD.FieldID.
IndexIDPosição do valor na lista.
FldValueValor gravado na coluna U_.
DescrDescrição exibida aos usuários.
FldDateValor 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

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

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.