Gestión de tipos de datos en los pasos

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Configuración de trabajos >

Gestión de tipos de datos en los pasos

Cuando pase el resultado de un paso a otro paso o trabajo, lo más probable es que necesite cambiar el tipo de datos del resultado del paso. Por ejemplo, si crea un paso que enumera el contenido de un directorio, el tipo devuelto es result. Para poder procesar este resultado (p. ej. para enviarlo en un correo electrónico o para escribirlo en un archivo), hace falta convertir result en secuencia o en cadena de texto.

 

El tipo devuelto de un paso se puede cambiar:

 

1.Escriba un valor en el campo Asignar el resultado de este paso a del paso Paso 1. Para poder acceder al resultado del paso más adelante deberá hacer referencia a este valor.
2.Añada un paso de ejecución nuevo después del paso Paso 1 y llámele Paso 2.
3.Defina la función integrada builtin_functionsystem/compute como función de ejecución de Paso 2.
4.En el campo Expresión del paso Paso 2, escriba la expresión que convierte el valor devuelto por Paso 1 en el tipo de datos necesario. Por ejemplo, si el valor devuelto por Paso 1 es un resultado de la línea de comandos que devuelve algún resultado y quiere convertirlo en una secuencia, debe usar esto:

 

stdout(result)

 

Siendo result el nombre que le dio al valor devuelto por Paso 1.

 

La expresión exacta dependerá del resultado que se quiere conseguir. FlowForce Server ofrece varias funciones de expresión que se pueden combinar con operadores para generar expresiones fiables y utilizarlas en pasos. Para más información consulte el apartado Funciones para resultados de los pasos.

 

Ejemplo

Imagine que creó un paso de ejecución que muestra el contenido de un directorio, por ejemplo:

 

fs_clip0004

 

En este momento, el resultado del paso es result. Para usar este resultado en otros pasos (por ejemplo, para escribir el contenido del directorio en un archivo o enviar el contenido del directorio por correo electrónico), hace falta un valor devuelto de tipo secuencia y no result.

 

 

Para convertir el resultado del paso "Lista de contenidos" en un tipo de datos secuencia:

1.Declare el resultado del primero paso como ResultadoPaso1. Para ello escriba ResultadoPaso1 en el campo Asignar el resultado de este paso a.
2.Ahora añada un paso de ejecución nuevo que llame a la función builtin_functionsystem/compute.
3.En la sección Parámetros escriba esta expresión: stdout(ResultadoPaso1), donde ResultadoPaso1 es el resultado del primer paso.

 

fs_clip0001

 

Llegados a este punto el resultado del trabajo es de tipo secuencia, tal y como queríamos. Ahora puede crear otro paso de ejecución que envíe el resultado del segundo paso a una dirección de correo electrónico.

 

 

Para enviar la lista de contenidos a una dirección de correo electrónico:

1.Cambie la expresión del paso 2 de stdout(ResultadoPaso1) por content(stdout(ResultadoPaso1)). Con ello convertimos el valor de tipo secuencia en un valor de tipo cadena.
2.Declare el resultado del paso 2 como ResultadoPaso2. Para ello escriba ResultadoPaso2 en el campo Asignar el resultado de este paso a.
3.Ahora añada un paso de ejecución nuevo (paso 3) con esta configuración (y recuerde que la configuración de servidor de correo debe definirse antes de usar la función integrada builtin_function/system/mail/send):

 

Ejecutar función

Navegue hasta la función builtin_function/system/mail/send.

De

Escriba la dirección de correo electrónico del remitente.

A

Escriba la dirección de correo electrónico del destinatario.

Asunto

Escriba el asunto del correo electrónico (p. ej. Lista de contenidos).

Cuerpo

Haga clic en el botón ff-setTo y seleccione ResultadoPaso2.

 

Llegados a este punto tenemos estos pasos de ejecución:

 

fs_clip0002

 

4.Ahora solo falta crear un desencadenador temporizador que ejecute el trabajo una vez o cada cierto tiempo (p. ej. cada 60 minutos).

 

fs_clip0003

 

5.Haga clic en Guardar.

 


© 2019 Altova GmbH