Paso Opción
Los pasos Opción sirven para definir las condiciones que deben cumplirse para que se ejecuten otros pasos de ese bloque. Puede definir tantos pasos condicionales como quiera. Dentro del par Cuando/De lo contrario, FlowForce Server ejecuta solamente la condición que se cumpla; la otra se ignora.
En función de sus necesidades, puede crear pasos de ejecución, pasos for-each, controladores de errores/operación correcta y pasos pospuestos dentro de un bloque de opción. También puede anidar bloques de opción dentro de otros bloques de opción.
Estructura de un bloque de opción
Los bloques de opción tienen esta estructura:
Cuando {expresión}
Ejecutar (paso)
De lo contrario
Ejecutar (paso)
A continuación describimos algunos casos en los que puede usar los bloques de opción.
Varias expresiones Cuando
El bloque de opción puede contener varias expresiones Cuando (véase el extracto de código más abajo). En estos casos FlowForce Server ejecuta la primera expresión Cuando que se cumple y existe en el bloque de opción. Incluso si otras expresiones Cuando también se cumplen, estas no se ejecutan.
Cuando {expresión}
Ejecutar (paso)
Cuando {expresión}
Ejecutar (paso)
Cuando {expresión}
Ejecutar (paso)
De lo contrario
Ejecutar (paso)
Expresiones Cuando anidadas
Bajo cada paso Opción puede anudar otros (condiciones subordinadas), por ejemplo:
Cuando {expresión}
Cuando {expresión}
Ejecutar (paso)
De lo contrario
Ejecutar (paso)
De lo contrario
Ejecutar (paso)
Paso Opción en un trabajo
En el código Java que aparece a continuación puede ver cómo se integra un bloque de opción en el trabajo. El trabajo tiene los pasos A, B, C, D, E y F. Los pasos C y D son parte del bloque de opción. Una vez se haya ejecutado el paso B, pasan a ejecutarse los pasos C o D, según el Cuando de la expresión. Si la expresión Cuando devuelve true, se ejecuta el paso C. De lo contrario se ejecuta el paso D. Una vez se hayan ejecutado el paso C o D, el trabajo continúa con los pasos E y después F.
Paso A
Paso B
Cuando {expresión}
Ejecutar paso C
De lo contrario
Ejecutar paso D
Paso E
Paso F
Ejemplo
El trabajo que se ve a continuación comprueba el valor numérico del parámetro de entrada temperature que define si la temperatura se considera cálida o normal. La instrucción Cuando del bloque de opción computa It is boiling hot! (¡Hace mucho calor!) si el valor del parámetro temperature es mayor que 35. De lo contrario se computa la cadena It is alright (Está todo bien). Para simplificar, hemos definido el valor predeterminado del parámetro temperature como 36. Por tanto, el trabajo devolverá la cadena It is boiling hot!.
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 podrían ocurrir errores.