Tipos primitivos

Cada tipo primitivo EGL caracteriza un área de memoria. Estas son las tres clases de tipos primitivos: de carácter, numéricos y de fecha y hora.

Una variable de tipo ANY recibe el tipo de valor asignado a esa variable, tal como se describe en el tipo ANY.

Durante la declaración, se especifica el tipo primitivo que caracteriza cada uno de estos valores:
Otras entidades también tienen un tipo primitivo:

Cada tipo primitivo se describe en una página independiente, y encontrará detalles adicionales en las páginas que describen las asignaciones, las expresiones lógicas, las invocaciones de función y la sentencia call.

Las secciones que siguen describen estos temas:

Tipos primitivos durante la declaración

Considere las siguientes declaraciones:
  DataItem
    myItem CHAR(4)
  end
  Record mySerialRecordPart type serialRecord
    {
       fileName="myFile"
    }
    10 name CHAR(20);
    10 address;
      20 street01 CHAR(20);
      20 street02 CHAR(20);
  end
Como se muestra, debe especificar un tipo primitivo al declarar estas entidades:
  • Una variable primitiva
  • Un campo de estructura que no tenga subestructuras
Puede especificar el tipo primitivo de un campo de estructura subestructurado como address. Si no especifica el tipo primitivo de un campo de estructura de este tipo, pero hace referencia al campo de estructura en el código, el producto hace las siguientes presuposiciones:
  • Se presupone que el tipo primitivo es CHAR, aunque los campos de estructura subordinados sean de un tipo diferente
  • Se presupone que la longitud será el número de bytes de los campos de estructura subordinados

Eficacia relativa de los diversos tipos numéricos

EGL da soporte a los tipos DECIMAL, NUM, NUMC y PACF a fin de que el usuario pueda trabajar más fácilmente con archivos y bases de datos utilizados por aplicaciones de legado. Es aconsejable utilizar campos de tipo BIN en desarrollos nuevos o utilizar un tipo entero equivalente (BIGINT, INT o SMALLINT); los cálculos son más eficaces con los campos de estos tipos. Obtendrá la mayor eficacia utilizando campos de tipo BIN, longitud 2 y sin posiciones decimales (el equivalente del tipo SMALLINT).

En los cálculos, asignaciones y comparaciones, los campos de tipo NUM sin posiciones decimales son más eficaces que los campos de tipo NUM con posiciones decimales.

Para código generado en Java, los cálculos Los cálculos con campos de tipo DECIMAL, NUM, NUMC y PACF son igualmente eficaces. Para código generado en COBOL, son embargo, se aplican estas distinciones:
  • Los cálculos con los campos de tipo NUM son más eficaces que los cálculos con los campos de tipo NUMC
  • Los cálculos con los campos de tipo DECIMAL son más eficaces que los cálculos con los campos de tipo PACF
Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.