Paso 8 - Añada un decision

Introducción al Paso 8

En este paso usted introducirá un decision en el flujo. Normalmente,events se generan en respuesta a una solicitud-sin embargo, hay ocasiones en las que la aplicación necesita hacer un decision. Algunos ejemplos incluyen verificar un límite de pago, la alcanzabilidad del BIC o, en este escenario, determinar si un pago es un pago 'on us'.

Si usted asume que, incorporada en la implementación, hay una verificación sobre si el banco acreedor y el banco deudor son el mismo. Si lo son, entonces el pago se procesará como una transferencia de libro a libro y no se enviará a la CSM.

También deberá añadir una regla de negocio que indique que se requiere una referencia de reserva de cuenta de deudor al reservar un pago en la cuenta del deudor.

Para poder lograr esto, usted deberá realizar una serie de cosas:

  • Añada el agente acreedor y el agente deudor como business data

  • Actualice el mapping funciones para separar al agente acreedor y al agente deudor de la Customer Credit Transfer

  • Extienda el flujo para incluir un paso de reserva y añada una reserva.state

  • Añada un decision punto a decidir si enviar un pago a un CSM o directamente a la reserva

  • Asegúrese de la correcta business data está en la solicitud de reserva

Agregue una solicitud y respuesta de reserva al dominio externo del Sistema de Contabilidad de Deudores

En este escenario, el sistema contable del agente deudor realiza la contabilización así como la verificación de la cuenta del deudor, por lo que debe añadir una nueva solicitud para la contabilización al dominio externo.

En esta ocasión, usted asume que la solicitud de reserva necesita bastante información:

  • La cuenta y el BIC a debitar.

  • La cantidad y la moneda a debitar

  • Una referencia de reserva específica proporcionada cuando se verifica la cuenta.

Así que necesita ir al dominio externo del 'Sistema de Contabilidad del Agente de Deudores', agregar una nueva solicitud y asegurarse de añadir la correcta.business data necesario en la solicitud.

Una vez que haya terminado, el dominio externo debería verse así:

step 8 1

Añadir una nueva Reserva state

Ahora necesita agregar un nuevo state para representar cuando se está reservando la cuenta.

Abra el flujo, luego añada un nuevo estado de 'Reserva'. Esto no será terminal.state por lo que 'Is Terminal' debe ser falso.

step 8 2

Añada dos nuevos Reservados events

Anteriormente, usted agregó la nueva solicitud de reserva. Esta solicitud tiene dos respuestas (aceptada o rechazada), y ahora debe agregar la nueva events que son triggered por la respuesta.

  • Pago Reservado

  • Reserva de Pago Failed

Una vez que haya añadido el nuevo events, el event la sección de definición del flujo debe verse así:

step 8 3

Actualice el Comportamiento de Entrada con las dos respuestas a una solicitud de Reserva

Ahora ha definido el events, ahora puede actualizar la sección de comportamiento de entrada del flujo para asociar la respuesta de reserva (es decir, la entrada) a la events que usted acaba de crear.

Una vez que haya terminado, el comportamiento de entrada debería verse así:

step 8 4

Antes de finalizar la actualización del flujo, debe crear y poblar un decision biblioteca y actualice el business data biblioteca y mapping función para suministrar el decision con los datos que necesita. El decision la biblioteca contiene el interno decisions hecho por la solución que usted está construyendo.

A DECISION puede tener uno o más RESULTADOS. Estos resultados se introducen luego en el state máquina (es decir, el flujo) al definir event comportamiento.

Actualizar Business Data Biblioteca

En nuestro escenario hay una verificación sobre si el banco acreedor y el banco deudor son el mismo. El agente deudor ya se encuentra en el business data biblioteca, así que añadamos también el agente acreedor para que tanto los detalles del banco acreedor como los del banco deudor estén disponibles para ser utilizados por el decision.

Abra el 'Outbound Payment Flow Business Data Biblioteca' y añada el agente acreedor.

step 8 5

Actualizar Mapping Función

Ahora tiene el extra business data que necesita, actualicemos el mapping función que separa el Pacs008 para que esté disponible para el flujo.

Abra el 'Outbound Payment Flow', navegue a la mapping función, y luego añada 'Agente Acreedor' a los datos de salida para la función 'Separar Pacs008 en componentes útiles'.

step 8 6

Crear Decision Biblioteca

Haga clic derecho en el modelo y luego seleccione Nuevo>v2Flo>Decision Biblioteca.

step 8 7

Ahora haga clic en 'Agregar Decision' botón para crear un decision.

El decision determinará el tipo de pago a utilizar, y comparará el agente acreedor y el agente deudor para determinar si son la misma organización, por lo que debe asegurarse de que el agente business data está disponible para la aplicación al especificarlo como business data.

Afortunadamente, ya ha añadido el agente acreedor y el agente deudor como business data en un paso anterior, por lo que puede seleccionarlos utilizando Ctrl+Space mientras el cursor está en 'Business Data.

