Capitulo 5
Si no se especifica la sentencia THRU, la sentencia PERFORM ejecuta una vez, el conjunto de
sentencias que forman el procedimiento-1. Si la opción THRU se especifica, entonces se ejecutan, una
vez todos los procedimientos existentes en el programa entre procedimiento-1 y procedimiento-2, ambos
inclusive.
Formato 2:
PERFORM [THRU TIMESprocedimiento-1 procedimiento-2]
entero
nombre datos
Si no se especifica la opción THRU, la sentencia PERFORM ejecuta el numero de veces
especificado por entero o por un nombre de datos, le conjunto de sentencias que forman procedimiento-
1. Si la opción THRU se especifica, entonces se ejecutan el numero de veces especificado, todos los
procedimientos existentes en el programa entre procedimiento-1 y procedimiento-2, ambos inclusive.
Formato 3:
PERFORM TIMES END-PERFORM
entero
nombre datos
{sentencia}.....
Cuando se emplea este formato, la sentencia PERFORM ejecuta el numero de veces
especificado por entero o por nombre de datos, el conjunto de sentencias que hay entre PERFORM y
END-PERFORM. Un punto, como final de alguna de las sentencias de esta estructura, daría lugar a un
error, ya que se entendería como final de la sentencia PERFORM.
Formato 4:
PERFORM [THRU WITHTEST
AFTER
BEFORE
UNTIL
procedimiento-1 procedimiento-2]
condición
Si no se especifica la opción THRU, la sentencia PERFORM ejecuta el conjunto de sentencias
que forman el procedimiento-1 hasta que la condición sea verdad. Si la opción THRU se especifica,
entonces se ejecutan, hasta que la condición sea verdad, todos los procedimientos existentes en el
programa entre procedimiento-1 y procedimiento-2, ambos inclusive.
La ejecución, si no se ha especificado la opción WITH TEST, se realiza de la forma siguiente:
1- Se evalúa la condición. Si es cierta, se da por finalizada la ejecución de la
sentencia PERFORM y se pasa a la sentencia siguiente en el programa, si
es falsa se pasa al punto 2.
2- Se ejecuta el procedimiento-1 hasta el procedimiento-2, si ha sido especificado, y
se vuelve al punto 1.
La opción TEST BEFORE, evalúa la condición antes de la ejecución, esto quiere decir que la
ejecución se efectuara 0 o mas veces. Es la opción por defecto.
La opción TEST AFTER, evalúa la condición después de la ejecución, esto quiere decir que la
ejecución se efectuara una o mas veces.
Formato 5:
PERFORM WITHTEST
AFTER
BEFORE
UNTIL
END-PERFORM
{sentencia}
condición
...
Cuando se emplea este formato, la sentencia PERFORM ejecuta el conjunto de sentencias que
hay entre PERFORM y END-PERFORM hasta que la condición sea verdad. Un punto, como final de
Página 29