Record RecordA type SerialRecord
{ fileName = "myFile" }
record_type char(1);
item1 char(20);
end
Record RecordB type BasicRecord
10 record_type char(1);
10 item2 bigint;
10 item3 decimal(7);
10 item4 char(8);
end
Program ProgramX type basicProgram
myRecordA RecordA;
myRecordB RecordB {redefines = "myRecordA"};
function main();
get myRecordA;
while (myRecordA not endOfFile)
if (myRecordA.record_type == "A")
myFunction01(myRecordA.item1);
else
myFunction02(myRecordB.item2, myRecordB.item3, myRecordB.item4);
end
get myRecordA;
end
end
end
Para declarar un registro como una redefinición de otro, puede utilizar la propiedad redefines, que acepta un serie que identifica otro registro. Esta propiedad solo está disponible en una declaración de registro, no en una definición de componente de registro.
Un registro de recubrimiento no tiene ninguna información (que no sea la estructura) que esté en el registro original. Un registro indexado puede redefinir un registro serie, por ejemplo, pero el archivo al que accede el registro indexado se identifica en el componente del registro indexado y no en el componente del registro serie.
Conceptos relacionados
Referencias a variables en EGL
Conceptos relacionados
Declarar variables y constantes en EGL
Consulta relacionada
Diseño interno de los registros SQL