Tipos de registros y propiedades

Están disponibles varios tipos de registros EGL:

Para obtener información detallada sobre qué sistemas destino dan soporte a qué tipos de registros, consulte la sección Referencia cruzada de tipos de archivos y registros. Para obtener información detallada sobre cómo se inicializan los componentes de registro, consulte la sección Inicialización de datos.

basicRecord

Un registro básico o un registro básico fijo se utiliza para el proceso interno y no puede acceder al almacenamiento de datos.

Por omisión, el componente es un componente de registro, pero es un componente de registro fijo las definiciones de campo van precedidas por números de nivel.

En un componente de registro fijo del tipo basicRecord, la propiedad redefines está disponible. Si se establece, esa propiedad identifica un registro declarado y cualquier registro basado en el componente de registro fijo accederá a la memoria de tiempo de ejecución del registro declarado.

Otra propiedad (cuyo uso no se recomienda) es containerContextDependent.

En un programa principal, la propiedad de programa inputRecord identifica un registro (o un registro fijo) que se inicializa automáticamente, como se describe en la sección Inicialización de datos.

indexedRecord

Un registro indexado es un registro fijo que le permite trabajar con un archivo al que se accede mediante un valor de clave, que identifica la posición lógica de un registro en el archivo. Puede leer el archivo invocando una sentencia get, get next o get previous. Además, puede escribir en el archivo invocando una sentencia add o replace; y puede eliminar un registro del archivo invocando una sentencia delete.

Las propiedades de un componente de tipo indexedRecord son las siguientes:
  • La propiedad fileName es obligatoria. Para obtener detalles sobre el significado de la entrada, consulte la sección Asociaciones de recursos (visión general). Para obtener detalles sobre los caracteres válidos, consulte la sección Convenios de denominación.
  • La propiedad keyItem es obligatoria pero sólo puede ser un campo de estructura que sea exclusivo en el mismo registro. Debe utilizar una referencia no calificada para especificar el campo de clave; por ejemplo, utilice myItem en lugar de myRecord.myItem. (Sin embargo, en una sentencia EGL, puede hacer referencia al campo de clave al igual que haría con cualquier campo.)
  • Otra propiedad (cuyo uso no se recomienda) es containerContextDependent.

Consulte también la sección Propiedades que soportan registros de longitud variable.

mqRecord

Un registro MQ es un registro fijo que permite acceder a una cola de mensajes MQSeries. Para obtener información detallada, consulte la sección Soporte de MQSeries.

relativeRecord

Un registro relativo es un registro fijo que permite trabajar con un conjunto de datos cuyos registros tienen las siguientes propiedades:
  • Tienen una longitud fija
  • Se puede acceder a ellos mediante un entero que representa la posición secuencial del registro en el archivo
Las propiedades de un componente de tipo relativeRecord son las siguientes:
  • La propiedad fileName es obligatoria. Para obtener detalles sobre el significado de la entrada, consulte la sección Asociaciones de recursos (visión general). Para obtener detalles sobre los caracteres válidos, consulte la sección Convenios de denominación.
  • La propiedad keyItem es obligatoria. El campo de clave puede ser cualquiera de estas áreas de memoria:
    • Un campo de estructura en el mismo registro
    • Un campo de estructura de un registro que es global al programa o que es local a la función que accede al registro
    • Una variable primitiva que es global al programa o que es local a la función que accede al registro

    Debe utilizar una referencia no calificada para especificar el campo de clave. Por ejemplo, utilice myItem en lugar de myRecord.myItem. (En una sentencia EGL, puede hacer referencia al campo de clave de la misma manera que haría referencia a cualquier campo). El campo de clave debe ser exclusivo en el ámbito local de la función que accede al registro o bien debe estar ausente del ámbito local y ser exclusivo en el ámbito global.

    El campo de clave tiene las siguientes características:
    • Tiene un tipo primitivo de BIN, DECIMAL, INT o NUM
    • No contiene posiciones decimales
    • Permite 9 dígitos como máximo

    Sólo las sentencias get y add utilizan el campo de clave, pero éste debe estar disponible en cualquier función que utiliza el registro para acceder a archivos.

  • Otra propiedad (cuyo uso no se recomienda) es containerContextDependent.

serialRecord

Un registro serie es un registro fijo que le permite acceder a un archivo o conjunto de datos al que se accede secuencialmente. Puede leer el archivo invocando una sentencia get, y una serie de sentencias get next lee secuencialmente los registros del archivo, desde el primero al último. Puede escribir en el archivo invocando una sentencia add, que coloca un registro nuevo al final del archivo.

Las propiedades del registro serie incluyen fileName, que es obligatoria. Para obtener detalles sobre el significado de la entrada para esta propiedad, consulte la sección Asociaciones de recursos (visión general). Para obtener detalles sobre los caracteres válidos, consulte la sección Convenios de denominación.

Otra propiedad (cuyo uso no se recomienda) es containerContextDependent.

Consulte también la sección Propiedades que soportan registros de longitud variable.

sqlRecord

Un registro SQL es un registro (o un registro fijo) que proporciona servicios especiales al acceder a una base de datos relacional.

Por omisión, el componente es un componente de registro, pero es un componente de registro fijo las definiciones de campo van precedidas por números de nivel.

Cada componente tiene las propiedades siguientes:
  • Una entrada en tableNames identifica una tabla SQL asociada al componente. Puede hacer referencia a varias tablas de una unión, pero las restricciones aseguran que no escribe en varias tablas con una única sentencia EGL. Puede asociar un determinado nombre de tabla con una etiqueta, que es un nombre corto opcional que se utiliza para hacer referencia a la tabla en una sentencia SQL.
  • defaultSelectCondition es opcional. Las condiciones forman parte de la cláusula WHERE de las sentencias SQL por omisión. La cláusula WHERE es significativa cuando se utiliza un registro SQL en una sentencia EGL open o get o en las sentencias como get next o get previous.

    En la mayoría de casos, la condición de selección por omisión SQL complementa una segunda condición, que se basa en una asociación entre los valores de campo de clave del registro SQL y las columnas de clave de la tabla SQL.

  • tableNameVariables es opcional. Puede especificar una o más variables cuyo contenido durante la ejecución determina las tablas de base de datos a las que se debe acceder, como se describe en la sección SQL dinámico.
  • keyItems es opcional. Cada campo de clave sólo puede ser un campo de estructura exclusivo en el mismo registro. Debe utilizar una referencia no calificada para especificar cada uno de esos campos; por ejemplo, utilice myItem en lugar de myRecord.myItem. (Sin embargo, en una sentencia EGL, puede hacer referencia a un campo de clave al igual que haría con cualquier campo.)
  • Otra propiedad (cuyo uso no se recomienda) es containerContextDependent.

Para obtener información detallada, consulte la sección Soporte de SQL.

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