Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Mapeo condicional en transformaciones en Jitterbit Integration Studio

Introducción

La creación de una condición en un nodo de destino, denominada mapeo condicional, permite especificar si un registro de origen que se está procesando debe enviarse al destino según una condición definida. La condición determina si el registro se mapea. Como parte de esta determinación, se puede incluir lógica para definir los valores que se utilizan en el mapeo. Por ejemplo, un registro podría usarse solo si el tamaño de un campo de texto es menor que un máximo especificado.

Notas importantes

Al utilizar 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 con una cardinalidad de [0+], [0, 1], o [1+] En cualquier nivel de estructura. Si se requiere un nodo ([1+]) y la condición se evalúa como false, la operación puede fallar en tiempo de ejecución. Los nodos de destino que pueden tener una condición solo pueden tener una condición por nodo. Por lo tanto, toda la lógica de la condición debe residir en ella. El secuencia de comandos de condición siempre se evalúa antes de cualquier campo objetivo. Esto significa que toda la lógica para crear o determinar los valores de dichos campos objetivo debe estar en el secuencia de comandos de condición si secuencia de comandos requiere dichos valores para completar su determinación.
  • Si existen múltiples condiciones, se evalúan en orden del nodo externo al nodo interno; si están en el mismo nivel, se evalúan en orden de arriba a abajo.

Añadir una condición

Puede agregar condiciones como secuencias de comandos en nodos de destino con una cardinalidad de [0+], [0, 1], o [1+]. Desde cualquiera de los dos modo de mapeo o modo secuencia de comandos, pase el cursor sobre el nombre del nodo y haga clic en el Icono del menú de acciones de menú de acciones para abrirlo. En el menú, seleccione Añadir 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, pasará al modo de secuencia de comandos para crear una condición ingresando un 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 Valor (0). 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.

Cuando está en modo de mapeo y hay un secuencia de comandos condicional presente, un El icono de condición se muestra en el nodo de destino. Cuando se utiliza un objeto o variable de origen en un secuencia de comandos condicional, líneas de mapeo están conectados al nodo, y el recuento de asignaciones incluye los nodos en los que se hace referencia al campo o variable de origen:

visual de asignación condicional

Nota

Si el nodo es obligatorio ([1+]) y la condición se evalúa como false, la operación puede fallar en tiempo de ejecución.

Ejemplo 1

El secuencia de comandos a continuación requiere que el objeto de origen code evalúa a true para que el expediente sea procesado. Si code 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 usar el == El operador igual se utiliza 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ó un indicador para publicarlo, puede usar un secuencia de comandos como este:

bool(Publish_To_Community__c) == true

Ejemplo 4

Para establecer una condición que permita que un registro se utilice solo si su tamaño es menor que el máximo, suponiendo que el texto del artículo se encuentra 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 deseado de un campo en una variable global:

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

La variable global se utiliza para establecer el valor en el campo objetivo deseado. Article_Details__c:

$articleDetails;

Editar una condición

Desde cualquier modo de mapeo o modo secuencia de comandos, haga clic en el botón naranja Icono de condición mostrado a la derecha del nodo objetivo:

icono de condición del nodo objetivo

O bien, pase el cursor sobre el nombre del nodo y haga clic en el icono Icono del menú de acciones de menú de acciones para abrirlo. En el menú, seleccione Editar condición.

condición de edición del nodo de destino

Si aún no se encuentra en el modo de secuencia de comandos, se lo lleva al modo de secuencia de comandos para editar la condición editando el secuencia de comandos en el nodo seleccionado.

Eliminar una condición

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

condición de eliminación del nodo de destino

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

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