VSAM - ESDS

ESDS est connu sous le nom de jeu de données séquencées d'entrée. Un ensemble de données séquencées par entrée se comporte comme une organisation de fichiers séquentielle avec quelques fonctionnalités supplémentaires incluses. Nous pouvons accéder directement aux enregistrements et pour des raisons de sécurité, nous pouvons également utiliser des mots de passe. Il faut coderNONINDEXEDdans la commande DEFINE CLUSTER pour les ensembles de données ESDS. Voici les principales caractéristiques d'ESDS -

  • Les enregistrements du cluster ESDS sont stockés dans l'ordre dans lequel ils ont été insérés dans l'ensemble de données.

  • Les enregistrements sont référencés par une adresse physique connue sous le nom de Relative Byte Address (RBA). Supposons que si dans un ensemble de données ESDS, nous avons des enregistrements de 80 octets, le RBA du premier enregistrement sera 0, RBA pour le deuxième enregistrement sera de 80, pour le troisième enregistrement, il sera de 160 et ainsi de suite.

  • Les enregistrements sont accessibles séquentiellement par RBA, connu sous le nom de addressed access.

  • Les enregistrements sont conservés dans l'ordre dans lequel ils ont été insérés. De nouveaux enregistrements sont insérés à la fin.

  • La suppression d'enregistrements n'est pas possible dans l'ensemble de données ESDS. Mais ils peuvent être marqués comme inactifs.

  • Les enregistrements dans l'ensemble de données ESDS peuvent être de longueur fixe ou variable.

  • ESDS n'est pas indexé. Les clés ne sont pas présentes dans l'ensemble de données ESDS, il peut donc contenir des enregistrements en double.

  • ESDS peut être utilisé dans les programmes COBOL comme n'importe quel autre fichier. Nous allons spécifier le nom du fichier dans JCL et nous pouvons utiliser le fichier ESDS pour le traitement à l'intérieur du programme. Dans le programme COBOL, spécifiez l'organisation des fichiers commeSequential et accéder au mode comme Sequential avec le jeu de données ESDS.

Définition du cluster ESDS

La syntaxe suivante montre les paramètres que nous pouvons utiliser lors de la création d'un cluster ESDS. La description des paramètres reste la même que celle mentionnée dans VSAM - module Cluster.

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

Exemple

L'exemple suivant montre comment créer un cluster ESDS dans JCL à l'aide de l'utilitaire IDCAMS -

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

Si vous exécutez le JCL ci-dessus sur le serveur Mainframes. Il doit s'exécuter avec MAXCC = 0 et il créera le fichier MY.VSAM.ESDSFILE VSAM.

Suppression du cluster ESDS

Le cluster ESDS est supprimé à l'aide de l'utilitaire IDCAMS. La commande DELETE supprime l'entrée du cluster VSAM du catalogue et supprime éventuellement le fichier, libérant ainsi l'espace occupé par l'objet.

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

La syntaxe ci-dessus montre les paramètres que nous pouvons utiliser lors de la suppression du cluster ESDS. La description des paramètres reste la même que celle mentionnée dans VSAM - module Cluster.

Exemple

L'exemple suivant montre comment supprimer un cluster ESDS dans JCL à l'aide de l'utilitaire IDCAMS -

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

Si vous exécutez le JCL ci-dessus sur le serveur Mainframes. Il doit s'exécuter avec MAXCC = 0 et il supprimera MY.VSAM.ESDSFILE VSAM Cluster.