Continuando con la revisión de las Utilidades JCL estándar de las que disponemos en el sistema operativo ZOS, hoy vamos a revisar la denominada IEBGENER. Este programa resulta de gran utilidad cuando necesitamos operar con ficheros secuenciales (Sequential Data Set).
La utilidad IEBGENER sirve para realizar copias de ficheros secuenciales. Normalmente se emplea para realizar un backup de un fichero secuencial origen, aunque también se puede utilizar para producir un PDS o un PDSE a partir de un Secuencial.
A continuación, podemos ver un ejemplo de cómo se podría emplear la utilidad IEBGENER para tomar un fichero secuencial origen y crear una copia del mismo.
//* PARAMETROS A USAR EN EL PGM: SYSPRINT, SYSIN, SYSUT1, SYSUT2
//PASO1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=JJ00.FACTURA1.ORIGINAL,DISP=SHR
//SYSUT2 DD DSN=JJ00.FACTURA1.COPIAFAC,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(TRK,(1,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSIN DD DUMMY DUMMY--->COPIA SYSUT1 EN SYSUT2
Tal y como se puede observar, los parámetros que necesita la utilidad son los siguientes:
1º) Card SYSPRINT:
Aquí tenemos que indicar el lugar al que deseamos que se envíen todos
los mensajes generados durante el proceso de ejecución. Si ponemos
SYSOUT=* entonces dicha información se enviará directamente al SPOOL (a
la MSGCLASS indicada en nuestro job).
//SYSPRINT DD SYSOUT=*
2º) Card SYSIN:
Son las sentencias de control de entrada para el programa. En este
caso, el IEBGENER no lleva parámetros, así que lo ponemos a DUMMY.
//SYSIN DD DUMMY
3º) Card SYSUT1: Se trata del fichero de origen, es decir, es
el fichero secuencial del que vamos a realizar una copia. En el ejemplo es el
fichero JJ00.FACTURA1.ORIGINAL.
//SYSUT1 DD DSN=JJ00.FACTURA1.ORIGINAL,DISP=SHR
4º) Card SYSUT2:
Es el fichero de salida, es decir, el fichero copia del que hemos
indicado en la card SYSUT1. En el ejemplo, el fichero se denominará
JJ00.FACTURA1.COPIAFAC. Como vemos, aquí podemos indicar las
características que deseamos que tenga nuestro fichero secuencial:
DISP, SPACE, UNIT, VOLSER, RECFM, LRECL, BLKSIZE, etc...
//SYSUT2 DD DSN=JJ00.FACTURA1.COPIAFAC,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(TRK,(1,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
Una vez provisionados estos 4 parámetros, podríamos ejecutar nuestro JCL sin peligro ya que la ejecución del paso IEBGENER no debería darnos ningún problema. En el caso del ejemplo, nuestro JCL tomó el fichero secuencial JJ00.FACTURA1.ORIGINAL y realizó una copia con nombre JJ00.FACTURA1.COPIAFAC.
En líneas generales (aunque no siempre tiene por qué ser así), emplearemos la utilidad IEBGENER para operar con ficheros secuenciales y la utilidad IEBCOPY para la operativa con miembros particionados (PDS y PDSE). Esto nos facilitará mucho las cosas a la hora de elaborar nuestros JCL.
Y nada más. Como siempre, si os queda alguna duda al respecto de lo indicado sobre IEBGENER no dudéis en preguntárnoslo. Intentaremos resolverla en la medida de nuestras posibilidades.
Saludos.
si
ResponderEliminaresta ok.. gracias..
Me alegro de que os resulte útil.
ResponderEliminarCualquier cosa, ya sabéis que estoy por aquí...
Saludos.
bastante entendible, gracias
ResponderEliminarexcelente explicacion, gracias
ResponderEliminar