Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOEm revisão

IF ... ELSEIF ... ELSE ... ENDIF

IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIF

Escolhe um caminho conforme condições lógicas em sequência.

IF ... ELSEIF ... ELSE ... ENDIFAdvPL
01 · VISÃO GERAL

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.)

02 · SINTAXE

Sintaxe

IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIF
03 · EXEMPLO PRÁTICO

Exemplo 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 Nil
Resultado esperado

Seleciona a alternativa positiva. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • 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.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. Estruturas de Decisão no AdvPL. TDN. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha