IF FENTRADA-OK
<<fichero abierto>>
ELSE
<<error lógico>>
END-IF.
Cuando se lea de dicho fichero (READ FENTRADA INTO COPY) también podemos controlar el file status:
SET NO-FIN-FENTRADA TO TRUE
*-------------------------------------------------------
IF FENTRADA-OK
<<lectura correcta>>
ELSE
IF FENTRADA-FIN
SET SI-FIN-FENTRADA TO TRUE
ELSE
<<error lógico>>
END-IF
END-IF.
Tras la lectura del fichero de entrada podemos hacer una cosa u otra en función de si se ha llegado o no al final del mismo:
IF SI-FIN-FENTRADA
<<se ha llegado al final de FENTRADA, se hará lo que corresponda>>
ELSE
<<no se ha llegado al final de FENTRADA, se hará lo que corresponda>>
END-IF.
Continuamos con otros ejemplo de switch. Sobretodo uno que resulta muy interesante para hacer las condiciones de los IF más sencillas. Veamos el siguiente IF:
IF (campo = 2 or 4 or 6 or 8 or 10)
DISPLAY 'ES PAR.'
ELSE
DISPLAY 'ES IMPAR.'
END-IF.
Si declaramos un switch como el siguiente:
Y si se realiza un MOVE como este otro:
MOVE campo TO SW-PAR-O-IMPAR
La condición del IF anterior quedará tan sencilla como la que viene a continuación:
IF ES-PAR
DISPLAY 'ES PAR.'
ELSE
DISPLAY 'ES IMPAR.'
END-IF.
Pues esto es todo lo que puedo contar sobre el fascinante mundo de los switches. Espero que os resulte de utilidad.