Encadenamiento de sucesos y manejadores de sucesos

Algunos manejadores de sucesos admiten la invocación de API. Estas API pueden recuperar más datos relevantes para el suceso que se genera o pueden conducir a la realización de un cálculo o transacción comercial. A su vez, la transacción puede generar otros sucesos, dando lugar a un encadenamiento de sucesos.

Por ejemplo, uno de los manejadores de sucesos del suceso ORDER_CREATE puede comprobar la validez de una orden y llamar a una API para retener (HOLD) la orden. Esto tiene como consecuencia la activación del suceso HOLD, que envía un mensaje de correo electrónico a un representante del servicio al cliente. El encadenamiento de sucesos proporciona un mecanismo de ampliación que es necesario para procesos de negocio complejos.

Importante: las acciones configuradas para que las invoque el suceso ON_FAILURE no deben realizar ninguna actualización de base de datos. Todas las actualizaciones de la base de datos realizadas por una acción invocada por el suceso ON_FAILURE se retrotraerán.

Para acceder a los datos publicados por el sistema Sterling™ Order Management, debe implementar la interfaz YFSEventHandlerEx( ), que proporciona la función handleEvent( ) para implementarla del siguiente modo:

public boolean handleEvent (YFSEnvironment oEnv, String sTranID, String
 sActionCode, Map sKeyData, int iDataType, Object sData, String sShipNode,
 String [] parms) throws Exception 
Importante: Aunque es posible implementar una API que hace que un suceso asociado a una acción en la aplicación llame a la misma API, tenga cuidado de evitar esta situación. Creará un bucle infinito.

El nombre de clase debe configurarse como el objeto Java™ en la pantalla Configuración de acción de la configuración de transacción Sterling Order Management System .

Todos los parámetros de la función handleEvent() son parámetros de entrada con valores insertados por la aplicación. El último parámetro de esta función es el parámetro parms, que es una matriz de constantes de tipo serie. Los valores de estas constantes de tipo serie son los valores de las constantes de tipo serie especificados después del nombre de clase durante la configuración de la acción en la aplicación.

Nota: Para obtener más información sobre la interfaz YFSEventHandlerEx, consulte la información Javadoc.