Permite implementar formatos condicionados ao contexto, isto é, capazes de produzir saídas que podem variar de acordo com o conteúdo do registro que está sendo formatado.
Sintaxe: IF condição THEN formato1 ELSE formato2 FI
Onde,
-
condição é a função ou expressão que servirá para validar a operação, retornando os valores Verdadeiro ou Falso;
-
formato1 é qualquer formato válido de extração de dados a ser executado casocondição retorne Verdadeiro; e
-
formato2 (opcional) é qualquer formato válido de extração de dados a ser executado caso condição retorne Falso.
A cláusula ELSE é opcional, mas toda condicional IF necessariamente deve ser encerrada com um FI.
Exemplos:
if p(V10) then “autor: “v10+|; | else “titulo: “v20 fi
Primeiro é verificado se existe conteúdo no campo 10. Se existe, é assumido o formato de exibição “autor: “v10+|; |, caso contrário é assumido “titulo: “v20.
Supondo que, numa base de dados, o campo 80 seja usado para tipo de material e quando ele estiver preenchido com LIVRO, somente determinados campos devem ser exibidos. Utiliza-se:
if v80=’LIVRO’then v10/v20/v30 fi v60/v70
Os campos 10, 20 e 30 estão condicionados ao conteúdo do campo 80 e os campos 60 e 70 deverão ser impressos em outra ocasião.
Outro exemplo seria:
if v80=’LIVRO’then v10/v20/v30 else if v80=’ARTIGO’ then v20/v30/v40 fi fi v60/v70
que especifica quais campos serão exibidos quando o tipo de material for LIVRO (campos 10, 20, 30) ou ARTIGO (campos 20, 30, 40).