Ordenação de cláusulas ELSE IF

Visão Geral

Nos Procedimentos do Formulário, temos diversas ações que são usadas para definir o fluxo de um programa, como por exemplo, executar um comando SQL ou preencher uma variável.

Para adicionar lógica à estes fluxos de ações, usamos as “Declarações de Controle”, com instruções como IF, ELSE e ELSE IF.

Problema

Ao contrário das Ações, as Declarações de Controle ELSE IF não podem ser reordenadas. Isso impede a organização do fluxo em casos que exigem uma leitura linear, como no exemplo abaixo, onde o correto seria colocar o ELSE IF que retorna o literal INÍCIO no topo do bloco.

Solução

Implementar o recurso de reordenação de cláusulas IF e ELSE IF nos Procedimentos.

Pontos de Atenção

  1. Existe uma trava proposital na reordenação destas declarações: Quando movemos qualquer parte do bloco, movemos o bloco inteiro dentro do Procedimento. O novo recurso implementado, deve manter este comportamento, reordenando as declarações apenas dentro do bloco de IF.

  2. Se um IF for movido para baixo ele se torna um ELSE IF, e se um ELSE IF for movido para o topo, ele se torna um IF.

  3. Um IF ou ELSE IF nunca pode ser movido para depois do ELSE.