En este paso: (a) modificará el nodo Invoke Step0 en el flujo de nivel superior para que Step0 invoque el flujo registrado CheckItemAvailability.seqflow; (b) copiará datos del mensaje de entrada del flujo de nivel superior en las variables de trabajo; y (c) añadirá un nuevo nodo Assign al flujo de nivel superior que recibe el resultado devuelto por el flujo registrado CheckItemAvailability.seqflow.
En este subtema convertirá el nodo Invoke normal Step0 en un nodo de flujo Invoke que invoca el flujo registrado CheckItemAvailability.seqflow.
Recuerde que ha creado los nodos Invoke Step0 y Step1 como espacios reservados (consulte la sección Coloque los nodos, añada los nodos Assign y los nodos Invoke y conecte los nodos).
Un nodo Invoke normal como, por ejemplo, Step0 puede funcionar si se asocia a una operación o un flujo. En este subtema, asociará el flujo CheckItemAvailability.seqflow a Step0 para que Step0 se convierta en un nodo de flujo Invoke que invoque el flujo registrado CheckItemAvailability.seqflow.
Para convertir Step0 en un nodo de flujo Invoke que invoca el flujo registrado:
En el menú principal del entorno de trabajo, pulse .
Pulse con el botón derecho del ratón en Step0.
Pulse Seleccionar subflujo. Se abrirá la ventana Seleccionar flujo.
En la ventana Seleccionar flujo:
Pulse .
Pulse Aceptar.
Step0 se convierte en un nodo de flujo Invoke y se nombra como el flujo que invoca, CheckItemAvailability.
Guarde el trabajo (Control-S).
No cierre todavía el editor de flujo. Lo necesitará para el siguiente subtema.
En este subtema, añadirá tres correlaciones a la rutina de correlación para el nodo Assign VariableAssignInput. Las tres correlaciones copian datos de los parámetros de entrada almacenados en el mensaje de entrada i_CatalogOrder del flujo de nivel superior (consulte la Tabla 1). Los valores los establece la aplicación que invoca el flujo de servicio.
| Variable origen de la correlación: | Variable destino de la correlación: | Tipo de correlación: | ||
|---|---|---|---|---|
| Nombre: | Tipo de datos: | Nombre: | Tipo de datos: | |
| i_CatalogOrder.itemNumber | xsd:short | i_CheckItemAvailability.itemNumber | xsd:string | Convertir |
| i_CatalogOrder.itemNumber | xsd:short | v_CatalogOrder.itemNumber | xsd:short | Mover |
| i_CatalogOrder.itemQuantity | xsd:short | v_CatalogOrder.itemQuantity | xsd:short | Mover |
La primera correlación copia el parámetro de entrada pasado a CatalogOrder.seqflow (el número de artículo que el programa de llamada busca) en el mensaje de entrada para el flujo invocado CheckItemAvailability.seqflow.
Para crear la primera correlación:
Abra la rutina de correlación del nodo Assign variableAssignInput en el editor de correlaciones.
Pulse con el botón derecho del ratón el nodo Assign variableAssignInput.
Pulse Abrir rutina de correlación. El editor de correlaciones abre el archivo de correlaciones para el flujo y muestra la rutina de correlación vacía para el nodo Assign.
Añada i_CatalogOrder a la rutina de correlación como mensaje origen:
En la barra de herramientas de la rutina de correlación, pulse el icono Añadir un mensaje
origen
. Se abrirá la ventana Seleccionar
mensaje.
Pulse .
Pulse Aceptar.
El mensaje origen se añade a la parte izquierda del área de rutinas de correlación.
Añada i_CheckItemAvailability a la rutina de correlación como mensaje destino:
En la barra de herramientas de la rutina de correlación, pulse el icono Añadir
un mensaje destino
. Se abrirá la ventana Seleccionar
mensaje.
Pulse .
Pulse Aceptar.
El mensaje destino se añade a la parte derecha del área de rutinas de correlación.
Cree una correlación que copie el contenido de i_CatalogOrder.itemNumber en i_CheckItemAvailability.itemNumber:
Arrastre i_CatalogOrder.itemNumber de la parte izquierda del área de rutinas de correlación a i_CheckItemAvailability.itemNumber en la parte derecha.
Guarde el trabajo (Control-S).
La segunda y tercera correlación que se deben añadir a esta rutina de correlación copian los dos parámetros de entrada (itemNumber e itemQuantity) desde el mensaje de entrada i_CatalogOrder al mensaje de variables v_CatalogOrder. Para crear la segunda y tercera correlación:
Añada v_CatalogOrder a la rutina de correlación como mensaje destino:
En la barra de herramientas de la rutina de correlación, pulse el icono Añadir
un mensaje destino
. Se abrirá la ventana Seleccionar
mensaje.
Pulse .
Pulse Aceptar.
El mensaje destino se añade a la parte derecha del área de rutinas de correlación.
Cree una correlación que copie el contenido de i_CatalogOrder.itemNumber en v_CatalogOrder.itemNumber:
Arrastre i_CatalogOrder.itemNumber de la parte izquierda de la rutina de correlación a v_CatalogOrder.itemNumber en la parte derecha.
El editor de correlaciones visualiza una nueva transformación Mover en el centro del área de rutinas de correlación entre los dos elementos de mensaje, con una conexión para cada elemento de mensaje.
Cree una correlación que copie el contenido de i_CatalogOrder.itemQuantity en v_CatalogOrder.itemQuantity:
Arrastre i_CatalogOrder.itemQuantity de la parte izquierda de la rutina de correlación a v_CatalogOrder.itemQuantity en la parte derecha.
El editor de correlaciones visualiza una nueva transformación Mover en el centro del área de rutinas de correlación entre los dos elementos de mensaje, con una conexión para cada elemento de mensaje.
Cierre el editor de correlaciones.
En este subtema añadirá un nuevo nodo Assign denominado Assign al flujo v_CatalogOrder.seqflow inmediatamente después del nodo de flujo Invoke CheckItemAvailability y añadirá una correlación a la rutina de correlación de este nuevo nodo Assign.
Para crear el nodo Assign y la correlación:
Abra el flujo CatalogOrder.seqflow en el editor de flujo si aún no está abierto.
En el menú principal del entorno de trabajo, pulse .
Organice los nodos para dejar espacio para el trabajo que queda por realizar en la parte 4:
En el menú principal del entorno de trabajo, pulse .
Organice los nodos en un diseño como el de Figura 1.
Añada un nuevo nodo Assign denominado Assign al flujo, inmediatamente después del nodo de flujo Invoke CheckItemAvailability:
Suprima la conexión entre el nodo CheckItemAvailability y el nodo Step1.
Añada un nodo Assign nuevo al lienzo del editor de flujo y colóquelo justo a la derecha del nodo CheckItemAvailability. El nombre del nuevo nodo Assign es el nombre predeterminado Assign.
Cree una conexión desde el terminal de salida de CheckItemAvailability hasta el terminal de entrada de Assign (consulte Figura 2).
En la barra de herramientas de la rutina de correlación, pulse el icono Añadir un mensaje
origen
. Se abrirá la ventana Seleccionar
mensaje.
Pulse .
Pulse Aceptar.
El mensaje origen se añade a la parte izquierda del área de rutinas de correlación.
En la barra de herramientas de la rutina de correlación, pulse el icono Añadir un
mensaje destino
. Se abrirá la ventana Seleccionar
mensaje.
Pulse Aceptar.
El mensaje destino se añade a la parte derecha del área de rutinas de correlación.
El editor de correlaciones visualiza una nueva transformación Mover en el centro del área de rutinas de correlación entre los dos elementos de mensaje, con una conexión para cada elemento de mensaje.
Cierre el editor de correlaciones.
Cierre el editor de flujo.