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 caracteres—NãoIdentifica a lista onde quer que a configuração se refira a ela.
displayName1–255 caracteres—SimO que as pessoas leem no console.
descriptionAté 2.000 caracteres—SimTexto 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 lookup—NãoA qual lista o valor pertence. Um valor não pode mudar de lista.
code1–100 caracteres—NãoO que fica armazenado nos registros. Veja o aviso adiante.
label1–500 caracteres—SimTexto 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 vazio—SimO 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 instante—SimQuando o valor passa a ser válido.
effectiveToUm instante—SimQuando 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
Nó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​