La página Programas de creación consta de dos áreas principales. En el lado izquierdo hay una vista de árbol que muestra todos los programas de creación y sus diversos componentes. Los botones que hay junto a la vista de árbol se pueden utilizar para añadir, duplicar y eliminar componentes de la vista. En el lado derecho hay un área que se utiliza para editar los diversos atributos del componente que esté seleccionado a la izquierda.
Los componentes de un programa de creación son entradas, dependencias de recursos, programas de creación de requisitos previos y conjuntos de mandatos. Generalmente se definen en este orden.
Los propios programas de creación tienen propiedades que pueden editarse. Cuando se selecciona un programa de creación, se verán tres secciones que proporcionan dichas propiedades.
Utilice la sección Detalles de programa de creación para dar el nombre del programa de creación. Este nombre es el identificador del programa de creación y es necesario. El nombre del programa de creación puede contener cualquier carácter excepto espacios y comas, y puede tener hasta 50 caracteres. Se utiliza al referenciar el programa de creación como una dependencia. También puede especificar una descripción para el programa de creación. La descripción es opcional.
La sección Objetos de salida describe los objetos que crea este programa de creación. El tiempo de ejecución de compilación comprobará si los objetos existen y si están obsoletos y seleccionará la sección adecuada del conjunto de mandatos que ejecutar. Si el programa de creación crea un objeto del origen, se puede utilizar la variable predefinida &N para dar nombre al objeto de salida. Si el programa de creación se utiliza para configuración, realmente no puede crear ni cambiar ningún objeto, y esta sección se puede dejar vacía.
Las variables del programa de creación se pueden utilizar para dar valores a las variables de conjuntos de mandatos y de objetos de salida. En esta sección se pueden definir todas las variables de sustitución que se desee. Después estas variables se pueden referenciar desde los conjuntos de mandatos utilizados por este programa de creación. Si se utiliza más de un conjunto de mandatos en este programa de creación, aquí se podrían definir variables que se utilizarían en los distintos conjuntos de mandatos.
Una lista de entrada proporciona valores para los conjuntos de mandatos referenciados por este programa de creación. Los conjuntos de mandatos que utiliza el programa de creación pueden tener variables especificadas en sus definiciones. La lista de entrada se utiliza para proporcionar valores para estas variables.
Cada lista de entrada tiene un nombre que se puede utilizar en la tabla de variables del conjunto de mandatos. La entrada especifica una lista de recursos definiendo qué incluir en la lista y, posiblemente, qué incluir de ella. Por ejemplo, se podría especificar que una entrada fuese una lista de todos los miembros de QRPGLESRC excepto el miembro ABC.
Algunas entradas están pensadas para procesarse de una en una por parte del programa de creación; por ejemplo, una lista de miembros fuente proporcionada para un conjunto de mandatos de compilación. Otras entradas están pensadas para procesarse como un grupo; por ejemplo, los objetos de módulo pensados para combinarse en un programa de servicio. El tipo de entrada se especifica al proporcionar sus propiedades. Es poco probable que se tengan ambos tipos de entrada en el mismo programa de creación, aunque el editor de compilación no lo prohíbe.
Repetir tareas para cada elemento de una lista de entrada
Si la lista de entrada debe procesarse de una en una, los conjuntos de mandatos de este programa de creación se ejecutan para cada elemento de la lista. El elemento de la lista proporciona los valores para las variables predefinidas &N, &X, &L y &F. Los conjuntos de mandatos se ejecutan en el orden especificado en el programa de creación.
Sustituir una lista de entrada completa por una variable
Si la lista de entrada se va a procesar como un grupo, el programa de creación combina todos los elementos de la lista en un valor único, separa cada elemento mediante un espacio en blanco y los formatea de acuerdo con el formato seleccionado en la tabla de variables del conjunto de mandatos. Esta lista se puede utilizar para proporcionar parámetros a los mandatos que toman listas como valores. Un buen ejemplo de lo anterior serían los módulos que se van a combinar en un programa de servicio.
Las dependencias que este programa de creación pudiera tener con recursos se describen de forma muy similar a las listas de entrada, excepto en que no tienen nombres. Por ejemplo, podría tener un recurso de incluir biblioteca que lo proporcione un proveedor. Se puede especificar que incluir biblioteca sea una dependencia de recurso. Si se cambia dicha biblioteca, la compilación hará que se ejecute este programa de creación.
Para trabajar con dependencias de recurso, seleccione el componente "Dependencias de recurso" del programa de creación especificado en la vista de árbol de la izquierda de la página y utilice los formularios de la derecha para añadir, editar o eliminar dependencias. La forma exacta de la dependencia depende de si se trata de un miembro o de un objeto.
La sección Programa de creación de requisitos previos se utiliza para especificar las dependencias de un programa de creación con otro. La de compilación utiliza esta información para determinar el orden para ejecutar los programas de creación. Por ejemplo, se puede especificar que el programa de creación B dependa del programa de creación A haciendo referencia al programa de creación A desde la definición del programa de creación B. Como A es necesario para B, la compilación comprobará si hay que compilar A antes de compilar B. Si es así, la compilación compilará primero A y luego, ya que B depende del A recién compilado, se compilará B.
Normalmente no es necesario utilizar programa de creación de requisitos previos. Está garantizado que los programas de creación se ejecuten en el orden especificado en la lista de programas de creación. Se pueden utilizar programas de creación de requisitos previos para perfeccionar ese orden.
Las referencias de conjunto de mandatos las utilizan los programas de creación para definir el proceso que se realiza cuando se ejecuta dicho programa de creación. Las referencia de conjunto de mandatos se definen utilizando el identificador asignado al conjunto de mandatos. Para añadir una referencia de conjunto de mandatos a un programa de creación, seleccione la sección Conjuntos de mandatos del programa de creación en el árbol del lado izquierdo de la página y utilice los botones del formulario para añadir un nuevo conjunto de mandatos o para duplicar el conjunto de mandatos seleccionado actualmente y modificarlo.
Sus conjuntos de mandatos deberían ser bastante reducidos y realizar una única cosa. Por ejemplo, un conjunto de mandatos puede tener un único mandato compile y un mandato CHGOBJOWN. De forma similar, sus programas de creación deberían limitarse a un único tipo de objeto IBM®. Por ejemplo, se podría definir un programa de creación para compilar todos los miembros fuente RPG de un archivo de origen particular en programas.
Pude hacerse referencia a más de un conjunto de mandatos en un mismo programa de creación. Luego la compilación procesa estos conjuntos de mandatos en el orden en el que están definidos en el programa de creación. Si un conjunto de mandatos es condicional, el objeto de salida se prueba para ver si existe y, si es así, si está desfasado. Estas comprobaciones se utilizan luego para seleccionar la sección de proceso adecuada del conjunto de mandatos.
Los conjuntos de mandatos pueden contar con variables de sustitución definidas. Los valores de dichas variables se proporcionan definiendo los mismos en el nivel del proyecto en la página Visión general, en el nivel del programa de creación en las propiedades del programa de creación o de forma local al utilizar la tabla de variables del conjunto de mandatos. La tabla de variables correspondiente a un conjunto de mandatos se muestra cuando se selecciona el mandato en la vista de árbol en el lado izquierdo de la página Programas de creación. En la tabla de variables se puede hacer coincidir una variable con una serie literal o con una lista de entrada. Las listas de entrada reciben un formato cuando se utilizan en una tabla de variables. Ese formato describe cómo se sustituyen sus valores en un mandato. Actualmente el único formato soportado es un formato de nombre calificado que permite utilizar las listas de entrada para dar valores a los de mandatos que toman como parámetros esos nombres de objeto totalmente calificados.
Consulte Jazz.net para obtener más información.