Orquestração de pedido: APIs customizadas.
Determinadas APIs customizadas ajudam no processamento de pedidos baseados em regras Essas APIs customizadas são expostas por meio de serviços do SDF
processOrderValidation API
Essa API personalizada lê os atributos de identificação do pedido no documento de entrada e obtém os detalhes do pedido com base no modelo, getOrderDetailsForValidation, usando a API getOrderDetails. A saída da API é transmitida para um serviço, PrepareMappingForValidation, que executa o mapeamento Os detalhes do pedido são usados para criar a solicitação de entrada conforme necessário pelas regras de negócios, que são executadas por uma implementação customizada do serviço, PrepareMappingForValidation, que entende o mecanismo de regras.
Uma implementação de serviço de amostra com um componente XSL é fornecida e deve ser substituída por uma implementação customizada O documento de mapeamento é enviado para o serviço, InvokeValidationRules, que chama internamente a API prepareRequest para chamar a API REST HHTP do mecanismo de regras. A resposta da API REST é processada para obter resultados de validação Um método interno, processValidationResponse( ), analisa o resultado da validação e toma as medidas apropriadas.
invokeValidationRules API
Essa API customizada chama serviços prepareRequest e invokeBusinessRule para chamar o mecanismo de regras de negócios para a API REST de validação.
<ValidationResult IsValid="" ErrorCode="" ErrorType="" ErrorDescription="" >
<ValidationItems>
<ValidationItem IsValid="" ErrorCode="" ErrorType="" ErrorDescription="">
<ValidationParameter EntityID="" EntityType=""/>
</ValidationItem>
</ValidationItems>
</ValidationResult>processOrderDecomp API
Essa API customizada usa a entrada para chamar as APIs getOrderDetails e getItemList para um determinado pedido As saídas são então combinadas em uma mensagem.
invokeDecompRules API
Essa API customizada usa a entrada para chamar as regras de negócios para decomposição de pedido A API obtém a entrada do serviço de mapa implementado pelo cliente
<DecompOrderList OrderHeaderKey="RootOrderKey" OrderNo="Required" EnterpriseCode="Required">
<Order CustomerPONo="{root OrderNo}" ShipToKey="" ShipToID="" BillToKey="" BillToID="" SellerOrganizationCode="" OrderNo="Required" OrderType="ResourceOrder|ServiceOrder|ProductOrder" OrderDate="" EnterpriseCode="{root}" DraftOrderFlag="N">
<OrderLines>
<OrderLine PrimeLineNo="" SubLineNo="" OrderedQty="">
<Item UnitOfMeasure="" ProductClass="" ItemID=""/>
<CustomAttributes/>
</OrderLine>
</OrderLines>
<ParentOrder OrderNo="Required"/>
<CustomAttributes/>
</Order>
</DecompOrderList>invokeBuildPlanRules API
Essa API customizada chama os métodos internos dos serviços prepareRequest e invokeBusinessRule para chamar o mecanismo de regras de negócios para a API REST do plano de construção A saída define as dependência entre as ordens decompostas.
<BuildPlan OrderHeaderKey="" OrderNo="" EnterpriseCode="" DocumentType="">
<Dependencies>
<Order OrderHeaderKey="" OrderNo="" EnterpriseCode="" DocumentType="">
<DependentUpon OrderHeaderKey="" OrderNo="" EnterpriseCode="" DocumentType=""/>
</Order>
</Dependencies>
</BuildPlan>UpdateOrderDependency API
Essa API personalizada é chamada pelo evento OnStatusChange da transação ORDER_COMPLETE para uma ordem decomposta. Ele atualiza todos os registros de relacionamento transacional para o sinalizador IsDependencyResolved para pedidos que são dependentes do pedido atual. Uma mensagem é postada no serviço PostMsgToEvaluateDependencyQ para cada pedido atualizado.
EvaluateOrderDependency API
Essa API customizada é invocada pelo serviço EvaluateDependencyIntgServer A entrada para essa API customizada é o pedido do cliente original, ou um pedido decomposto, Avalie se a ordem de entrada tem mais dependências pendentes a serem resolvidas Se todas as dependências forem resolvidas, altere o status da ordem. Se o pedido de entrada for do cliente, altere o status do pedido para Concluído. Se o pedido de entrada for um pedido decomposto e, em seguida, o status do pedido for alterado para Pronto para Cumprimento.