Tabela CUFD no SAP Business One (Campos definidos pelo usuário (descrições))
CUFD é a tabela do SAP Business One que descreve cada campo definido pelo usuário (UDF): uma linha por tabela e campo, com o nome do campo (AliasID), descrição, tipo, tamanho, valor padrão, indicador de obrigatório e a tabela vinculada. O UDF em si é uma coluna chamada U_ mais o AliasID na tabela indicada por TableID; os valores válidos ficam na UFD1.
Campos-chave da CUFD
| Campo | O que contém |
|---|---|
TableID | Tabela à qual o campo pertence, por exemplo OINV. |
FieldID | Número do campo dentro da tabela. Junto com TableID identifica o campo. |
AliasID | Nome do campo (título). A coluna no banco de dados é U_ mais este nome. |
Descr | Descrição do campo. |
TypeID | Tipo de campo. |
EditType | Tipo de edição (subtipo). |
SizeID / EditSize | Tamanho e tamanho de edição. |
Dflt | Valor padrão. |
NotNull | Y = campo de preenchimento obrigatório. |
IndexID | Y = criar índice. |
RTable | Tabela vinculada. Relaciona com OUTB.TableName. |
RelUDO / RelSO | Objeto definido pelo usuário relacionado e objeto do sistema relacionado. |
Como a CUFD se relaciona com outras tabelas
A CUFD é a camada de definição dos UDFs. A UFD1 guarda os valores válidos de um campo, relacionados por TableID e FieldID. RTable aponta para uma tabela definida pelo usuário na OUTB quando o campo está vinculado a uma. Os valores que os usuários digitam não ficam na CUFD: ficam nas colunas U_ da própria tabela de negócio.
Joins mais comuns
CUFD T0 LEFT JOIN UFD1 T1 ON T1.TableID = T0.TableID AND T1.FieldID = T0.FieldID (valores válidos)CUFD T0 LEFT JOIN OUTB T2 ON T2.TableName = T0.RTable (tabela definida pelo usuário vinculada)
Quando usar a tabela CUFD
Use a CUFD para documentar todos os UDFs de uma empresa antes de um upgrade ou migração, encontrar campos obrigatórios que bloqueiam lançamentos pela DI API ou pelo Service Layer e comparar os UDFs entre uma base de teste e a de produção.
Consulta de exemplo: todos os UDFs do cabeçalho da nota fiscal de saída com seus valores válidos
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 (nomes de colunas entre aspas duplas)
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"
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: Consultar o AliasID sem o prefixo U_
CUFD.AliasID guarda o nome sem o prefixo, mas a coluna na tabela de negócio é U_ mais esse nome. Uma consulta que seleciona o AliasID como está falha com erro de coluna inválida. Relacione também a UFD1 por TableID e FieldID juntos; o FieldID sozinho se repete em cada tabela. Veja Tabela UFD1 (valores válidos de UDF).
Perguntas sobre a tabela CUFD
Onde são definidos os campos de usuário no SAP Business One?
Na CUFD, uma linha por tabela (TableID) e campo (FieldID). Os valores válidos ficam na UFD1.
Qual é o nome da coluna de um UDF?
U_ seguido de CUFD.AliasID, na tabela indicada em CUFD.TableID.
Como encontro os UDFs obrigatórios?
Filtre CUFD.NotNull = 'Y'.
Tabelas relacionadas
UFD1 (Campos definidos pelo usuário (valores válidos)) · 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.
