Cuando necesitemos crear un Fichero VSAM en nuestra aplicación (cosa que no debería ocurrir habitualmente), tendremos la posibilidad de recurrir a dos soluciones alternativas. Una de ellas consistirá en la generación del Data Set mediante la herramienta ISPF y la otra en la generación mediante un JCL adaptado a dicha función.
Si nos decidimos por la generación mediante la herramienta ISPF, el proceso a seguir será un poco más engorroso que el del lanzamiento del JCL. Aunque, probablemente, con el ISPF nos quedará un poco más claro para qué sirve cada uno de los parámetros que estamos especificando.
Los pasos a seguir para la creación de un Fichero VSAM mediante ISPF serán los siguientes, teniendo en cuenta que iniciamos el proceso desde el menú POM (ISPF Primary Option Menu).
1º) Opción 3 - Utilities. Desde el menú POM, tendremos que seleccionar la opción 3 - Utilities (Perform Utility Functions).
3 Utilities Perform utility functions
2º) Opción 2 - Data Set. Seleccionamos opción 2 (Allocate, rename, delete, catalog, uncatalog, or display information of an entire data set).
2 Data Set Allocate, rename, delete, catalog, uncatalog,
or display information of an entire data set
3º) Opción V - VSAM Utilities. Seleccionamos opción V - VSAM Utilities.
V VSAM Utilities
4º) En el panel VSAM Utilities, tenemos que seleccionar la opción 1 - Define del apartado "Process Request" y la opción 3 - Cluster del apartado "Data Type".
Process Request Data Type
1 1. Define 3 1. Alias
2. Delete 2. Alternate Index
3. Information (Listcat) 3. Cluster
5º) Panel Define Cluster. Aquí tendremos que ir introduciendo la información correspondiente en cada uno de los parámetros requeridos. Tengamos en cuenta que no todos ellos son obligatorios.
Por ejemplo, nosotros vamos a especificar, para el fichero JJ00.FACTURAS.SALIDA1, los siguientes parámetros en el apartado "Cluster Level Information".
- Space Units: 1 1. Cylinders
- Space Units - Primary Quantity: 1
- Space Units - Secondary Quantity: 1
- Volumes: ZARES1
- Record Size - Average: 80
- Record Size - Maximun: 80
- Keys - Length: 10
- Keys - Offset: 0
- Indexed,NOnindexed,Linear or NUmbered: INDEXED
6º) Finalmente, nos aparece el Panel con los datos introducidos para el Fichero VSAM. Si estamos de acuerdo con ellos, entonces tendremos que introducir EXEC en la línea de comandos y el proceso de generación se lanzará.
/* IDCAMS COMMAND */
DEFINE CLUSTER (NAME(JJ00.FACTURAS.SALIDA1) -
CYLINDERS(1 1) -
VOLUMES(ZARES1 -
) -
KEYS(10 0) -
RECORDSIZE(80 80) -
INDEXED -
) -
DATA (NAME(JJ00.FACTURAS.SALIDA1.DATA) -
) -
INDEX (NAME(JJ00.FACTURAS.SALIDA1.INDEX) -
)
Una vez confirmado, la generación del fichero VSAM debería hacerse sin problemas. En nuestro ejemplo, hemos generado el fichero JJ00.FACTURAS.SALIDA1. De hecho, si nos vamos a consultar la lista de Data Sets de nuestra aplicación (JJ00), vemos que aparecen las nuevas entidades creadas.
- Enter "/" to select action Message Volume
-------------------------------------------------------------
JJ00.FACTURAS.SALIDA1 *VSAM*
JJ00.FACTURAS.SALIDA1.DATA ZARES1
JJ00.FACTURAS.SALIDA1.INDEX ZARES1
**************** End of Data Set list ***********************
Como se puede apreciar, el Data Set JJ00.FACTURAS.SALIDA1 aparece con la etiqueta *VSAM* en la columna "Volume", lo que lo identifica claramente como un fichero VSAM. Junto a él, podemos observar que también se han creado los ficheros DATA e INDEX.
Siguiendo todos los pasos anteriormente mencionados, no deberíamos tener ningún error en el proceso de generación de ficheros VSAM. Aunque en el ejemplo hemos dado de alta un fichero Indexado (KSDS), el procedimiento sería análogo para el resto de tipologías VSAM.
Pues nada, en un futuro explicaremos cómo se puede realizar esta misma creación mediante JCL y seguiremos comentado cosas adicionales sobre los VSAM.
Saludos.
Muy bien pero tengo una duda como le hago para convertir un archivo secuencial(que contenga datos) a VSAM?
ResponderEliminar