Ir para o conteúdo

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 menu de ações 3 para abrir o menu de ações. No menu, selecione Adicionar condição ao nó:

condição de adição do nó de destino

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:

condição vazia

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:

condição se

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:

abreviação da condição

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 condição exibido à direita do nó de destino:

ícone de condição do nó de destino

Ou passe o mouse sobre o nome do nó e clique no ícone do menu de ações menu de ações 3 para abrir o menu de ações. No menu, selecione Editar condição:

condição de edição do nó de destino

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 menu de ações 3 para abrir o menu de ações. No menu, selecione Remover condição:

condição de remoção do nó de destino

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.