Dependência de Transação

No ciclo de cumprimento de pedido, é possível ter produtos e serviços específicos em um pedido que precisem ser cumpridos em uma determinada sequência. É possível configurar dependências em uma transação, de modo que uma linha de pedido não possa ser processada até que certas condições sejam atendidas.

As dependências permitem definir regras com base em classificações de item, IDs de item, tipos de serviço e muitas outras condições que possam ser definidas para uma linha de pedido.

Dependências de Transação podem ser configuradas em um empreendimento, tipo de documento e nível de tipo de processo específicos. Por exemplo, uma dependência especificada por um empreendimento para uma transação do planejamento aplica-se a todas as ordens de vendas desse empreendimento, independentemente do pipeline usado.

Antes do processamento, cada linha de pedido é verificada quanto a quaisquer dependências da transação. Se várias dependências estiverem definidas para uma transação, todas as dependências deverão ser satisfeitas para que a linha possa ser processada.

Dependências também podem ser definidas para componentes do pacote configurável e baseadas em qualquer data de pedido. No caso dos componentes do pacote configurável, as linhas de pedido podem ter interdependências ao preencher um pedido do pacote configurável. A linha pai do pacote configurável não pode ser faturada até que cada linha filha tenha concluído a transação especificada. Portanto, é necessário permitir que as transações entendam que uma linha de pedido não pode ser processada até que certas condições sejam atendidas.

A dependência relacionada à data do pedido pode ser configurada para uma transação com base em datas de pedido específicas. Você pode especificar essas dependências usando modelos fornecidos com o Sterling™ Order Management System.

Cenário de uso de dependência de transação

A dependência de transação para um pedido pode ser usada no cenário a seguir:

Para qualquer linha de pedido com classificações de item de MODEM, FILTRO ou CABO, a transação do planejamento não tem permissão de processamento até 24 horas após todas as linhas de pedido contendo itens com a classificação ATIVAÇÃO DE LINHA ter concluído a transação de envio de pedido.

Se essa dependência estiver especificada, primeiro a transação do planejamento verificará se há um item com a classificação MODEM no pedido. Se o item for identificado, outras linhas no pedido serão verificadas para ver se alguma delas tem um item de classe ATIVAÇÃO DE LINHA. Para cada linha com uma classificação de item de ATIVAÇÃO DE LINHA, será determinado se já se passaram 24 horas desde que a linha atingiu a transação “SHIP_ORDER”.

Dependência de transação parando outras transações

Quando uma dependência de transação para uma transação em nível de pedido, como processamento de pagamento, uma sinalização é retornada no XML de saída da API para indicar que o pedido não pode ser processado devido a dependências. A sinalização não é retornada no XML de saída de todas as APIs. Para obter mais informações, consulte o IBM Sterling® Order Management: Javadoc. Como a maioria das transações é baseada em status, elas ignoram quaisquer linhas que não atenderem às dependências. No entanto, quando um agente encontra um pedido que não pode ser processado, total ou parcialmente devido a uma dependência, ele ignora silenciosamente quaisquer linhas que não puderem ser processadas e atualiza a fila de tarefas para processá-las posteriormente.

Substituindo dependências

Para substituir dependências de transação, é possível passar uma sinalização para a API que chama a transação, de modo que as dependências de transação sejam ignoradas. Essa sinalização só é suportada por algumas APIs. Para obter mais informações sobre APIs, consulte IBM Sterling Order Management: Javadoc.

Dependências Circulares

Dependências circulares surgem quando uma transação é dependente de outra que está aguardando a transação principal mudar seu status ou ser concluída. É possível configurar dependências de maneira que uma transação nunca possa processar um pedido devido a uma dependência circular.

Por exemplo, pode haver uma regra que diz que o ITEM 1 não pode ser planejado até o ITEM 2 ter concluído a transação do planejamento. Poderia haver outra regra que impede o ITEM 2 de fazer um planejamento até que o ITEM 1 tenha sido planejado. Como resultado, surge uma dependência circular. Nesse caso, a dependência circular é detectada pela lógica de dependência de transação e é lançada uma exceção junto com uma lista das dependências que causaram o loop circular.