Record ExampleRecordPart type basicRecord 10 myField CHAR(5); 20 myField01 CHAR(1) = "1"; 20 myField02 CHAR(1) = "2"; 20 myArray01 CHAR(1)[3] = ["a", "b", "c"]; // la entrada siguiente asigna "z" al primer elemento // y (en código Java) espacios en blanco al resto 20 myArray02 CHAR(1)[3] = ["z"]; end
Esta regla también se aplica a los campos de formulario, sin embargo, no puede especificar un inicializador en una DataTable.
Record ExampleRecordPart type basicRecord myRecField INT = 2; end Program myProgram (myField03 INT = 3) myField04 STRING = "EGL"; function main() // myRecord.myRecField = 2 myRecord ExampleRecordPart; end end
Record partA 10 aa char(4) = "abcd"; end Record partB 10 bb char(4) = "1234"; end Program Example A partA; B partB { redefines="A" }; function main() // cada una de las sentencias escribe "abcd" writeStdOut( A.aa ); writeStdOut( B.bb ); // establece el área de memoria de forma que refleja la definición del registro partB set B initial; // cada una de las sentencias escribe "1234" writeStdOut( A.aa ); writeStdOut( B.bb ); end end
En una estructura fija, sólo se tienen en cuenta los campos de estructura de nivel más bajo. Si, por ejemplo, un campo de estructura de tipo HEX está subordinado a un elemento de estructura de tipo CHAR, el área de memoria se inicializa con ceros binarios, como corresponde a la inicialización de HEX.
Los registros o campos que se reciben como parámetros de programa o función no se inicializan nunca automáticamente.
La tabla siguiente ofrece detalles sobre los valores de inicialización.
Tipo primitivo | Valor de inicialización |
---|---|
ANY | La variable no es de un tipo definido |
BIN (y los tipos enteros), HEX, FLOAT, SMALLFLOAT | Ceros binarios |
CHAR, MBCHAR | Blancos de un solo byte |
DATE, TIME, TIMESTAMP | Valor actual del reloj del sistema (para el número de bytes necesarios para la máscara en el caso de TIMESTAMP) |
DBCHAR | Blancos de doble byte |
DECIMAL, MONEY, NUM, NUMC, PACF | Ceros numéricos |
INTERVAL | Ceros numéricos (para el número de bytes necesarios para la máscara), precedidos de un signo más |
UNICODE | Blancos Unicode (cada uno de los cuales es hexadecimal 0020) |
Conceptos relacionados
Componente de función
Componente dataItem
Componente de programa
Componentes de registro
Estructura fija
Consulta relacionada
Sentencias EGL
Tipos primitivos
set