viernes, 2 de septiembre de 2016

Jcl: Comprimir una librería

Podemos comprimir una librería de la siguiente manera:

1) Ir a la opción 3.4 del ISPF.

2) Aparece una pantalla en la que pondríamos la librería en cuestión. Pulsamos INTRO.

3) Tras pulsar nos situamos en una pantalla en la que aparece algo como:

     ----------------------------------------------------
                <<librería-indicada>>
    ***********End of Data Set list***********

4) Estando ahí (en lo indicado en el punto 3), sólo tenemos que poner Z al lado del nombre de la librería. Pulsamos INTRO y ya tendríamos la librería comprimida.

Hasta aquí todo muy fácil pero podemos enfrentarnos al hecho de comprimir una librería en la que no podemos hacer esto debido a que si lo hacemos aparece un mensaje de error que nos dice lo siguiente: Data set in use. Pues bien, llegados a este punto, ¿qué haríamos? Muy fácil, ejecutar el siguiente jcl:

//XXXXXXXX JOB (20,000),'COMPRIMI',NOTIFY=XXXXXX,                 
//             CLASS=T,MSGCLASS=X                                 
//************** COMPRIMIR LIBRERIA *************************
//COMPRIM EXEC PGM=IEBCOPY,REGION=1024K
//SYSPRINT DD  SYSOUT=*                          
//I        DD  DISP=SHR,DSN=EJEM.LIBR.COMP  
//SYSUT3   DD  SPACE=(CYL,(2,1))     
//SYSUT4   DD  SPACE=(CYL,(2,1))     
//SYSIN    DD  *                                       
     COPY OUTDD=I,INDD=I                              

En el DSN pondríamos la librería a comprimir. En nuestro ejemplo,  sería la librería EJEM.LIBR.COMPR

Si ejecutamos dicho jcl, terminaría correctamente y comprimiría la librería en cuestión.