Altova MapForce 2022 Professional Edition

Valores predeterminados y funciones

Inicio Anterior Inicio Siguiente

Cuando MapForce lee o escribe datos, a menudo ocurre que el archivo de origen o el de destino están vacíos o contienen campos null. Para gestionar estos casos, MapForce ofrece varias funciones integradas, condiciones if-else y otros mecanismos que permiten reemplazar datos no existentes o null por otros o arrojar una excepción al encontrar campos faltantes.

 
También puede que quiera establecer un valor predeterminado para varios elementos al mismo tiempo (por ejemplo, todos los elementos secundarios de un elemento XML) o crear una función simple que sustituya un valor vacío con texto (por ejemplo "n/a") y aplicarla a varios elementos. En circunstancias normales, para hacer esto tendría que copiar y pegar la misma función varias veces en la asignación de datos. Sin embargo, esto complicaría la asignación y haría que fuera más difícil de entender. Una alternativa más sencilla es la de usar valores predeterminados y funciones de nodo, que es lo que explicaremos en este apartado.

 

Nota:los valores predeterminados y las funciones de nodo son compatibles si el lenguaje de destino de la asignación de datos es BUILT-IN. No se pueden ejecutar este tipo de asignaciones de datos a partir de código de programa generado en C#, C++, Java o con transformaciones XSLT/XQuery generadas. En el lado servidor se pueden ejecutar este tipo de asignaciones de datos con MadForce Server Advanced Edition.

 

El término "función de nodo" significa que la función se aplica a nivel del nodo, sea este XML, CSV, JSON, EDI o un campo de BD. La función de nodo se puede aplicar a un único elemento o a varios a la vez. Igualmente, el término "predeterminado" hace referencia a un valor predeterminado que quiere aplicar a nivel del nodo, sea para un único elemento o para varios. Observe que en el momento de la ejecución una función de nodo o un valor predeterminado se pueden llamar una vez para cada elemento en una secuencia.

 

Los valores predeterminados y las funciones de nodo son especialmente útiles si quiere aplicar la misma lógica de procesamiento a varios elementos descendientes dentro de una estructura, por ejemplo:

 

al encontrar un valor vacío o null, reemplazarlo por otro valor y hacer lo mismo con todos sus elementos descendientes

al encontrar un valor específico (por ejemplo, N/A), reemplazarlo con otro valor (o con una cadena vacía) y hacer lo mismo con todos sus elementos descendientes

reemplazar todos los valores null de BD con una cadena vacía o un texto personalizado (o con 0 para campos numéricos) al leer tablas de BD

eliminar espacios sobrantes para todos los valores que provienen de alguna BD fuente

anexar un prefijo o sufijo personalizado a todos los valores escritos en un archivo o una BD de destino

producir un valor null cada vez que se encuentra un valor específico

 

Nota:es importante distinguir si un valor es "null" o si está "vacío", ya que no significa lo mismo. Un valor null significa "nada" (ausencia del valor), mientras que un valor vacío por lo general significa una cadena vacía ("). MapForce ofrece varias formas de gestionar ambos, entre las que se incluyen las funciones de nodo y los valores predeterminados.

© 2015-2021 Altova GmbH