Altova MapForce 2023 Enterprise Edition

Funciones definidas por el usuario

Inicio Anterior Inicio Siguiente

Las funciones definidas por el usuario son funciones personales que se definen una vez y se pueden reutilizar varias veces dentro de la misma asignación o en varias asignaciones. Las funciones definidas por el usuario son como asignaciones de datos a pequeña escala: Suelen consistir en uno o más parámetros de entrada, algunos componentes intermediarios para procesar datos y una salida que devuelve datos al emisor de la llamada. El emisor de las llamadas es la asignación principal u otra función definida por el usuario.

 

Ventajas de las funciones definidas por el usuario

Las funciones definidas por el usuario tienen las ventajas siguientes:

 

Se pueden reutilizar dentro de la misma asignación o en asignaciones distintas.

Pueden hacer una asignación más legible. Por ejemplo, puede dividir partes de la asignación en componentes más pequeños y abstraer los detalles de la implementación. Puede observar este principio en el diagrama siguiente:

mff_udf

Las funciones definidas por el usuario son funciones flexibles que permiten procesar cadenas, números, fechas y otros datos de forma personalizada y que amplía las funciones integradas de MapForce. Por ejemplo, puede que quiera concatenar o dividir texto de una forma concreta, hacer cálculos, modificar fechas y horas, etc.

Otro uso común de las funciones definidas por el usuario es para buscar un campo en un archivo XML, una BD u otro formato de datos compatible con su edición de MapForce. Para más detalles consulte Implementación de la búsqueda.

Puede llamar a las funciones definidas por el usuario de forma recursiva (por ejemplo, llamándose a sí misma). Para ello debe definir esa función definida por el usuario como función estándar (no inline). Las funciones definidas por el usuario recursivas permiten, entre otras tareas complejas de las asignaciones, iterar sobre estructuras de datos con una profundidad de N secundarios donde N no se conoce de antemano (véase el ejemplo Ejemplo: búsqueda recursiva).

 

Ejemplo

A continuación puede ver un ejemplo de una función definida por el usuario que divide una cadena en dos. Esta función definida por el usuario es parte de una asignación mayor llamada MapForceExamples\ContactsFromPO.mfd. La función definida por el usuario toma el nombre como parámetro (p.e., Helen Smith), aplica las funciones integradas substring-before y substring-after y devuelve dos valores: Helen y Smith.

mf_udf_01

 

Apartados de esta sección

En esta sección explicamos cómo trabajar con funciones definidas por el usuario; la sección sección se divide en estas subsecciones:

 

Crear funciones definidas por el usuario

Parámetros en funciones definidas por el usuario

Ejemplo: búsqueda recursiva

Implementación de la búsqueda

 

© 2017-2023 Altova GmbH