Usando manipuladores de eventos para estender transações padrão

O aplicativo levanta eventos em momentos específicos no processamento. Ele possibilita definir uma ação para ser executada quando um evento específico ocorre.

Na configuração do aplicativo, um evento é definido para chamar o manipulador de eventos do aplicativo. O manipulador de eventos executa processamento especial nos dados publicados pelo evento antes de eles serem transportados para a camada de serviços de transporte.

Como parte da configuração de evento, os serviços podem ser chamados. Quando tais serviços são chamados, alguns dos eventos, como INVENTORY_CHANGE passam dados como um mapa enquanto os outros eventos passam dados como um XML. No evento de os dados serem passados como um mapa, quando o serviço é configurado para tal evento, o mapa de dados é convertido para um XML como a seguir:

<?xml version="1.0" encoding="UTF-8"?> 
<SterlingXML>
   <XML AccountNo="" AdjustmentType="ADJUSTMENT" 
       EnterpriseCode="DEFAULT" ItemID="ITEM1"
       ItemKey="2005030116023851364" ...... /> 
</SterlingXML>
Observação: Por padrão, quando você gera um evento que tem dados de mapa, o mapa de dados é convertido em um XML com 'SterlingXML' como a tag raiz. Se você desejar substituir esse valor de tag raiz, deverá configurar o valor da propriedade yfs.sci.event.flow.roottag como a nova tag raiz no arquivo <runtime_sandbox>/properties/customer_overrides.properties .

Configurando eventos

É possível associar uma ação a um serviço para executar processamento especial necessário. Por exemplo, o evento PUBLISH_SHIP_ADVICE poderia chamar o manipulador de eventos do aplicativo para chamar uma classe Java™ customizada A classe Java pode aumentar o XML de aviso de envio de publicação A Estrutura de Definição de Serviço pode transportar os dados XML rich para a camada de serviços de transporte.