viernes, 8 de enero de 2021

Jcl - error SB37

Cuando un jcl falla en un paso de sort dando un error SB37 significa que el fichero que se está intentando generar en dicho paso necesita más espacio.

¿Recuerdas el post File Status 34 en Cobol publicado en este mismo blog? Si no te acuerdas puedes acceder al mismo pinchando aquí.

¿Por qué hacemos referencia a dicho post? Muy sencillo. Ambos errores son primos hermanos, es decir, el error SB37 en un jcl es lo que el file status 34 en un programa Cobol. Por lo tanto, se aplica la misma solución. Se debe aumentar el espacio al fichero que se está intentando alocar en el paso de sort.

Ejemplo, tenemos lo siguiente en la cláusula SORTOUT del paso de sort:



     //SORTOUT DD DSN=<<fichero_salida>>
     //                    DISP=(,CATLG,DELETE)
     //                    SPACE=(CYL,(500,50))

Si nos diera un error SB37 habría que aplicar la siguiente modificación:



     //SORTOUT DD DSN=<<fichero_cabecera>>
     //                    DISP=(,CATLG,DELETE)
     //                    SPACE=(CYL,(1000,100))

Se ha marcado en otro color el lugar en el que se ha aplicado la modificación y, si se compara con lo que se tenía previamente, se observa que se ha aumentado el espacio con el que se pretende alocar el fichero generado en el paso de sort.