VSAM - RRDS

RRDS è noto come Relative Record Data Set. Il cluster RRDS è simile a un cluster ESDS. L'unica differenza è che i record RRDS sono accessibili daRelative Record Number (RRN), dobbiamo codificare NUMBEREDall'interno del comando DEFINE CLUSTER. Di seguito sono riportate le caratteristiche principali di RRDS:

  • Un set di dati di record relativo contiene record identificati da Relative Record Number (RRN), che è il numero di sequenza relativo al primo record.

  • RRDS consente l'accesso ai record in base al numero come record 1, record 2 e così via. Ciò fornisce l'accesso casuale e presuppone che il programma applicativo disponga di un modo per ottenere i numeri di record desiderati.

  • È possibile accedere ai record in un dataset RRDS in sequenza, nell'ordine del numero di record relativo, o direttamente, fornendo il numero di record relativo del record desiderato.

  • I record in un set di dati RRDS vengono memorizzati in slot di lunghezza fissa. Ogni record è referenziato dal numero del suo slot, il numero può variare da 1 al numero massimo di record nel dataset.

  • I record in un RRDS possono essere scritti inserendo un nuovo record in uno slot vuoto.

  • I record possono essere eliminati da un cluster RRDS, lasciando così uno slot vuoto.

  • Applicazioni che utilizzano record di lunghezza fissa o un numero di record con significato contestuale che possono utilizzare set di dati RRDS.

  • RRDS può essere utilizzato in COBOLprogrammi come qualsiasi altro file. Specificheremo il nome del file in JCL e possiamo utilizzare il file KSDS per l'elaborazione all'interno del programma. Nel programma COBOL specificare l'organizzazione dei file comeRELATIVE e puoi utilizzare qualsiasi modalità di accesso (Sequential, Random or Dynamic) con set di dati RRDS.

Struttura del file RRDS

Lo spazio è suddiviso in slot di lunghezza fissa nella struttura dei file RRDS. Uno slot può essere completamente vuoto o completamente pieno. Pertanto, è possibile aggiungere nuovi record agli slot vuoti e record esistenti possono essere eliminati dagli slot riempiti. Possiamo accedere a qualsiasi record direttamente fornendo il numero di record relativo. L'esempio seguente mostra la struttura di base del file di dati:

Componente dati

Numero di registrazione relativo Campo di registrazione 1 Campo di registrazione 2
1 Tutorial Punto
2 Mohtashim M.
3 Nishant Malik

Definizione del cluster RRDS

La sintassi seguente mostra quali parametri possiamo utilizzare durante la creazione del cluster RRDS.

La descrizione del parametro rimane la stessa menzionata in VSAM - Modulo Cluster.

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))

Esempio

L'esempio seguente mostra come creare un cluster RRDS in JCL utilizzando l'utility 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))      
/*

Se eseguirai il JCL sopra sul server Mainframes. Dovrebbe essere eseguito con MAXCC = 0 e creerà il file MY.VSAM.RRDSFILE VSAM.

Eliminazione del cluster RRDS

Il cluster RRDS viene eliminato utilizzando l'utilità IDCAMS. Il comando DELETE rimuove la voce del cluster VSAM dal catalogo e opzionalmente rimuove il file, liberando così lo spazio occupato dall'oggetto.

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

La sintassi sopra mostra quali parametri possiamo utilizzare durante l'eliminazione del cluster RRDS. La descrizione del parametro rimane la stessa menzionata in VSAM - Modulo Cluster.

Esempio

L'esempio seguente mostra come eliminare un cluster RRDS in JCL utilizzando l'utilità IDCAMS -

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

Se eseguirai il JCL sopra sul server Mainframes. Dovrebbe essere eseguito con MAXCC = 0 e cancellerà MY.VSAM.RRDSFILE VSAM Cluster.