Saltar al contenido

Mapeo Condicional

Introducción

La creación de una condición en un nodo de destino, denominada asignación condicional, le permite especificar si un registro de origen que se está procesando debe enviarse al destino en función de una condición definida. La condición determina (sí o no) si el registro está mapeado. Como parte de esa determinación, puede incluir lógica para establecer qué valores se utilizan en la asignación. Por ejemplo, un registro podría usarse sólo si el tamaño de un campo de texto es menor que un máximo especificado.

Notas Importantes

Cuando utilice un secuencia de comandos de condición en un nodo de destino, tenga en cuenta estas notas:

  • Se pueden agregar condiciones a los nodos de destino en cualquier nivel de estructura dependiendo de la multiplicidad definida por la clave de cardinalidad.
  • Los nodos de destino que pueden tener una condición solo pueden tener una condición para cada nodo. Por tanto, toda la lógica de la condición debe residir en esa condición.
  • El secuencia de comandos de condición siempre se evalúa antes de evaluar cualquier campo de destino. Esto significa que toda la lógica para crear o determinar los valores para esos campos de destino debe estar en el secuencia de comandos de condición si el secuencia de comandos de condición requiere esos valores para completar su determinación.
  • Si hay varias condiciones presentes, se evalúan en el orden del nodo externo al nodo interno; si están en el mismo nivel, se evalúan en orden de arriba a abajo.

Agregar una Condición

Puede agregar condiciones como secuencias de comandos en nodos de destino en cualquier nivel de una estructura de datos. Desde cualquier modo de mapeo o modo secuencia de comandos, coloque el cursor sobre el nombre del nodo y haga clic en el icono del menú de acciones menú de acciones 3 para abrir el menú de acciones. En el menú, seleccione Agregar condición al nodo:

condición de adición del nodo de destino

Al seleccionar esta opción, si aún no está en el modo de secuencia de comandos, se le llevará al modo de secuencia de comandos para crear una condición ingresando una secuencia de comandos en el nodo seleccionado:

condición vacía

El contenido del secuencia de comandos especifica la condición para generar el registro. Una condición debe devolver un true (1) o false (0) valor. Puede contener otra lógica y un efecto secundario de esa lógica puede ser establecer el valor de otros nodos en la transformación.

Ejemplo 1

El siguiente secuencia de comandos requiere que el objeto fuente CleanStatus evalúa a true para que se procese el expediente. Si CleanStatus evalúa a false, entonces se omite el nodo y este registro en particular no se procesa:

condición si

Ejemplo 2

También puedes utilizar el == operador igual como abreviatura para escribir secuencias de comandos de condición. Por ejemplo, la misma condición utilizada en el Ejemplo 1 podría escribirse así:

taquigrafía de condición

Ejemplo 3

Para establecer una condición tal que un registro se use solo si se estableció una marca para publicarlo, puede usar un secuencia de comandos como este:

bool(Publish_To_Community__c) == true

Ejemplo 4

Establecer una condición tal que un registro se use solo si es menor que un tamaño máximo, asumiendo que el texto del artículo está en el elemento json$results$item.body$view$value$, podrías usar un secuencia de comandos 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;

Ejemplo 5

Un secuencia de comandos de condición también puede establecer valores utilizados en otros nodos. A partir del Ejemplo 4, el nodo de condición puede, como parte de su lógica, establecer el contenido previsto de un campo en una variable global:

...
$articleDetails = Replace(json$results$item.body$view$value$,
                          'href="/','href="https://example.com/');
...

Luego, la variable global se utiliza para establecer el valor en el campo de destino deseado. Article_Details__c:

$articleDetails;

Editar una Condición

Desde cualquier modo de mapeo o modo secuencia de comandos, haga clic en el icono de condición condición mostrado a la derecha del nodo de destino:

icono de condición del nodo de destino

O bien, coloque el cursor sobre el nombre del nodo y haga clic en el icono del menú de acciones menú de acciones 3 para abrir el menú de acciones. En el menú, seleccione Editar condición:

condición de edición del nodo de destino

Si aún no está en el modo de secuencia de comandos, se le llevará al modo de secuencia de comandos para editar la condición editando la secuencia de comandos en el nodo seleccionado.

Eliminar una Condición

Desde cualquier modo de mapeo o modo secuencia de comandos, coloque el cursor sobre el nombre del nodo y haga clic en el icono del menú de acciones menú de acciones 3 para abrir el menú de acciones. En el menú, seleccione Eliminar condición:

condición de eliminación del nodo objetivo

Se borra el contenido del secuencia de comandos, eliminando la condición.

También puede eliminar una condición editando manualmente el secuencia de comandos de condición para borrar su contenido.