Mapeamento Condicional¶
Introdução¶
A criação de uma condição em um nó de destino, conhecida como mapeamento condicional, permite especificar se um registro de origem que está sendo processado deve ser enviado para o destino com base em uma condição definida. A condição determina (sim ou não) se o registro está mapeado. Como parte dessa determinação, você pode incluir lógica para definir quais valores serão usados no mapeamento. Por exemplo, um registro poderá ser usado somente se o tamanho de um campo de texto for menor que um máximo especificado.
Anotações Importantes¶
Ao usar um script de condição em um nó de destino, esteja ciente destas notas:
- As condições podem ser adicionadas aos nós de destino em qualquer nível de estrutura, dependendo da multiplicidade definida pela chave de cardinalidade.
- Os nós de destino que podem ter uma condição podem ter apenas uma condição para cada nó. Assim, toda lógica para a condição deve residir nessa condição.
- O script de condição é sempre avaliado antes de qualquer campo de destino ser avaliado. Isso significa que toda a lógica para criar ou determinar os valores desses campos de destino deverá estar no script de condição se o script de condição exigir esses valores para concluir sua determinação.
- Se múltiplas condições estiverem presentes, elas serão avaliadas na ordem do nó externo para o nó interno; se estiverem no mesmo nível, serão avaliados na ordem de cima para baixo.
Adicionar uma Condição¶
Você pode adicionar condições como scripts em nós de destino em qualquer nível de uma estrutura de dados. De qualquer modo de mapeamento ou modo de script, passe o mouse sobre o nome do nó e clique no ícone do menu de ações para abrir o menu de ações. No menu, selecione Adicionar condição ao nó:
Ao selecionar esta opção, se ainda não estiver no modo de script, você será levado ao modo de script para criar uma condição inserindo um script no nó selecionado:
O conteúdo do script especifica a condição para gerar o registro. Uma condição deve retornar um true
(1) ou false
(0) valor. Ele pode conter outra lógica, e um efeito colateral dessa lógica pode ser definir o valor de outros nós na transformação.
Exemplo 1¶
O script abaixo requer que o objeto de origem CleanStatus
avalia para true
para que o registro seja processado. Se CleanStatus
avalia para false
, o nó será ignorado e esse registro específico não será processado:
Exemplo 2¶
Você também pode usar o ==
operador igual como abreviação para escrever scripts de condição. Por exemplo, a mesma condição usada no Exemplo 1 poderia ser escrita assim:
Exemplo 3¶
Para definir uma condição para que um registro seja usado somente se um sinalizador para publicá-lo tiver sido definido, você poderia usar um script como este:
bool(Publish_To_Community__c) == true
Exemplo 4¶
Definir uma condição para que um registro seja usado somente se for menor que o tamanho máximo, assumindo que o texto do artigo esteja no elemento json$results$item.body$view$value$
, você poderia usar um script como este:
pass = true;
// Log article size
$articleDetailsSize = Length(json$results$item.body$view$value$);
WriteToOperationLog('Current article:' +
json$start$ + ' articleDetailsSize:' + $articleDetailsSize);
// Checks if the article size > $MaxArticleDetailSize;
// if so, the article is ignored
if($articleDetailsSize > $MaxArticleDetailSize,
WriteToOperationLog("Ignoring Id " + json$results$item.id$ +
" as too large (" + $articleDetailsSize + ")");
pass = false;
);
pass;
Exemplo 5¶
Um script de condição também pode definir valores usados em outros nós. Com base no Exemplo 4, o nó de condição pode, como parte de sua lógica, definir o conteúdo pretendido de um campo para uma variável global:
...
$articleDetails = Replace(json$results$item.body$view$value$,
'href="/','href="https://example.com/');
...
A variável global é então usada para definir o valor no campo de destino desejado Article_Details__c
:
$articleDetails;
Editar uma Condição¶
De qualquer modo de mapeamento ou modo de script, clique no ícone de condição exibido à direita do nó de destino:
Ou passe o mouse sobre o nome do nó e clique no ícone do menu de ações para abrir o menu de ações. No menu, selecione Editar condição:
Se ainda não estiver no modo de script, você será levado ao modo de script para editar a condição editando o script no nó selecionado.
Remover uma Condição¶
De qualquer modo de mapeamento ou modo de script, passe o mouse sobre o nome do nó e clique no ícone do menu de ações para abrir o menu de ações. No menu, selecione Remover condição:
O conteúdo do script é limpo, removendo a condição.
Você também pode remover uma condição editando manualmente o script de condição para limpar seu conteúdo.