Pular para o conteúdo principal

Referência de dados de referência

Um tipo de lookup e seus valores.

Tipo de lookup

CampoAceitaPadrãoAlterávelO que faz
name1–255 caracteresNãoIdentifica a lista onde quer que a configuração se refira a ela.
displayName1–255 caracteresSimO que as pessoas leem no console.
descriptionAté 2.000 caracteresSimTexto livre.
isHierarchicalverdadeiro ou falsofalseSimSe os valores podem referenciar um valor pai, formando uma árvore.
lifecycleStatedraft, active, retiredactiveSimEm que ponto da vida a lista está. Uma lista em rascunho pode ser montada antes que algo se vincule a ela; uma aposentada deixa de ser oferecida.
versionLabel1–32 caracteresv1NãoQual versão publicada da lista é esta.
metadataUm objeto{}SimSuas próprias anotações, armazenadas e devolvidas sem interpretação.

Uma lista nova nasce ativa salvo indicação contrária. Se você está montando um vocabulário e não quer que ele seja vinculado a atributos no meio da construção, crie-a como draft e promova-a quando os valores estiverem no lugar.

Valor de lookup

CampoAceitaPadrãoAlterávelO que faz
lookupTypeIdUm tipo de lookupNãoA qual lista o valor pertence. Um valor não pode mudar de lista.
code1–100 caracteresNãoO que fica armazenado nos registros. Veja o aviso adiante.
label1–500 caracteresSimTexto de exibição. Livremente alterável — o código é o que os registros guardam, então renomear um rótulo não reescreve nada.
parentValueIdOutro valor, ou vazioSimO pai numa lista hierárquica. Vazio significa raiz, e limpá-lo devolve o valor à raiz.
sortOrderInteiro, 0 ou maior0SimOrdem de apresentação dentro do seu nível.
isActiveverdadeiro ou falsotrueSimSe o valor é oferecido para dados novos. Valores aposentados continuam resolvendo em registros existentes.
effectiveFromUm instanteSimQuando o valor passa a ser válido.
effectiveToUm instanteSimQuando deixa de ser válido.
metadataUm objeto{}SimSuas próprias anotações, armazenadas e devolvidas sem interpretação.

Rótulos em outros idiomas não são um campo do valor — são um recurso filho separado, de modo que um valor carrega um rótulo por idioma sem que o próprio valor mude.

O código é permanente

code é o que todo registro armazena. Ele não pode ser editado, e a restrição é estrutural, não cautelosa: os rótulos são resolvidos procurando o código armazenado na sua lista, então um código alterado deixaria todo registro existente apontando para um valor que não existe mais — exibindo um código cru onde deveria haver um nome, em dados que estavam corretos quando foram gravados.

Se um código está genuinamente errado, adicione o valor correto e migre os registros para ele. Acerte os códigos no início; trate-os como permanentes a partir do momento em que o primeiro registro usa um.

Um código aposentado ainda renderiza

A resolução de rótulo deliberadamente ignora o sinalizador de ativo e a janela de vigência. Um código aposentado num registro histórico ainda precisa exibir seu rótulo — a alternativa é um registro que silenciosamente perde significado porque um vocabulário seguiu em frente.

Transcodificação

ConfiguraçãoNotas
Tipo de lookupQual lista o mapeamento mira
Sistema de origemDe quem são os códigos sendo mapeados
Valor de origemO código que chega
Valor canônicoO valor no qual ele se torna

Mapeamentos são por sistema de origem, então dois sistemas podem mapear códigos diferentes para o mesmo valor canônico sem ambiguidade.

Um mapeamento como o pacote bancário distribuído o declara:

{ "lookupType": "account_types",
"sourceSystem": "core_banking",
"sourceValue": "CHK",
"canonicalCode": "checking" }

O sistema central chama de CHK. A lista canônica chama de checking. Nenhum sistema precisa mudar, e nada a jusante — comparação, busca, relatórios — jamais vê CHK.

O escopo por sistema de origem é o que torna isso seguro. CHK do sistema central e CHECKING de uma processadora de cartões resolvem ambos para checking, enquanto a mesma string vinda de dois sistemas pode legitimamente significar coisas diferentes e ainda ser mapeada corretamente.

A transcodificação vale em gravações de registro único, não em massa

O mapeamento é consultado quando um registro é criado ou alterado individualmente e quem chama identificou seu sistema de origem. Uma carga em massa resolve códigos de forma estrita e direta, então traduza os valores antes de submetê-los em volume — um código não mapeado ali faz a carga falhar em vez de ser convertido silenciosamente.

Hierarquias

ConceitoNotas
HierarquiaUma estrutura nivelada nomeada
NívelUm patamar ordenado dentro dela
Uma posição, referenciando um valor de lookup
AgregaçãoConsolidação de um nível para cima

Dois conceitos distintos compartilham a palavra "hierarquia" e vale mantê-los separados:

O que éUsado para
Árvore de valoresUm valor referenciando um valor paiRestringir valores permitidos
Hierarquia niveladaUma estrutura nomeada com níveis ordenadosClassificação e agregação

Proteção contra exclusão

Um valor de lookup em uso não pode ser excluído. A plataforma reporta quais registros o referenciam em vez de cascatear, porque cascatear aqui reescreveria silenciosamente dados governados.

A seguir


Última verificação no commit d3c2586b (2026-08-03)