VSAM - RRDS

RRDS se conoce como conjunto de datos de registro relativo. El clúster RRDS es similar a un clúster ESDS. La única diferencia es que se accede a los registros RRDS porRelative Record Number (RRN), debemos codificar NUMBEREDdentro del comando DEFINE CLUSTER. Las siguientes son las características clave de RRDS:

  • Un conjunto de datos de registro relativo tiene registros que son identificados por Relative Record Number (RRN), que es el número de secuencia relativo al primer registro.

  • RRDS permite el acceso de registros por número como registro 1, registro 2, etc. Esto proporciona acceso aleatorio y asume que el programa de aplicación tiene una forma de obtener los números de registro deseados.

  • Se puede acceder a los registros en un conjunto de datos RRDS secuencialmente, en orden relativo de número de registro, o directamente, proporcionando el número de registro relativo del registro deseado.

  • Los registros en un conjunto de datos RRDS se almacenan en ranuras de longitud fija. Cada registro está referenciado por el número de su ranura, el número puede variar desde 1 hasta el número máximo de registros en el conjunto de datos.

  • Los registros en un RRDS se pueden escribir insertando un nuevo registro en una ranura vacía.

  • Los registros se pueden eliminar de un clúster RRDS, dejando un espacio vacío.

  • Aplicaciones que usan registros de longitud fija o un número de registro con significado contextual que pueden usar conjuntos de datos RRDS.

  • RRDS se puede utilizar en COBOLprogramas como cualquier otro archivo. Especificaremos el nombre del archivo en JCL y podemos usar el archivo KSDS para procesarlo dentro del programa. En el programa COBOL, especifique la organización de archivos comoRELATIVE y puedes usar cualquier modo de acceso (Sequential, Random or Dynamic) con el conjunto de datos RRDS.

Estructura de archivo RRDS

El espacio se divide en ranuras de longitud fija en la estructura de archivos RRDS. Una ranura puede estar completamente vacía o completamente llena. Por lo tanto, se pueden agregar nuevos registros a los espacios vacíos y los registros existentes se pueden eliminar de los espacios que se llenan. Podemos acceder a cualquier registro directamente dando Número de registro relativo. El siguiente ejemplo muestra la estructura básica del archivo de datos:

Componente de datos

Número de registro relativo Campo de registro 1 Campo de registro 2
1 Tutorial Punto
2 Mohtashim METRO.
3 Nishant Malik

Definición de clúster RRDS

La siguiente sintaxis muestra qué parámetros podemos usar al crear un clúster RRDS.

La descripción del parámetro sigue siendo la misma que se menciona en VSAM - Módulo de clúster.

DEFINE CLUSTER (NAME(rrds-file-name)     -
BLOCKS(number)                           -
VOLUMES(volume-serial)                   -
NUMBERED                                 -
RECSZ(average maximum)                   -
[FREESPACE(CI-Percentage,CA-Percentage)] -
CISZ(number)                             -
[READPW(password)]                       -
[FOR(days)|TO(date)]                     -
[UPDATEPW(password)]                     -
[REUSE / NOREUSE])                       -
DATA                                     -
   (NAME(rrds-file-name.data))

Ejemplo

El siguiente ejemplo muestra cómo crear un clúster RRDS en JCL utilizando la utilidad IDCAMS:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE CLUSTER (NAME(MY.VSAM.RRDSFILE)  -
   NUMBERED                                -
   RECSZ(80 80)                            -
   TRACKS(1,1)                             -
   REUSE                                   - 
   FREESPACE(3 3) )                        -
   DATA (NAME(MY.VSAM.RRDSFILE.DATA))      
/*

Si va a ejecutar el JCL anterior en el servidor Mainframes. Debería ejecutarse con MAXCC = 0 y creará el archivo MY.VSAM.RRDSFILE VSAM.

Eliminar el clúster RRDS

El clúster RRDS se elimina mediante la utilidad IDCAMS. El comando DELETE elimina la entrada del clúster VSAM del catálogo y, opcionalmente, elimina el archivo, liberando así el espacio ocupado por el objeto.

DELETE data-set-name CLUSTER  
[ERASE / NOERASE] 
[FORCE / NOFORCE] 
[PURGE / NOPURGE] 
[SCRATCH / NOSCRATCH]

La sintaxis anterior muestra qué parámetros podemos usar al eliminar el clúster RRDS. La descripción del parámetro sigue siendo la misma que se menciona en VSAM - Módulo de clúster.

Ejemplo

El siguiente ejemplo muestra cómo eliminar un clúster RRDS en JCL utilizando la utilidad IDCAMS:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.RRDSFILE CLUSTER
/*

Si va a ejecutar el JCL anterior en el servidor Mainframes. Debería ejecutarse con MAXCC = 0 y eliminará MY.VSAM.RRDSFILE VSAM Cluster.