close

La sentencia EGL close desconecta una impresora; o cierra el archivo o cola de mensajes asociada con un registro dado; o, en el caso de un registro SQL, cierra el cursor que se abrió mediante una sentencia EGL open o get.

Diagrama de sintaxis para la sentencia close
nombre
Nombre del objeto de E/S asociado con el recurso que se cierra; dicho objeto es un formulario de impresión, un registro indexado, MQ, relativo, serie o SQL
identificadorConjuntoResultados
Sólo para procesos SQL, un ID que conecta la sentencia close con una sentencia get o open ejecutada antes en el mismo programa. Para obtener detalles, consulte el apartado resultSetID.

Ejemplo:

	 if (userRequest == "C")
     try
       close fileA;
     onException
        myErrorHandler(12);
     end
	 end 

El comportamiento de una sentencia close depende del tipo de objeto de E/S.

Registro indexado, serie o relativo

Cuando el usuario utiliza el nombre de un registro indexado, serie o relativo en una sentencia close, EGL cierra el archivo asociado con ese registro.

Si hay un archivo abierto y se utiliza el elemento fileAssociation para cambiar el nombre de recurso asociado con ese archivo, EGL cierra el archivo automáticamente antes de ejecutar la sentencia siguiente que afecta al archivo. Para obtener detalles, consulte el apartado resourceAssociation.

EGL también cierra los archivos abiertos cuando finaliza el programa.

En CICS para z/OS, se aplican estas normas:
  • Si cierra un registro serie asociado con un archivo de spool, EGL se asegura de que se ejecute el mandato CICS SPOOL CLOSE para ese archivo
  • Si cierra un registro serie que no está asociado con un archivo de spool o cierra un registro indexado o relativo, EGL realiza un cierre lógico del archivo, al que a continuación pueden acceder otros programas
  • Una sentencia close no suprime los archivos de almacenamiento temporal

Registro MQ

Cuando el usuario utiliza el nombre de un registro MQ en una sentencia close, EGL se asegura de que se ejecuta el mandato MQSeries MQCLOSE para la cola de mensajes asociada con ese registro.

Formulario de impresión

Si el objeto de E/S es un formulario de impresión, la sentencia close emite una instrucción de alimentación de papel y se desconecta de la impresora o (si el formulario de impresión se almacena en spool en un archivo) cierra el archivo.

Antes de utilizar ConverseVar.printerAssociation para cambiar el destino de impresión, cierre la impresora o el archivo especificado por el valor actual de ConverseVar.printerAssociation. Emita una opción de sentencia close para cada destino de impresión, ya que puede haber varias impresoras o archivos de impresión abiertos simultáneamente.

El entorno de ejecución de EGL se asegura de que todas las impresoras estén cerradas cuando el programa finaliza.

Registro SQL

Cuando el usuario utiliza el nombre de un registro SQL en una sentencia close, EGL cierra el cursor SQL que está abierto para ese registro.

EGL cierra automáticamente un cursor en estos casos:

EGL cierra todos los cursores abiertos en este caso:
  • El programa es de tipo Web y revierte un formulario
  • El programa es de tipo textUI y realiza un compromiso automático antes de invertir un formulario; para obtener detalles acerca de los programas textUI y de la sentencia converse, consulte el apartado Segmentación
  • El programa es de tipo textUI, realiza un compromiso automático antes de invertir un formulario y no resulta afectado por la opción withHold cuando se realiza la inversión; para obtener detalles acerca de los programas textUI y de la sentencia converse, consulte el apartado Segmentación

Tareas relacionadas
Diagrama de sintaxis

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.