Las propiedades de los componentes de programa varían en función de si el programa es
llamado o principal y, si es principal, de si el programa es de tipo
básico, textUI o VGWebTransaction. Las propiedades son las siguientes:
- @DLI
- Esta propiedad compleja permite especificar la interfaz de llamada, el PSB y los PCB
de un programa EGL que utiliza una base de datos DL/I. Para obtener más información y
detalles acerca de los campos que puede cambiar en esta propiedad, consulte la sección
dedicada a @DLI.
- alias = "alias"
- Una serie que se incorpora a los nombres de la salida generada. Si no establece la propiedad alias, en su lugar se utiliza el nombre del componente programa .
La propiedad
alias está disponible en cualquier programa.
- allowUnqualifiedItemReferences = no, allowUnqualifiedItemReferences
= yes
- Especifica si debe permitirse al código omitir calificadores de contenedor y
subestructura al hacer referencia a elementos de estructuras.
La propiedad
allowUnqualifiedItemReferences está disponible en cualquier
programa.
- Observe el siguiente componente de registro, por ejemplo:
Record ExampleRecordPart type basicRecord
10 myItem01 CHAR(5);
10 myItem02 CHAR(5);
end
La variable siguiente se basa en ese componente:
myRecord ExampleRecordPart;
Si acepta el valor por omisión de
allowUnqualifiedItemReferences (
no), debe especificar el nombre de registro al hacer referencia a myItem01, como en esta asignación:
myValue = myRecord.myItem01;
Si establece la propiedad
allowUnqualifiedItemReferences en
yes,
sin embargo, puede evitar especificar el nombre de registro:
myValue = myItem01;
Es aconsejable aceptar el valor por omisión, que promueve una mejor praxis. Al especificar el nombre del contenedor, se reduce la ambigüedad de cara a los usuarios que leen el código y de cara a EGL.
EGL utiliza un conjunto de normas para determinar el área de memoria a la que un nombre de variable o de elemento hace referencia.
Para obtener detalles, consulte el apartado Referencias a variables y constantes.
- handleHardIOErrors = yes, handleHardIOErrors
= no
- Establece el valor predeterminado para la variable del sistema
VGVar.handleHardIOErrors.
La variable controla si un programa continúa ejecutándose después de que se haya producido un error
grave en una operación de E/S en un bloque try. El valor predeterminado de la propiedad es
yes, que establece la variable en 1.
El código migrado desde
VisualAge
Generator no funcionará como antes a menos que establezca
handleHardIOErrors en no, lo que establece la variable en 0.
Esta propiedad está disponible en cualquier programa. Para obtener más detalles, consulte VGVar.handleHardIOErrors y Manejo de excepciones.
- includeReferencedFunctions = no, includeReferencedFunctions
= yes
- Indica si el programa contiene una copia de cada función que o se encuentra dentro del programa ni en una biblioteca a la que éste accede.
La propiedad
includeReferencedFunctions está disponible en cualquier programa.
- El valor por omisión es no, lo que significa que puede pasar por alto esta propiedad si realiza las siguientes prácticas durante el desarrollo, como se aconseja:
- Coloque las funciones compartidas en una biblioteca
- Coloque las funciones no compartidas en el programa
Si utiliza funciones compartidas que no están en una biblioteca, la generación sólo es posible si establece la propiedad includeReferencedFunctions en yes.
- inputForm = "nombreFormulario"
- Identifica un formulario que se presenta al usuario antes de que se ejecute la lógica del programa, como se describe en el apartado Formulario de entrada.
La propiedad
inputForm sólo está disponible en programas principales de UI de texto.
- inputUIRecord = RegistroVGUI
- Identifica un registro de VGUI que un programa VGWebTransaction recibe del
sometimiento de una página Web del usuario.
Existen dos casos:
- La página Web ha sido presentada por una sentencia show con
una cláusula returning, y el usuario ha sometido la página Web
para satisfacer la finalidad de esa sentencia.
- Como alternativa, puede que no esté implicada una sentencia
show con una cláusula returning; en
cualquier caso, el usuario un botón de la página Web o un enlace hipertexto para invocar
a un programa EGL y someter los datos del registro de VGUI a ese programa.
Un campo dado del registro de VGUI de la página Web debe tener el mismo nombre y tipo
que el elemento correspondiente del registro identificado por la propiedad
inputUIRecord.
Los datos no se colocan en la propiedad
inputUIRecord en estos casos:
- Una sentencia show invoca el programa con un conjunto de
argumentos en lugar de con un registro de VGUI; o
- La página Web ha sido presentada por una sentencia converse y el usuario ha sometido la página Web para devolver la sentencia siguiente en el mismo programa.
La propiedad inputUIRecord sólo está disponible en
programas VGWebTransaction.
Para obtener más detalles, consulte la sección
dedicada a la sentencia show.
- inputRecord = "registroEntrada"
- Identifica un registro básico global que un programa inicializa automáticamente y que
puede recibir datos de un programa que utiliza una sentencia
transfer para transferir el control. Para obtener más detalles, consulte el apartado Registro de entrada.
La propiedad inputRecord está disponible en un programa principal.
- localSQLScope = yes, localSQLScope
= no
- Indica si los identificadores para los conjuntos de resultados SQL y las sentencias preparadas
son locales para el programa, lo que constituye el valor predeterminado. Si acepta el valor
yes, los programas distintos pueden utilizar independientemente los mismos
identificadores.
Si especifica no, los identificadores se comparten en toda la unidad de
ejecución. Los identificadores creados en el código actual están disponibles en cualquier parte,
aunque otro código puede utilizar localSQLScope = yes para bloquear el
acceso a esos identificadores. Además, el código actual puede hacer referencia a identificadores
creados en cualquier parte, pero solo si el otro código ya se ha ejecutado y no ha bloqueado el
acceso.
Los efectos de compartir identificadores SQL
son los siguientes:
- Puede abrir un conjunto de resultados en un programa y obtener filas de ese conjunto en otro
- Puede preparar una sentencia SQL en un programa y ejecutar esa sentencia en otra
La propiedad localSQLScope está disponible en cualquier
programa.
- msgTablePrefix = "prefijo"
- Especifica el primero de los cuatro caracteres del nombre de la DataTable
utilizada como tabla de mensajes para el programa. Los demás caracteres del nombre corresponden a uno de los códigos de idioma nacional listados en el apartado Componente DataTable en formato fuente EGL.
La propiedad msgTablePrefix está disponible en cualquier
programa básico, textUI o VGWebTransaction. Para conocer más detalles acerca de los
mensajes utilizados en un programa VGWebTransaction, consulte el trama dedicado a la
opción msgTablePrefix del descriptor de construcción.
Los PageHandlers no
utilizan ninguna tabla de mensajes, pero utilizan un recurso de mensajes JavaServer
Faces. Para obtener detalles acerca de ese recurso, consulte la descripción de la
propiedad msgResource de la sección Componente PageHandler
en formato fuente EGL.
- segmented = no, segmented = yes
- Indica si el programa está segmentado, como se describe en el apartado Segmentación.
El valor se establece siempre en yes en los programas VGWebTransaction, y el valor
por omisión es no en los programas principales de UI de texto.
La propiedad no es válida en otros tipos de programas.
- throwNrfEofExceptions = no, throwNrfEofExceptions
= yes
Especifica si un error leve provoca el lanzamiento de una excepción. El valor por omisión es
no. Para obtener información, consulte la sección Manejo de excepciones.