Desde algumas versões anteriores do Magic xpa (uniPaaS) (quando ainda se chamava eDeveloper), uma nova opção de ‘modo’ foi disponibilizada à instrução verify: REVERT.
Até então, as opções eram WARNING (exibe uma mensagem e continua na próxima instrução) e ERROR (exibe uma mensagem e interrompe a execução do handler).
NOTA: a mensagem é opcional.
O modo REVERT é similar ao ERROR, pois ele interrompe a execução do handler, porém ele refaz todas as operações anteriores (definidas antes dele) em ordem inversa.
Por exemplo: suponha um handler num programa Magic xpa que possua estas 5 instruções (nesta ordem):
Update A
Update B
Update C
VERIFY (com mensagem)
Update D
Se o verify for WARNING, serão feitos os updates “A”, “B” e “C”, exibida a mensagem, e em seguida o update “D”
Se o verify for ERROR, serão feitos os updates “A”, “B” e “C”, exibida a mensagem, o handler é interrompido (o update “D” não executa), e o foco retorna ao mesmo campo (controle da tela) onde estava anteriormente.
Se o verify for REVERT, serão feitos os updates “A”, “B” e “C”, exibida a mensagem, o handler é interrompido (o update “D” não executa), os 3 primeiros updates serão repetidos em ordem inversa (“C”, “B” e “A”) e o foco retorna ao mesmo campo (controle da tela) onde estava anteriormente.
Neste endereço você poderá baixar um pequeno projeto Magic xpa (1.9g) que mostra a diferença de comportamento entre os verifys ERROR e REVERT.