IF ... ELSEIF ... ELSE ... ENDIF
IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIFEscolhe um caminho conforme condições lógicas em sequência.
Visão geral
A primeira condição verdadeira determina o bloco executado. ELSE cobre o caso restante e é opcional; ENDIF encerra a estrutura. Ordenar condições específicas antes das genéricas evita tornar uma alternativa inalcançável. O exemplo classifica um valor fictício sem aplicar regras fiscais ou de negócio. (Fontes: refs. 1–1.)
Sintaxe
IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIFExemplo comentado
#Include "Protheus.ch"
User Function Ed483()
Local nQty := 5
Local cState := ""
// Condicoes mutuamente exclusivas.
If nQty < 0
cState := "Negativo"
ElseIf nQty == 0
cState := "Zero"
Else
cState := "Positivo"
EndIf
ConOut(cState)
Return NilSeleciona a alternativa positiva. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Evitar efeitos colaterais nas condições e validar tipos antes de comparar.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.