Finalmente, especifique cuáles son los posibles resultados (es decir, los resultados de la decision) será. Para su escenario, el tipo de pago será identificado como un pago que será enviado a la CSM(a 'Pago por Esquema') o uno que será una transferencia de libro a libro (un 'Pago Interno')

Agregue los dos resultados posibles a la aplicación.decision usted acaba de crear al colocar el cursor en la celda 'Resultados', presione Ctrl+Enter y seleccione el 'Decision Opción 'Resultado'. Desde allí puede agregar los resultados a la celda utilizando texto libre.

step 8 9

Eso es el decision biblioteca creada. Ahora puede añadir esto al flujo como parte de event comportamiento.

La lógica misma necesita ser implementada en Java o potencialmente utilizando el marco de reglas.

Actualizar Event Comportamiento para finalizar el flujo

Así que ahora puede vincular el decision al flujo.

Crear un Decision State

Decisions se consideran como pseudoestados.

En su caso de uso, una vez que la 'Verificación de Cuenta del Deudor' haya sido aprobada, la aplicación determinará qué tipo de pago es antes de dirigirlo por una de las dos rutas, por lo que debe utilizar la 'Verificación de Cuenta del Deudor Aprobada'.event para moverse a un decision state.

Presione Ctrl+Space en 'Mover a State' celda para el primero event comportamiento y seleccione 'Crear Decision State.

Su event el comportamiento debería verse algo así:

step 8 10

En este momento se le presenta la opción de nombrar su decision. Esto es importante, porque un solo decision puede ser utilizado en múltiples lugares dentro de un solo flujo, o incluso en diferentes flujos y subflows.

Para que el gráfico de flujo sea comprensible (y para que el flujo se construya correctamente)- cada decision el uso requiere un identificador único, que usted estará especificando como el decision name here.

En su caso de uso, usted no estará reutilizando el decision, por lo que puede simplemente nombrarlo 'Determinación de la Ruta de Asentamiento'.

step 8 11

Añadir Decision Acción

Ahora ha creado el decision state, necesita una acción que generará el código para habilitar el decision ser llamado.

Elimine 'Hacer Solicitud' de la celda 'Realizar Acción', y luego presione Ctrl+Space- se le presentará la única opción disponible, que es un 'Routing Decision.

Seleccione esta opción y se le presentará con decisions in the decision biblioteca (en su caso, eso es solo una decision).

Seleccione el 'Tipo de Pago’decision.

Event el comportamiento debería verse así:
step 8 12

Ahora debe añadir los dos resultados posibles:

  • Si el resultado es un pago 'On Us', entonces debe generar la solicitud de reserva, omitiendo el CSM.

  • Si el resultado es un 'pago por esquema', entonces debe generar la solicitud de pago.

Agregar Nuevo Event Comportamiento para el Decision Resultado

Ahora se ha trasladado a la Decision State Después de que la Verificación de la Cuenta del Deudor haya sido aprobada, usted debe añadir los resultados de la decision a la Event Comportamiento.

Añada dos nuevos Event Behaviours:

  • Establezca el 'Con Actual State' para Determinar la Ruta de Asentamiento en ambos.

  • Para el primer nuevo comportamiento, establezca el 'Para Event' a 'Resultado: Pago a Nuestra Carga'.

    • Dado que se trata de un pago 'on us', entonces usted va directamente a la reserva.- así que establezca el 'Mover a State' a 'Reservar' y añada 'Hacer Solicitud: Solicitud de Reserva' en la celda 'Realizar Acción'.

  • Para el segundo nuevo comportamiento, establezca el 'Para Event' a 'Resultado: Pago del Esquema'.

    • Dado que se trata de un pago 'scheme', usted va a enviar el pago a la CSM - así que establezca el 'Mover a State' a 'Compensación y Liquidación' y 'Hacer Solicitud: Solicitud de Pago' en la celda 'Realizar Acción'.

Su event el comportamiento ahora debería verse así:

step 8 12b

Agregar Nuevo Event Comportamiento para la nueva Reserva state

Añada dos nuevos event behaviours:

  • Establezca el 'Con Actual State' a 'Reservas' en ambos.

  • Añada el state transiciones a 'Completo' o 'Rechazado' dependiendo de si el event es 'paymentBooked' o 'paymentBookingFailed'.

Cambio de Compensación y Liquidación Event Comportamiento

Organice lo existente event comportamiento ahora la 'Reserva’s tate se ha añadido.

El 'CSM’Business Passed' ya no resulta en un 'Completo’s tate. Eso ahora debe cambiar a 'Reserva', y se debe añadir una solicitud de reserva como acción.

Actualizar Notifications

Y por último, solo necesita asegurarse de que el event el comportamiento está actualizado y que se sigue creando una notificación cuando un pago ha sido 'Completado' o 'Rechazado'.

Todos estos cambios deberían resultar en su event comportamiento que se asemeja a esto:

step 8 13

Verifique el Flujo

¿Cómo se ve ahora el flujo? Puede consultarlo utilizando el Flo Viewer (recordatorio: está en 'Herramientas' o utilice 'Intenciones').