Tabela OUTB no SAP Business One (Tabelas definidas pelo usuário)

OUTB é a tabela do SAP Business One que lista as tabelas definidas pelo usuário (UDT): uma linha por tabela com nome, descrição, tipo de objeto, o objeto definido pelo usuário que a usa e indicadores de arquivamento. A tabela em si existe no banco de dados com um @ antes do TableName; os campos dela são descritos na CUFD.

Campos-chave da OUTB

CampoO que contém
TableNameNome da tabela sem o prefixo @.
DescrDescrição da tabela.
TblNumNúmero da tabela.
ObjectType0 = sem objeto, 1 = dados mestre, 2 = linhas de dados mestre, 3 = documento, 4 = linhas de documento, 5 = sem objeto com incremento automático.
UsedInObjObjeto definido pelo usuário que usa a tabela.
LogTableTabela de log.
ArchivableY = arquivável.
DisplyMenuY = exibir menu.
ApplyPermY = aplicar autorização.

Como a OUTB se relaciona com outras tabelas

A OUTB registra cada UDT. Os campos de uma UDT são linhas da CUFD com TableID igual ao nome da tabela com o prefixo @, e os valores válidos ficam na UFD1. CUFD.RTable aponta para OUTB.TableName quando um UDF está vinculado a uma UDT.

Joins mais comuns

  • OUTB T0 LEFT JOIN CUFD T1 ON T1.TableID = '@' + T0.TableName (campos da UDT)
  • CUFD T2 INNER JOIN OUTB T0 ON T0.TableName = T2.RTable (UDFs vinculados a uma UDT)

Quando usar a tabela OUTB

Use a OUTB para listar as UDTs de um add-on ou de uma customização, ver quais pertencem a um objeto definido pelo usuário e documentá-las antes de um upgrade ou de uma migração para HANA.

Consulta de exemplo: tabelas definidas pelo usuário com tipo de objeto e número de campos

SQL Server

SELECT T0.TableName, '@' + T0.TableName AS DbTable, T0.Descr, T0.ObjectType, T0.UsedInObj,
  COUNT(T1.FieldID) AS UserFields
FROM OUTB T0
LEFT JOIN CUFD T1 ON T1.TableID = '@' + T0.TableName
GROUP BY T0.TableName, T0.Descr, T0.ObjectType, T0.UsedInObj
ORDER BY T0.TableName

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T0."TableName", '@' || T0."TableName" AS "DbTable", T0."Descr", T0."ObjectType", T0."UsedInObj",
  COUNT(T1."FieldID") AS "UserFields"
FROM OUTB T0
LEFT JOIN CUFD T1 ON T1."TableID" = '@' || T0."TableName"
GROUP BY T0."TableName", T0."Descr", T0."ObjectType", T0."UsedInObj"
ORDER BY T0."TableName"

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: Esquecer o prefixo @

OUTB.TableName é gravado sem o @, mas a tabela do banco de dados e CUFD.TableID o usam (por exemplo @MYTABLE). As consultas na UDT devem usar o nome com o prefixo, e no HANA o nome precisa ficar entre aspas duplas por causa do caractere @. Veja Tabela CUFD (definições de UDF).

Perguntas sobre a tabela OUTB

Onde fica a lista de tabelas definidas pelo usuário?

Na OUTB, uma linha por UDT. Os campos ficam na CUFD.

O que significa ObjectType na OUTB?

0 sem objeto, 1 dados mestre, 2 linhas de dados mestre, 3 documento, 4 linhas de documento, 5 sem objeto com incremento automático.

Qual é o nome de uma UDT no banco de dados?

O TableName da OUTB com um @ na frente.

Tabelas relacionadas

CUFD (Campos definidos pelo usuário (descrições)) · UFD1 (Campos definidos pelo usuário (valores válidos)) · 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.