viernes, 19 de julio de 2013

Borrado de Fichero en JCL

En ocasiones, en un JCL necesitamos realizar el borrado de un fichero ya existente para poder volver a generarlo con nuevos datos calculados. Para realizar esta acción no basta con indicar el nombre del fichero con el comando DELETE, sino que debemos emplear una de las Utilidades MVS.

En particular, aquí hay que utilizar la utilidad IEFBR14, tal y como se hace en el ejemplo siguiente.

//* BORRADO DE FICHERO DE SALIDA                         
//BORRADO  EXEC PGM=IEFBR14                              
//DD001JJ  DD DSN=JJ00.JJ0002CL.SALIDA1,                 
//            DISP=(MOD,DELETE),UNIT=SYSDA,SPACE=(TRK,0)  


La utilidad IEFBR14 (Branch Register 14) sirve para catalogar ficheros en vacío, borrarlos, etc... utilizando, para ello, la sentencia DISP. Básicamente, con la ejecución de esta utilidad se entra a ejecutar el programa y, a continuación, se sale de él. Por tanto, realmente es una utilidad que no ejecuta ninguna acción.



Aunque no realice ninguna ejecución, su empleo es necesario en el paso de borrado de Fichero, ya que la Data Definition para los datos debe ir acompañada de un programa. Y, como no necesitamos realizar ninguna acción adicional, nos basta con incluir el programa (dummy) IEFBR14.

El paso de borrado debe tener:

1º) Sentencia EXEC: Donde se incluirá PGM=IEFBR14 para invocar a la utilidad indicada.

//BORRADO  EXEC PGM=IEFBR14    

2º) Comando DSN: Donde se detallará el nombre del fichero a borrar.

//DD001JJ  DD DSN=JJ00.JJ0002CL.SALIDA1, 

3º) Parámetro DISP: Sirve para indicar el estado inicial del fichero y el estado en el que queremos que quede una vez finalizado el proceso.

//            DISP=(MOD,DELETE),UNIT=SYSDA,SPACE=(TRK,0)  

4º) Parámetro UNIT: se utiliza para indicar al sistema que sitúe el fichero en un dispositivo específico (disco, cinta).

5º) Parámetro SPACE: para indicar el espacio ocupado por el fichero.

Saludos.

No hay comentarios:

Publicar un comentario