IF ... ELSEIF ... ELSE ... ENDIF
IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIFElige un camino según condiciones lógicas en secuencia.
Descripción general
Primera condición verdadera determina bloque ejecutado. ELSE opcional cubre caso restante y ENDIF cierra estructura. Ordenar condiciones específicas antes de generales evita alternativas inalcanzables. Ejemplo clasifica valor ficticio sin reglas fiscales ni de negocio. (Fuentes: refs. 1–1.)
Sintaxis
IF lCond1; ...; ELSEIF lCond2; ...; ELSE; ...; ENDIFEjemplo comentado
#Include "Protheus.ch"
User Function Ed483()
Local nQty := 5
Local cState := ""
// Condiciones mutuamente excluyentes.
If nQty < 0
cState := "Negativo"
ElseIf nQty == 0
cState := "Cero"
Else
cState := "Positivo"
EndIf
ConOut(cState)
Return NilSelecciona alternativa positiva. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Evitar efectos secundarios en condiciones y validar tipos antes de comparar.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.