Histórico da Página
Laço
Incluindo um Laço (enquanto)
O laço permite repetir várias vezes um conjunto de itens, até que a condição do laço se torne falsa, concatenando-as com os operadores .AND. (e) ou .OR. (ou), sendo que o último sub-item do laço a ser executado deverá, obrigatoriamente, ser uma execução e com operador .END. (fim).
Um laço pode ter como sub-item outros laços, ou condições e execuções.
O campo correspondente ao laço pode ser acionado pela tecla [F7], e será classificado na estrutura da fórmula com a legenda .
Exemplo 1:
Para todos os funcionários ativos deve retornar o salário mensal, conforme o exemplo da condição.
Exemplo 2:
Tipo | Resultado | Operador 1 | 1ª Expressão | Operador 2 | 2ª Expressão | Operador 3 |
---|---|---|---|---|---|---|
Laço |
|
| !Eof |
|
| .AND. |
Laço |
|
| R8_FILIAL+R8_MAT | == | RA_FILIAL+RA_MAT | .END. |
Condição |
|
| Empty(dDtFim) |
|
| .END. |
Execução | sDtFim | := | SR8->R8_DATAFIM |
|
| .END. |
Execução | dbSkp() |
|
|
|
| .END. |
Quando se tratar de tabelas, é imprescindível a utilização do comando dbSkip() ou fo_Skip() dentro do laço, de forma a evitar travamento. Neste exemplo, se não houvesse a chamada da função dbSkip(), o objeto ficaria posicionado sempre no mesmo registro, ocasionando o travamento do servidor.