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

- nombreElementoDatos
- Nombre de un elemento de datos. Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
- tipoPrimitivo
- El tipo primitivo de un elemento de datos o (en relación a una matriz dinámica) el tipo primitivo de un elemento de matriz.
- longitud
- La longitud del parámetro o (en relación a una matriz dinámica) la longitud de un elemento de matriz. La longitud es un entero que representa el
número de caracteres o dígitos del área de memoria referenciada por
nombreElementoDatos o (en el caso de un elemento de matriz dinámica)
nombreMatrizDinámica.
- decimales
- Para algunos tipos numéricos puede especificar decimales que es un entero que representa
el número de posiciones después de la coma decimal. El número máximo de posiciones decimales es el menor de dos números: 18 o el número de dígitos declarado como longitud. La coma decimal no se almacena con los datos.
- "máscaraFechaHora"
- Para elementos de tipo INTERVAL o TIMESTAMP, puede especificar máscaraFechaHora", que asigna
un significado (como por ejemplo "dígito de año") a una posición dada en el valor de elemento. La
máscara no se almacena con los datos.
- 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. Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
- nombreComponenteRegistro
- Nombre de un componente de registro 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.
- nombreMatrizDinámica
- Nombre de una matriz dinámica de registros o elementos de datos. Si utiliza esta opción, los demás símbolos de la derecha (nombreComponenteElementoDatos, tipoPrimitivo,
etc.) hacen referencia a cada uno de los elementos de la matriz. Para conocer las normas de denominación, consulte el apartado Convenios de denominación.
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.