Substituir regras
Nem todas as transações satisfazem as condições das regras de validação que se aplicam a elas e as violações dessas regras ocorrem. Quando ocorre uma violação de uma regra de validação, as regras de substituição são avaliadas. As regras de substituição permitem que um operador ou gerente faça uma exceção quando uma regra de validação for violada quando for desejável permitir que a transação continue por motivos de negócios.
Para aplicar a uma transação, uma regra de substituição deve estar associada à regra de validação, à empresa e ao canal de transação.
- Desaprovar regras: Se for localizada uma regra de substituição que desaprove uma transação, a transação não poderá ser aprovada por ninguém.
- Permitir regras: Se for localizada uma regra de aprovação de substituição que renuncie a violação, a transação será permitida e nenhuma aprovação será necessária.
- Regras de aprovação: Se for localizada uma regra de substituição que resulte em uma violação, uma mensagem de violação será retornada com uma lista de todos os aprovadores, do mínimo para o máximo.
- Se uma violação tiver uma aprovação de substituição anterior em vigor para uma transação, a condição para outras regras de substituição serem consideradas depende da definição de validação, das regras de aprovação e do plano de aprovação.
Assim como uma regra de validação, uma regra de substituição é associada a uma empresa e o domínio de validação deve ser ativado antes que o sistema tente avaliar as regras.
Múltiplas regras de substituição podem se aplicar a uma validação. Qualquer violação de regra de substituição e a sequência de aprovação são registradas.
Exemplo: Número Máximo de Cupons
Uma empresa restringe o número de cupons que podem ser aplicados em uma ordem para cinco por ordem. Uma exceção é um cliente "Gold", que tem permissão para usar 10 cupons. Qualquer outra exceção deve ser aprovada por um gerente. Aqui estão as regras que se aplicam à transação:
| Regra de validação | Substituir regras |
|---|---|
| Para a empresa E1: O número máximo de cupons que são permitidos por ordem = 5 | Regra 1: Se (CustomerType=’GOLD’ e NumberOfCoupons<=10), então a aprovação não será necessária. Essa regra é uma regra allow. |
| Regra 2: se CustomerType=’OTHER’ e NumberOfCoupons>10, então a transação não é permitida. Essa regra é uma regra disallow. | |
| Regra 3: se CustomerType=’GOLD’ e NumberOfCoupons > 10) for necessária a aprovação do gerente. Essa regra é uma regra approval. | |
| Regra 4: se CustomerType=’OTHER’ e NumberOfCoupons>5 ), a aprovação é necessária. Esta regra também é uma regra de "aprovação". |