Procesamiento condicional de pasos

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

Inicio >  Configuración de trabajos >

Procesamiento condicional de pasos

Si desea condicionar el procesamiento de los pasos, añade un paso de tipo "Opción" al trabajo. Este tipo de pasos tiene dos componentes: una parte Cuando y una parte De lo contrario.

ConditionalStep

Trabajo con procesamiento condicional

Como puede ver en el diagrama anterior, tanto la parte Cuando como la parte De lo contrario de la condición exige un paso de ejecución. Además, la parte Cuando exige una expresión, que determina cuál de las dos partes se ejecutará cuando se ejecute el trabajo. En otras palabras, si la expresión de la parte Cuando da como resultado true, el paso C se ejecutará. De lo contrario se ejecutará el paso D. Por tanto, la secuencia de procesamiento de este trabajo sería esta (siempre y cuando no se produzcan errores de ejecución):

 

1.Paso A
2.Paso B
3.Paso C o D, dependiendo del resultado de la expresión
4.Paso E
5.Paso F

 

Por ejemplo, en la imagen siguiente puede ver un paso donde se ejecutará la función integrada delete si la expresión "fileexists" da como resultado true.

expression_field_when

 

No olvide que "fileexists" debe declararse en un paso anterior (o como parámetro de entrada):

variable_assignment

 

De lo contrario, FlowForce emitirá un error de validación de sintaxis:

syntax_validation_error

 

 

Si tiene pensado pasar el resultado de un paso Opción a otro paso o si tiene pensado declararlo como de determinado tipo, antes debe comprobar que cada condición Cuando y De lo contrario producen el mismo tipo devuelto. De lo contrario, el tipo devuelto del paso Opción será el tipo devuelto común de todas las ramas Cuando y De lo contrario, lo cual puede dar lugar a errores de validación.

 

Por ejemplo, imaginemos que tenemos un trabajo que confirma el valor de un parámetro numérico llamado temperatura para saber si hace calor o la temperatura es normal. Aquí puede ver el trabajo:

fs_conditional_job

 

En el trabajo del ejemplo el tipo devuelto declarado se estableció como cadena de texto. Si la temperatura es superior a 35, se calcula una expresión de cadena ("Hace calor"). De lo contrario, se calcula la expresión de cadena "La temperatura es normal". Hasta ahora tanto la condición Cuando como la condición De lo contrario producen una cadena de texto y, por tanto, el trabajo se guardará y ejecutará correctamente.

 

Sin embargo, si dejáramos vacía la condición De lo contrario, el trabajo daría un error de validación, como se aprecia en esta imagen:

fs_conditional_job2

El motivo es que el tipo devuelto esperado del trabajo es cadena de texto (tal y como indica la opción Declarar tipo devuelto como). Si no se define la rama De lo contrario, el trabajo no calcula nada. Y nada no es una cadena de texto. Por tanto, se produce un error de validación.

 

El trabajo usado aquí como ejemplo utiliza expresiones de FlowForce. Para aprender a usarlas puede consultar la sección Lenguaje de expresiones de FlowForce.


© 2019 Altova GmbH