Si un componente es un subtipo, hay más propiedades disponibles. Un programa del tipo textUI tiene una propiedad llamada alias, así como una propiedad llamada inputForm. La última identifica un formulario de texto que se presenta al usuario antes de ejecutar la lógica del programa.
DataItem IDPart CHAR(9) { minInput = 9, // requiere 9 caracteres de entrada isDigits = yes, // requiere dígitos columnName = "SSN" // está relacionado con una columna }
myVariable IDPart;
Puede declarar esa variable en un componente compuesto como por ejemplo un componente de registro o directamente en un componente de lógica como por ejemplo un programa. En cada caso, el tipo de componente determina si se utiliza una determinada propiedad.
En el ejemplo actual, la propiedad columnName se utiliza solamente si la variable se declara en un registro de tipo SQLRecord. Las dos propiedades de validación solo se utilizan si la variable se declara en un componente de interfaz de usuario, como por ejemplo pageHandler.
myVariable IDPart { isDigits = no };
En este ejemplo, la propiedad minInput no se ve afectada por la alteración temporal y se ignora la propiedad columnName.
No se puede acceder a una propiedad en tiempo de ejecución. Cuando crea variables basadas en un componente de registro SQL, por ejemplo, la lógica escrita no puede recuperar ni cambiar los nombres asignados a la propiedad tableNames que se identifica con las tablas SQL a las que se accede por registro. Incluso aunque altere temporalmente un valor de propiedad en una declaración de variable, la lógica no podrá cambiar el valor especificado durante el desarrollo.
La falta de acceso de tiempo de ejecución a un valor de propiedad significa que cuando asigna el contenido de una variable o utiliza la variable como un argumento, el valor de propiedad no se transfiere conjuntamente con el contenido. Si copia datos de un registro SQL a otro, por ejemplo, no se hacen cambios en la especificación de a qué tablas SQL accede el registro destino. Igualmente, cuando pasa un registro SQL a una función EGL, el parámetro recibe contenido de campo, pero retiene las especificaciones de tabla SQL que se asignaron durante el desarrollo.
Los componentes EGL predefinidos como por ejemplo ConsoleField pueden incluir propiedades y campos. Al contrario que las propiedades, los campos están disponibles en tiempo de ejecución. La lógica que escribe puede leer el valor del campo y en muchos casos, cambiarlo.
Un bloque de establecimiento de valor es un área de código en la que puede establecer los valores de propiedad y de campo. Para obtener detalles, consulte la sección Bloque de establecimiento de valor.
Conceptos relacionados
Referencias a variables en EGL
Bloques de establecimiento de valor
Consulta relacionada
Componente de formulario en formato fuente EGL
Propiedades de elementos SQL