El diagrama de sintaxis de un parámetro de programa es el siguiente:

- nombreElementoDatos
- Nombre de un campo primitivo. Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
- tipoPrimitivo
- Tipo de un campo primitivo. En función del tipo, puede ser necesaria la siguiente
información:
- La longitud del parámetro, que es un entero que representa el número de caracteres o
dígitos del área de memoria.
- Para algunos tipos numéricos puede especificar un entero que
represente el número de posiciones después de la coma decimal. La coma decimal no se almacena con los datos.
- Para un elemento de tipo INTERVAL o TIMESTAMP, puede especificar
una máscara de fecha y hora, que asigna un significado (como por ejemplo
"dígito de año") a
una posición dada en el valor de elemento.
- nombreComponenteElementoDatos
- El nombre de un componente dataItem que es visible para el programa. Para obtener detalles acerca de la visibilidad, consulte el apartado Referencias a componentes.
El componente actúa como modelo de formato, como se describe en Typedef.
- nombreComponenteFormulario
- Nombre de un formulario.
El formulario debe ser accesible a través de un grupo de
formularios que esté identificado en una de las declaraciones de uso del programa. Un formulario al que se accede como un parámetro no puede mostrarse al usuario, pero puede proporcionar acceso a valores de campo que se pasan desde otro programa.
Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
- nombreRegistro
- Nombre de un registro o de un registro fijo. Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
- nombreComponenteRegistro
- Nombre de un componente de registro (o de componente de registro fijo) que es visible
para el
programa. Para obtener detalles acerca de la visibilidad, consulte el apartado Referencias a componentes.
El componente actúa como modelo de formato, como se describe en Typedef.
Las siguientes consideraciones corresponden a la entrada y salida (E/S) de parámetros
de registro:
- Un registro pasado desde otro programa no incluye información de estado del registro, como por ejemplo el valor de error de E/S endOfFile. De forma parecida, cualquier cambio en el estado del registro no se devuelve al llamador, de modo que, si realiza una operación de E/S en un parámetro del registro, las pruebas realizadas en ese registro deben producirse antes de que el programa finalice.
- Cualquier operación de E/S realizada en el registro utiliza las propiedades de registro especificadas para el parámetro, no las propiedades de registro especificadas para el argumento.
- Para los registros de tipo indexedRecord, mqRecord, relativeRecord o serialRecord,
el archivo o cola de mensajes asociada con la declaración de registro se trata como recurso de la unidad de ejecución en lugar de como recurso de programa. Las declaraciones de registro locales comparten el mismo archivo (o cola) siempre que la propiedad de registro fileName (o queueName)
tiene el mismo valor. Sólo puede asociarse un archivo físico simultáneamente con un nombre de archivo o cola, independientemente de cuántos registros estén asociados con el archivo o cola en la unidad de ejecución, y EGL refuerza esta norma cerrando y reabriendo los archivos según convenga.
Un argumento enviado desde otro programa EGL debe tener compatibilidad de referencia con el parámetro relacionado. Para obtener detalles, consulte el apartado Compatibilidad de referencia en EGL.