Habitualmente solemos ver lo siguiente en los pasos de sort de los jcl's:
//SORT01 EXEC PGM=SORT
//SORTIN DD DSN=FICH.PRUEBA.ENTRADA,
// DISP=SHR
//SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
//SORTIN DD DSN=FICH.PRUEBA.ENTRADA,
// DISP=SHR
//SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
Sin embargo, también podemos poner algo como lo siguiente:
Lo primero de todo: en ambos casos debe existir el fichero que se está utilizando en el SORTIN, es decir, el fichero FICH.PRUEBA.ENTRADA debe existir para que no falle ni el paso de sort SORT01 ni el paso de sort SORT02.
Ahora vamos a ver qué diferencia hay entre lo utilizado en el paso SORT01 y lo utilizado en el paso SORT02: DISP=SHR y DISP=(OLD,DELETE,KEEP).
DISP=SHR: Con esta disposición nos limitamos a utilizar el fichero, SHR viene del inglés SHARE (que significa 'compartir'). Resulta que seguirá existiendo el fichero FICH.PRUEBA.ENTRADA cuando finalice el jcl, por lo tanto, no nos tenemos que olvidar de incluir un paso de borrado al final del jcl para borrar este fichero de trabajo junto con todos los demás que se generen a lo largo del mismo jcl.
DISP=(OLD,DELETE,KEEP): Con esta disposición lo que conseguimos es que el fichero FICH.PRUEBA.ENTRADA se borre automáticamente cuando termine OK el paso SORT02; sin embargo, el mencionado fichero seguirá existiendo en el caso hipotético de fallo en el paso SORT02 (lo que nos permite relanzar desde ese mismo paso).
//SORT02 EXEC PGM=SORT
//SORTIN DD DSN=FICH.PRUEBA.ENTRADA,
// DISP=(OLD,DELETE,KEEP)
//SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
Lo primero de todo: en ambos casos debe existir el fichero que se está utilizando en el SORTIN, es decir, el fichero FICH.PRUEBA.ENTRADA debe existir para que no falle ni el paso de sort SORT01 ni el paso de sort SORT02.
Ahora vamos a ver qué diferencia hay entre lo utilizado en el paso SORT01 y lo utilizado en el paso SORT02: DISP=SHR y DISP=(OLD,DELETE,KEEP).
DISP=SHR: Con esta disposición nos limitamos a utilizar el fichero, SHR viene del inglés SHARE (que significa 'compartir'). Resulta que seguirá existiendo el fichero FICH.PRUEBA.ENTRADA cuando finalice el jcl, por lo tanto, no nos tenemos que olvidar de incluir un paso de borrado al final del jcl para borrar este fichero de trabajo junto con todos los demás que se generen a lo largo del mismo jcl.
DISP=(OLD,DELETE,KEEP): Con esta disposición lo que conseguimos es que el fichero FICH.PRUEBA.ENTRADA se borre automáticamente cuando termine OK el paso SORT02; sin embargo, el mencionado fichero seguirá existiendo en el caso hipotético de fallo en el paso SORT02 (lo que nos permite relanzar desde ese mismo paso).
No hay comentarios:
Publicar un comentario