Calculadora Online de Block SIZE, TRKS y CYL de un fichero JCL
A continuación se muestra una calculadora online para obtener el BLOCK SIZE, los TRKS y los CYLS de un fichero MAINFRAME. Esta calculadora ha sido creada a partir de los parámetros oficiales de IBM, los resultados no son exactos pero si ajustados. Es muy práctico para tener una orientación de la magnitud del fichero en función del número de registros y el LRECL.
Calculadora de fichero FB
Resultados para un fichero FB:
Registros por Pista:
Block Size:
TRKS:
CYL:
Calculadora de ficheros VB
Resultados para un fichero VB:
Registros por Pista:
Block Size:
TRKS:
CYL:
Parámetros oficiales de IBM
La siguiente imagen nos muestra los parámetros oficiales de IBM en función del formato, la longitud y el BLOCK SIZE.
Definición de los diferentes parámetros de la calculadora Online
En el contexto de programación en mainframe y JCL (Job Control Language), el BLOCK SIZE, los TRACKS y los CYL (cilindros) son parámetros que se utilizan para definir y gestionar la organización y el tamaño de los ficheros en el sistema de almacenamiento en disco. Aquí te explico cada uno de estos conceptos:
- BLOCK SIZE (Tamaño de Bloque):
- El BLOCK SIZE se refiere al tamaño de los bloques de datos que se leen o escriben en el fichero. Especifica la cantidad de datos que se manejarán como una unidad.
- Este parámetro afecta directamente la eficiencia de las operaciones de E/S (entrada/salida). Un bloque más grande puede reducir el tiempo de acceso al disco, ya que se pueden leer o escribir más datos de una vez, pero también puede ocupar más espacio si los registros son pequeños y no se aprovecha completamente el bloque.
- En JCL, el BLOCK SIZE se especifica utilizando la declaración
BLOCKSIZE
en la descripción del fichero.
- TRACKS (Pistas):
- En mainframes, el disco está dividido en pistas (tracks) y cilindros. Una pista es una pista circular en una superficie del disco.
- Los TRACKS se refieren a la cantidad de pistas en las que se almacenará el fichero. Puedes especificar el número de pistas que se asignarán al fichero para su almacenamiento.
- La elección de TRACKS está relacionada con la organización física de los datos en el disco y puede afectar la eficiencia de las operaciones de acceso al disco.
- En JCL, el número de TRACKS se especifica mediante la declaración
TRACKS
en la descripción del fichero.
- CYL (Cilindros):
- Un cilindro es un conjunto de pistas que se encuentran en la misma posición vertical a través de varias superficies del disco. Representa una unidad lógica para el direccionamiento de datos en el disco.
- El parámetro CYL especifica la cantidad de cilindros que se asignarán al fichero.
- Así como con TRACKS, la elección de la cantidad de cilindros está relacionada con la optimización del acceso a los datos y la organización física en el disco.
- En JCL, el número de CYL se especifica mediante la declaración
CYLINDERS
en la descripción del fichero.
Ejemplo de creación de fichero en JCL
En un entorno mainframe, puedes utilizar el paso SORT de JCL junto con una utilidad como DFSORT o ICETOOL para ordenar registros en un fichero. Aquí tienes un ejemplo de un paso SORT en JCL que incluye la catalogación de un fichero de salida, y luego explicaré los parámetros relevantes:
//SORTSTEP EXEC PGM=SORT
//SYSOUT DD SYSOUT=A
//SORTIN DD DSN=INPUT.FILE,DISP=SHR
//SORTOUT DD DSN=OUTPUT.FILE,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(10,5),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
/*
Explicación de los parámetros relevantes:
- SORTOUT (Salida del SORT):
DSN=OUTPUT.FILE
: Especifica el nombre del fichero de salida resultante del proceso de ordenamiento.DISP=(NEW,CATLG,DELETE)
: Indica que el fichero debe ser creado si no existe, catalogado en el catálogo del sistema, y que debe ser eliminado al finalizar el job.UNIT=SYSDA
: Especifica la unidad de almacenamiento en la que se creará el fichero.SYSDA
es una unidad de disco.SPACE=(CYL,(10,5),RLSE)
: Define el espacio asignado al fichero. En este ejemplo, se asignan 10 cilindros iniciales con incrementos de 5 cilindros.RLSE
indica que el espacio no utilizado debe ser liberado cuando el fichero se cierra.DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
: Define las características del Control de Bloque de Datos (DCB) para el fichero de salida.RECFM=FB
especifica un formato de registro fijo,LRECL=80
define la longitud del registro como 80 bytes, yBLKSIZE=0
indica que el sistema debe calcular el tamaño del bloque automáticamente.
- SYSIN (Entrada del SORT):
- En el ejemplo, se utiliza la opción
SORT FIELDS=(1,10,CH,A)
para ordenar los registros basándose en los primeros 10 caracteres en orden alfabético ascendente (A).
- En el ejemplo, se utiliza la opción
Este ejemplo supone que ya tienes un fichero de entrada llamado INPUT.FILE
y que deseas ordenar sus registros y almacenar el resultado en un nuevo fichero llamado OUTPUT.FILE
. El fichero de salida se cataloga y se especifican los parámetros necesarios para su creación y manejo en el sistema de archivos.
JCL: Cómo Ejecutar un Proceso
Este libro explora el Job Control Language (JCL), esencial para ejecutar procesos en sistemas mainframe. Aprender JCL es fundamental para optimizar y automatizar tareas en sistemas IBM, y esta guía te muestra cómo hacerlo de manera práctica y efectiva.
Temas principales
- Estructura y comandos esenciales de JCL
- Creación y gestión de trabajos
- Optimización de recursos y manejo de errores
- Ejemplos prácticos de configuración de procesos
Con esta lectura, podrás mejorar la eficiencia de tus trabajos en mainframe, aumentando tu productividad en proyectos complejos.
Pingback: OUTFIL en JCL: SORT de un fichero - Cobol Coder