No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de COBOL desde Cero

Curso de COBOL desde Cero

Carlos Sánchez Botello

Carlos Sánchez Botello

Utilerías: IEBGENER

15/24
Recursos

Aportes 4

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

**IEBGENER** IEBGENER es una utilidad de IBM que se utiliza en sistemas mainframe **para realizar copias de datos** (también conocida como "copia de archivos" o "copia de datos") desde una ubicación a otra. El nombre "IEBGENER" es una abreviatura de **"IEB (IBM Utility Executing Program) GENERate"** y refleja su propósito de generar copias de datos. Esta utilidad se utiliza comúnmente en trabajos JCL (Job Control Language) para realizar tareas de procesamiento de datos, como **copiar archivos, concatenar archivos, crear copias de seguridad y realizar otras operaciones de manipulación de archivos**. IEBGENER es parte de un conjunto de utilidades proporcionadas por IBM en sistemas mainframe para administrar y manipular datos. //PASO02   EXEC PGM=IEBGENER,COND=(0,LT) //SYSUT1    DD  DSN=HERC01.\*,DISP=SHR    //SYSUT2    DD  DISP=(,MOD,DELETE),      //              DSN=HERC01.\*,            //              DCB=(\*.SYSUT1),          //              SPACE=(TRK,(200)),       //              VOL=SER=PUB010,          //              UNIT=3350                //SYSPRINT  DD  SYSOUT=\*                 //SYSIN     DD  DUMMY                    //\* IEBGENER UTILERIA                    /\* **//PASO02   EXEC PGM=IEBGENER,COND=(0,LT)** Se define un paso de trabajo (PASO02) que utiliza la utilidad IEBGENER. Este nombre se utiliza para identificar este paso dentro del trabajo JCL. EXEC PGM=IEBGENER,COND=(0,LT): Esta línea especifica que se debe ejecutar el programa IEBGENER como parte de este paso. La condición (0,LT) indica que este paso se ejecutará si el código de retorno del paso anterior (si hubo uno) es menor que 0. En otras palabras, este paso se ejecutará si el paso anterior se completó con éxito (con un código de retorno igual a 0) o si no se ejecutó ningún paso anterior. **//SYSUT1    DD  DSN=HERC01.\*,DISP=SHR** //SYSUT1: Esta línea define un archivo de entrada llamado "SYSUT1" DD DSN=HERC01.\*,DISP=SHR se refiere a la definición de un conjunto de datos de entrada. DD significa DATA DEFINITION DSN=HERC01.\* Se especifica el nombre del conjunto de datos de entrada (DSN = Data Set Name). En este caso, se utiliza un comodín ("\*") como parte del nombre del conjunto de datos para indicar que se deben procesar todos los conjuntos de datos cuyos nombres comienzan con "HERC01.". El punto final indica que se deben incluir todos los conjuntos de datos que tengan cualquier extensión de nombre. DISP=SHR: Especifica cómo se abrirá el conjunto de datos de entrada. "DISP" (disposition) y controla cómo se gestionará el conjunto de datos durante el procesamiento. En este caso, "SHR" (share) indica que el conjunto de datos se abrirá para lectura compartida. Esto significa que varios programas o pasos de trabajo pueden leer el conjunto de datos al mismo tiempo, lo que es útil cuando se necesita acceder al mismo conjunto de datos desde múltiples ubicaciones sin bloquearlo para otros usuarios.      **//SYSUT2 DD DISP=(,MOD,DELETE):** Esta línea define un conjunto de datos de salida llamado SYSUT2. Este conjunto de datos se utilizará para almacenar los resultados de alguna operación. DD Data Definition DISP=(,MOD,DELETE): Especifica cómo se gestionará el conjunto de datos SYSUT2 durante y después de su uso. DISP=: Indica la disposición o cómo se gestionará el conjunto de datos. (,MOD,DELETE): Estas son opciones de disposición. (,MOD): Significa que el conjunto de datos se abrirá en modo de modificación. Esto permite agregar datos a un conjunto de datos existente sin eliminar el contenido previo. Si el conjunto de datos no existe, se creará. DELETE: Indica que el conjunto de datos se eliminará después de su uso. Si ya existe, se eliminará antes de crear el nuevo conjunto de datos. **DSN=HERC01.\***: Esta parte especifica el nombre del conjunto de datos de salida. Al igual que en el conjunto de datos de entrada SYSUT1, se utiliza un comodín ("\*") en el nombre para indicar que se crearán conjuntos de datos que comiencen con "HERC01." con cualquier extensión de nombre. **DCB=(\*.SYSUT1)**: Esta parte especifica que el conjunto de datos de salida (**SYSUT2**) utilizará las características de **control del bloque de datos (DCB) del conjunto de datos de entrada (SYSUT1)** como plantilla. El asterisco (\*) se utiliza para hacer referencia al DDNAME (SYSUT1) del conjunto de datos de entrada. Esto asegura que el formato y las características del nuevo conjunto de datos coincidan con las del conjunto de datos de entrada. **SPACE=(TRK,(200))**: Se define el espacio asignado al conjunto de datos de salida en términos de pistas (TRACKS). Se asigna un espacio inicial de 200 pistas. Garantiza suficiente espacio disponible en la unidad de disco para acomodar el conjunto de datos de salida. **VOL=SER=PUB010**: Esta parte especifica el número de serie del volumen en el que se creará el conjunto de datos de salida. En este caso, se utilizará el volumen con el número de serie "PUB010" para almacenar el conjunto de datos. **UNIT=3350:** Indica que la unidad de disco 3350 se utilizará para almacenar el conjunto de datos de salida. Esto se refiere al tipo específico de unidad de disco que se utilizará para el almacenamiento. **//SYSPRINT  DD  SYSOUT=\***        Define un archivo de salida llamado "SYSPRINT" que envía la salida al dispositivo de sistema (SYSOUT=\*). En otras palabras, los mensajes generados por la ejecución de IEBGENER se imprimirán en la salida del sistema.****      **//SYSIN     DD  DUMMY**                    Define un archivo de entrada. En este caso, se especifica "DUMMY", lo que significa que no se proporciona un archivo de control (input). Esto indica que IEBGENER utilizará sus valores predeterminados y no requiere una entrada de control adicional.

Al final no dijo que hacemos si entramos en modo View y me sale que no se puede guardar 😦

Apuntes:
SYSPRINT DD para definir un nuevo parámetro de la utilería.

El COND me suena como un IF en otros lenguajes de programación