Sustitución dinámica en Jitterbit App Builder
Sustitución dinámica es un tipo de sintaxis que se puede usar en App Builder para sustituir dinámicamente el resultado de una expresión, ya sea en la capa de lógica de negocio o en la capa de interfaz de usuario de la aplicación. En la capa de lógica de negocio, se usa para sustituir dinámicamente datos, y en la capa de interfaz de usuario de la aplicación, para sustituir dinámicamente el valor resultante que se muestra. La sustitución dinámica también se puede usar en notificaciones, donde se desea sustituir la información que se muestra, por ejemplo. {{NombreDeCliente}}
Al usar la sustitución dinámica en la interfaz de usuario de la aplicación, es necesario asignar la página a un objeto de negocio para usar la sustitución dinámica. Esta información se configura a nivel de página, por lo que todos los campos necesarios para la sustitución deben estar disponibles en el objeto de negocio de la página.
Las ventajas de usar la sustitución dinámica en la lógica de negocio son que permite simplificar la cantidad de información contenida en una expresión y hacer que las expresiones sean más legibles.
Sintaxis de sustitución dinámica
La sintaxis para la sustitución dinámica es la siguiente:
`{{AliasName}}`
Aquí, las llaves {{ }} (o llaves en EE. UU.) encierra el valor de alias que se utilizará para la sustitución dinámica. Se recomienda que el valor real entre llaves sea un alias, no un nombre de columna o una expresión, ya que, con el tiempo, un alias suele considerarse más estático que un nombre de columna o una expresión.
Ejemplo de lógica empresarial
La sustitución dinámica es muy útil en las cláusulas Where, además de simplificar los cálculos en la capa de lógica de negocio. Aquí veremos ejemplos específicos donde podemos aprovechar la sustitución dinámica.
Para este ejemplo, usaremos la base de datos Northwinds como fuente y asumiremos que estamos viendo una página de pedidos con información sobre los pedidos realizados a través de una aplicación de gestión de pedidos. Primero, veremos cómo podemos usar la sustitución dinámica en una regla de lógica de negocio para restringir la información de pedidos mostrada a los pedidos realizados en los últimos 3 años:
- Vaya a la página de Pedidos de la aplicación, vaya a Action Drawer > Live Designer
- Profundice en el ícono del engranaje de SQL para el Panel de pedidos Copia el objeto de negocio Orden (Origen) y cámbiale el nombre. Por ejemplo: Pedidos (Últimos años)
- Para la nueva regla, en la pestaña Columnas, cree una nueva Expresión que calcule la cantidad de años desde que se realizó un pedido utilizando
DATEDIFF
Y proporcione un valor de alias para esta expresión. Este alias se usará para la sustitución dinámica. Por ejemplo: DateDiff Establezca la opción de conversión adecuada para el tipo de dato lógico de la expresión. En este caso, la configuramos como Número. - Validar para comprobar que los resultados son los esperados
A continuación, utilizaremos la sustitución dinámica en la cláusula Where de nuestro objeto de negocio, para restringir los resultados que queremos que se devuelvan.
- Vaya a la pantalla Lógica de negocios donde está configurando la regla anterior.
- Haga clic para seleccionar la pestaña Dónde Haga clic en + Cláusula Where y agregue la sintaxis de Sustitución Dinámica, utilizando el valor de alias de la expresión recién creada y proporcione información sobre cómo desea restringir los resultados. Por ejemplo:
- Izquierda = {{DateDiff}}
- Operador = <=
- Derecha = 3
- Validar y verificar que los registros devueltos sean solo los pedidos realizados en los últimos 3 años
Finalmente, con este ejemplo, veremos cómo simplificar un cálculo mediante la sustitución dinámica. Siguiendo con el objeto de negocio creado para el ejemplo, lo modificaremos para incluir una expresión adicional que utiliza la sustitución dinámica para enlazar el número de años transcurridos desde la realización de un pedido con la palabra "años".
- Haga clic en el botón Atrás del App Builder para volver a la pantalla Lógica de negocios donde está configurando la regla
- Haga clic para seleccionar la pestaña Columnas
- Haga clic en + Columna y agregue una expresión que convierta el valor de sustitución dinámica y lo una junto con la palabra "años":
- Por ejemplo:
CAST({{DateDiff}} as string) || 'years'
- Proporcione un valor de alias para esta expresión. Por ejemplo: Años
- Por ejemplo:
- Validar resultados
Ejemplo de URL
Si desea sustituir dinámicamente una URL en un objeto de datos, puede utilizar una sintaxis como la del siguiente ejemplo:
'www.webpage.com/path/path/' || {{Sustitución dinámica}}
Ejemplo de expresión compleja
Si trabaja con sustitución dinámica en una expresión más compleja, tenga cuidado con la sintaxis. Puede que en algunos casos necesite añadir un conjunto adicional de paréntesis para que la sintaxis funcione correctamente (o como espera).
Por ejemplo, si utilizara la siguiente aplicación de expresión, el App Builder devolverá un error de división por cero:
IIF({{Suma}} = 0, 0,({{CompletedCount}}/{{Suma}})*100)
Esto se debe a que el proceso y el orden en que se evalúa la expresión requieren un par de paréntesis adicionales para obtener los resultados deseados. Aquí está la versión de sintaxis corregida:
IIF(({{Suma}}) = 0, 0,((CAST({{CompletedCount}} AS DECIMAL(15,5)))/(CAST({{Suma}} AS DECIMAL(15,5))))*100)
Ejemplo de nombre de página o panel
Las sustituciones dinámicas también se pueden usar para nombres de páginas o paneles. En este ejemplo, usaremos la sustitución dinámica para el nombre del panel "Formulario de la página de empleados". Aquí, sustituiremos dinámicamente el nombre completo del empleado como nombre del panel para el formulario de empleados.
- Dirígete a la página de tu aplicación donde quieras sustituir el nombre del panel. Por ejemplo: Empleado
- Haga clic en el menú Cajón de acciones y seleccione Diseñador en vivo
- Seleccione el Objeto comercial que contiene el valor de la columna que utilizará para Fuente en Opciones de página
- Haga clic en la pestaña Opciones de etiqueta del panel cuyo nombre desea modificar. Por ejemplo: Empleado
-
Modifique el campo Etiqueta para que contenga el valor de la columna que está utilizando, utilizando la sintaxis adecuada para la sustitución dinámica.
- Por ejemplo:
{{NombreCompleto}}
6. Haga clic en Guardar. - Regrese a la página en la aplicación, actualice su navegador y pruebe.
- Por ejemplo:
Validaciones de App Builder
Si desea utilizar sustituciones dinámicas con mensajes de validación de App Builder, deberá colocar el valor de sustitución dinámica en el mensaje de validación en sí y también en el objeto comercial del panel.
Ejemplo de mensaje de validación: No se puede exceder {{Descuento Máximo}}
Limitaciones
Las siguientes son limitaciones conocidas al trabajar con sustituciones dinámicas:
- Actualmente no se admite para nombres de columnas en gráficos.
- El formato de moneda extranjera no permite actualmente la sustitución dinámica. La solución alternativa es formatear el objeto de datos y convertirlo en cadena, lo que hace que la función total funcione.