Manejando entidades de Subprocesos

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Modelar Procesos > Modelado para ejecución > Subprocesos > Subprocesos Reusables >

Manejando entidades de Subprocesos

Los Subprocesos pueden o no tener la misma Entidad de Proceso que su proceso padre. Por lo tanto, para acceder a la información del caso padre desde el Subproceso se debe tener en cuenta el contexto de los procesos para evaluar cómo navegar el modelo de datos.

 

Los Subprocesos reutilizables pueden o no tener la misma Entidad de Proceso que el proceso padre.

Si el Subproceso tiene la MISMA Entidad de Proceso que el padre, la información del proceso padre estará disponible exactamente en el mismo XPath. La navegación de datos no cambia de un proceso al otro.

 

Si NO  tienen la misma Entidad de Proceso:

Los datos del proceso padre no están disponibles desde el Subproceso.

 

Para hacer que la información del Proceso Padre esté disponible desde el Subproceso, se debe definir un 'mapeo' antes de ingresar al Subproceso. La información del Proceso Padre que debe estar disponible en el Subproceso debe ser definida y relacionada antes de ingresar. Por lo tanto, se deben crear nuevos atributos en el Subproceso para poder mapearlos.

 

 

Acceder a la información del Proceso Padre desde el Subproceso

Suponga que tenemos los siguientes Procesos:

 

Proceso Padre: Invoice (cuya Entidad de Proceso es Invoice)

Subproceso Reusable: Payments (cuya Entidad de Proceso es Payment).

 

Managing entities

 

 

En el Proceso Padre los atributos se acceden navegando : <Invoice.TotalAmount>

En el Subproceso, los atributos se acceden navegando: <Payment.PaymentOption>

Observe que el punto de partida es diferente debido a que la entidad de Proceso es diferente. Por esto decimos que el contexto es diferente.

 

Para hacer que la información necesaria del Proceso Invoice esté disponible desde el Subproceso Payment, siga estos pasos:

 

1. Usted necesita una relación entre las entidades de ambos Procesos, en el Modelo de Datos.

Cree el atributo Payment en la Entidad Invoice y relaciónelo a la entidad del Subproceso (Payment):

 

 

Managing entities3

 

2. Identifique los atributos del Proceso Padre que se deben mostrar en el Subproceso.

Créelos en la entidad principal del Subproceso.

 

En este caso queremos mostrar el Invoice amount y el Invoice Due Date del Proceso Padre, en las formas del Subproceso.

Por lo tanto, creamos dos nuevos atributos en la entidad Payment, llamados Payment Amount y Payment Due Date para mapearlos.

 

3. Cree una expresión como una acción a la entrada del Subproceso (presionando la tecla shift mientras hace clic sobre el Subproceso).

 

Managing entities7

 

4. Cree un elemento de expresión.

Asocie (mapee) la información del Proceso Padre que se utilizará en el Subproceso.

 

 

Managing entities8

 

4. Finalmente asocie la instancia de la entidad del Subproceso, al atributo en la entidad del proceso padre utilizado para referenciarlo.

 

Managing entities9

 

//Asocie la información a reutilizar

<Invoice.Payment.PaymentAmount>=<Invoice.InvoiceAmount>;

<Invoice.Payment.PaymentDueDate>=<Invoice.InvoiceDueDate>;

//Asocie la instancia del Sub-proceso al Proceso Padre

<Payment> = <Invoice.Payment>;

 

La información del Proceso Padre podrá accederse ahora desde el Subproceso.

 

note_pin

Si se necesita actualizar información del proceso padre con datos ingresados en el subproceso, es necesario crear una regla a la salida del Subproceso y mapear la información requerida.

Por ejemplo si queremos actualizar el atributo InvoiceAmount la expresión será la opuesta al mapeo de entrada, y se verá asì:

 

<Invoice.InvoiceAmount> = <Payment.PaymentAmount>