Rational Developer for System z, Versión 7.6.1

Visión general de la lógica del flujo de servicios

El flujo de servicios completado simula un sistema de pedidos que comprueba la disponibilidad de un artículo y, si está disponible, hace el pedido del artículo.

Este tema y sus subtemas tienen por objeto completar la información. No es necesario leer este tema para llevar a cabo los pasos de la guía de aprendizaje. Sin embargo, puede que desee consultar este tema de tanto en tanto para ver cómo el paso en el que está trabajando encaja con los demás.

Flujo de nivel superior

La Figura 1 muestra el flujo de nivel superior:
Figura 1. Contenido del flujo de nivel superior
CatalogOrder.seqflow con el nodo Assign1 añadido
Cuando se invoca el flujo de nivel superior:
  1. El nodo variableAssignInput obtiene los dos parámetros de entrada proporcionados por el llamante: un número de artículo y una cantidad de artículo.
  2. El siguiente nodo CheckItemAvailability invoca un flujo registrado para determinar si el artículo con el número de artículo especificado está disponible.
  3. Un nodo Switch prueba el código de retorno proporcionado por el flujo registrado:
    1. Si el artículo está disponible, se utiliza la ruta superior de control:
      1. El nodo PlaceOrder invoca una aplicación no de terminal para efectuar el pedido.
      2. El nodo variableAssignOuput configura un valor de retorno y un mensaje de retorno del flujo indicando que la petición se ha realizado satisfactoriamente.
    2. Si el artículo no está disponible, se utiliza la ruta inferior de control:
      1. El nodo Assign2 configura un valor de retorno y un mensaje de retorno del flujo indicando que la petición ha fallado.

Flujo registrado

El flujo registrado inicia una aplicación de terminal y explora las pantallas de un catálogo en busca del número de artículo solicitado. La Figura 2 muestra el flujo registrado:
Figura 2. Contenido del flujo registrado
Contenido de CheckItemAvailability.seqflow
Cuando se invoca el flujo registrado:
  1. El nodo Assign variableAssignInput obtiene el parámetro de entrada, que es un número de artículo.
  2. El nodo Dfh0xs1Exmenu_Exmenu simula la entrada de usuario para solicitar a la aplicación de terminal que muestre un catálogo de artículos.
  3. El nodo Init init_variable0 inicializa la variable de bucle del nodo While.
  4. El nodo While while_variable0 invoca repetidamente su flujo asociado, que explora una pantalla del catálogo en busca del número de artículo especificado. El bucle termina si se encuentra el número de artículo especificado o cuando se han explorado todas las pantallas del catálogo.
  5. Un nodo Switch prueba el código de retorno del flujo invocado.
    • Si se encuentra el artículo, se utiliza la ruta superior de control:
      1. Se establece un código de retorno para el flujo indicando que se ha encontrado el artículo.
      2. El nodo dfh0xs2.Exinqc_EndPage simula la entrada de usuario para navegar más allá de la última pantalla del catálogo.
    • Si no se encuentra el artículo, se utiliza la ruta inferior de control:
      1. Se establece un código de retorno para el flujo indicando que no se ha encontrado el artículo.

Flujo invocado por el nodo While

El flujo invocado por el nodo While busca en una pantalla del catálogo el número de artículo especificado y, a continuación, vuelve al nodo While. La Figura 3 muestra el flujo invocado.
Figura 3. Contenido del flujo invocado por el nodo While
Contenido del interior del bucle while
Cuando el nodo While invoca el flujo invocado:
  1. Las correlaciones en el terminal de salida del nodo Dfh0xs2.Exinqc_ExinqcInitialExtract copian los números de artículo de la pantalla mostrada actualmente del catálogo y almacenan los números de artículo en variables.
  2. El nodo Switch contiene una expresión ESQL que comprueba si alguno de los números de artículo leídos son el número de artículo solicitado:
    • Si se encuentra el número de artículo, se utiliza la ruta superior de control:
      1. El nodo Assign establece una variable global indicando que se ha encontrado el número de artículo solicitado. A continuación, el nodo establece la variable de bucle para que el nodo While termine el bucle en la próxima oportunidad.
    • Si no se encuentra el artículo, se utiliza la ruta inferior de control:
      1. Las correlaciones en el terminal de entrada del nodo Dfh0xs2.Exinqc_Exinqc generan una entrada de usuario para navegar a la próxima pantalla del catálogo:
        • Si la nueva pantalla es la pantalla Salir de bucle (la primera pantalla que aparece después de la última pantalla del catálogo), se utiliza la ruta superior de control:
          1. El nodo loopEnd_variable0 establece la variable de control del bucle para terminar el bucle While.
        • De lo contrario, se utiliza la ruta inferior de control. La variable de bucle no se modifica, por lo que el nodo While continúa invocando este flujo.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)