Cómo controlar la ejecución de un procedimiento

En esta sección:

Puede usar los comandos de Dialogue Manager para administrar la ejecución de procedimientos. Los comandos utilizados con este próposito son -RUN, -EXIT, -QUIT y -QUIT FOCUS.


Principio de página

x
Cómo ejecutar comandos apilados y continuar el procedimiento

Puede ejecutar comandos apilados y continuar el procedimiento, por medio del comando -RUN.

El comando -RUN provoca la ejecución inmediata de todos los comandos apilados y cierra cualquier archivo externo, abierto con -READ o -WRITE. Tras la ejecución de los comandos apilados, el procesamiento del procedimiento continúa por la línea posterior a -RUN.



Ejemplo: Cómo ejecutar comandos apilados y continuar el procedimiento

El siguiente ejemplo explica cómo utilizar -RUN para ejecutar código apilado y luego volver al procedimiento. Los números de la izquierda se corresponden con las notas que explican el código.

1. TABLE FILE SALES
    PRINT PROD_CODE UNIT_SOLD
    BY CITY
   END 
2. -RUN
   TABLE FILE EMPLOYEE
    PRINT LAST_NAME FIRST_NAME
    BY DEPARTMENT
   END

El procedimiento se procesa del siguiente modo:

  1. Las cuatro primeras líneas constituyen la solicitud de informe. Cada línea queda colocada en una pila para su ejecución posterior.
  2. -RUN hace que se ejecuten los comandos apilados. Pasan al Servidor de informes WebFOCUS para procesamiento. El procesamiento continúa por la línea posterior a -RUN.

Principio de página

x
Cómo ejecutar comandos apilados y salir del procedimiento

Puede ejecutar comandos apilados y luego salir de un procedimiento, por medio del comando -EXIT. -EXIT fuerza la ejecución de los comandos apilados en cuanto los detecte.



Ejemplo: Cómo ejecutar comandos apilados y salir del procedimiento

En el siguiente ejemplo, se ejecuta la primera o la segunda solicitud de informe, pero no ambas.

1. -SET &PROC = 'SALES' 
2. -IF &PROC EQ 'EMPLOYEE' GOTO EMPLOYEE; 
   -SALES 
3. TABLE FILE SALES
   SUM UNIT_SOLD
    BY PROD_CODE
   END 
4. -EXIT
   -EMPLOYEE
   TABLE FILE EMPLOYEE
   PRINT LAST_NAME
    BY DEPARTMENT
   END

El procedimiento se procesa del siguiente modo:

  1. Dialogue Manager pasa SALES a &PROC.
  2. Se realiza una prueba de -IF, que falla, ya que el valor de &PROC no es EMPLOYEE, y el control pasa a la próxima línea, -SALES.

    Si el valor de &PROC fuese EMPLOYEE, el control pasaría a -EMPLOYEE.

  3. Se procesa el código FOCUS, que se apila para ser procesado más adelante.
  4. -EXIT ejecuta los comandos apilados. La salida se envía a la aplicación Cliente WebFOCUS y el procedimiento finaliza.

    No se ejecuta la solicitud bajo la etiqueta -EMPLOYEE.

Este ejemplo también presenta una salida o cierre explícito. Si el valor de &PROC fuese EMPLOYEE, el control pasaría a la etiqueta -EMPLOYEE, después de la prueba -IF, y el procedimiento nunca recibiría un -EXIT. Se ejecutaría la solicitud TABLE FILE EMPLOYEE y el procedimiento terminaría automáticamente.


Principio de página

x
Cómo cancelar la ejecución de un procedimiento

Cómo:

Puede cancelar la ejecución de un procedimiento a través del comando -QUIT. -QUIT cancela la ejecución de cualquier comando apilado y cause el cierre automático del procedimiento. El control regresa automáticamente a la aplicación WebFOCUS, independientemente de que se haya llamado al procedimiento desde otro procedimiento. Este comando resulta útil cuando las pruebas o cálculos generan resultados que no requieren más procesamiento.

En Developer Studio, puede usar el comando -QUIT FOCUS. Este comando cancela la ejecución de un procedimiento y da por finalizada la sesión de FOCUS. Regresa al sistema operativo y establece un código de devolución.



x
Sintaxis: Cómo Cancelar la ejecución de un procedimiento
-QUIT


x
Sintaxis: Cómo Cancelar la ejecución de un procedimiento y salir de FOCUS
-QUIT FOCUS [n]

donde:

n

Es el número del código de devolución del sistema operativo. Puede tratarse de una constante o de una variable. La variable debe ser un número entero. Si no introduce un valor o proporciona uno que no sea un número entero, se fija un código de devolución predeterminado en el sistema operativo, indicando una terminación anormal.

Una de las funciones principales de los códigos de devolución controlados por el usuario es la de detectar problemas de procesamiento. El valor del código de devolución determina si el procesamiento continúa o finaliza. Esto resulta muy útil para el procesamiento por lotes.



Ejemplo: Cómo cancelar la ejecución de un procedimiento

El siguiente ejemplo explica el uso de -QUIT para cancelar la ejecución, en base a los resultados de una prueba -IF:

1. -DEFAULT &CODE='B11'; 
2. -IF &CODE EQ '0' OR &CODE EQ 'DONE' GOTO QUIT; 
3. TABLE FILE SALES 
   SUM UNIT_SOLD
   WHERE PROD_CODE EQ &CODE
   END  
4. -QUIT

El procedimiento se procesa del siguiente modo:

  1. El comando -DEFAULT establece el valor de &CODE en B11.
  2. El valor B11 pasa a &CODE.
  3. Se procesa el código FOCUS, que se apila para ser procesado más adelante.
  4. -QUIT cancela la ejecución de los comandos apilados y sale del procedimiento.

WebFOCUS