Prenez ces exemples pour ce qu'ils sont : des exemples. Ils ne servent pas à remplacer la documentation de base.
Le site DFSMS par IBM, en anglais, vous donnera les dernières informations.
IDCAMS permet plusieurs actions sur les fichiers :
Le repro permet de copier tout ou partie de fichier. Peut être completer avec les paramètres FROMKEY, SKIP, COUNT,..etc..
//COP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //IN01 DD DSN=.. //OU01 DD DSN=..,DISP=..,etc //SYSIN DD * REPRO IFILE(IN011) OFILE(OU01) /*
Les paramètres possibles sont peu nombreux (DUMP/CHAR,SKIP, COUNT, FROMKEY, ..). Le PRINT doit être connu, surtout dans certains cas extrèmes (fichiers corrompus, fichiers systèmes, ...).
Pour des PRINT plus évolués de fichiers,on gagne à se servir d'ICETOOL.
//COP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //IN01 DD DSN=.. //SYSIN DD * PRINT IFILE(IN01) CHAR /*
C'est un peu un détournement de la fonction PRINT. Tout le monde devrait connaitre cet exemple.
On essaye d'imprimer 1 record du fichier IN01. Si l'opération réussie (ily a un record à imprimer), le RETURN-CODE est égal à 0. Si
l'opération ne réussi pas (rien n'est à imprimer), le RETURN-CODE est égal à 4.
On peut faire évoluer cet exemple pour savoir si un fichier à au moins 2 ou 3 ou n records.
//PRINT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //IN01 DD DSN=.. //SYSIN DD * PRINT IFILE(IN01) CHAR COUNT(1) /* //SUITE EXEC PGM=IEBGENER,COND=(0,NE) *Si rc=0, on fait
Dans certains cas, heureusement très rares, un fichier VSAM peut être corrompu. Par exemple, un fichier KSDS peut avoir plusieurs records pour la même clef, chose normalement impossible.
Pour vérifier l'intégrité du fichier, on utilise l'ordre EXAMINE. En cas d'erreur(s), le rapport de job n'est pas d'une grande utilité, sauf pour quelques spécialistes VSAM dont je ne fais pas partie. On sait que le fichier est corrompu, mais quoi faire? En général, on essaye de reconstruire (RESTORE) le plus rapidement possible.
//EXAMINE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXAMINE NAME(LE.FICHIER.A.TESTER) - DATATEST - INDEXTEST - ERRORLIMIT(1) /*
Lorsque l'on suspecte qu'un CATALOG est corrompu, 3 choses à faire:
Le diagnose permet de connaitre toutes les entrées anormales d'un icf-catalog. Avant de se lancer dans une vaste opération de correction, il faut surtout essayer de trouver l'origine de l'erreur.
//DIAG EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DIAGNOSE ICFCATALOG IDS(le.catalog) LIST - INCLUDE(LEVEL(SYS1.VVDS)) /*
Normalement, il est très rare qu'un VVDS soit corrompu. En 10 ans de gestion disques, je n'ai rencontré ce cas qu'une seule fois.
En cas de problème, on gagne à compléter le diagnose d'un "PRINT IDS(le.vvds)".
Le diagnose permet de connaître toutes les entrées anormales d'un VVDS.
//DIAG EXEC PGM=IDCAMS,COND=(0,NE) //SYSPRINT DD SYSOUT=* //SYSIN DD * DIAGNOSE VVDS IDS(SYS1.VVDS.Vvolser) /*
Le DCOLLECT permet d'extraire dfférentes informations sur des fichiers disques et/ou des volumes disques. D'autres types d'extractions existent, en relation avec HSM.
Le DCOLLECT extrait les informations de la VTOC et créé un fichier en sortie. Il est de la responsabilité de chaque utilisateur de développer les programmes qui exploiteront le fichier fourni. Heureusement IBM fourni des samples de report, en particulier sur son site consacré à DFSORT.
Dans la documentation IBM, la structure du fichier est décrite.
//DCOLLECT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SORTIE DD DSN=..., // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(90,90),RLSE), // DCB=(LRECL=999,RECFM=VB) //SYSIN DD * DCOLLECT OUTFILE(SORTIE) VOLUME(DB2P*) /*
IDCAMS est presque un programme à tout faire. De base, il permet de travailler sur des fichiers (création, suppression, copie, ..).
En plus des opération de base sur les fichiers "USER", il permet de les même opérations sur de nombreux (tous ?) fichiers systèmes (ICF-CATALOG, VVDS, ..).
En complément, IDCAMS permet de gérer certains
éléments du système MVS, en particulier le status des caches des controleurs disques.
J'ai volontairement exclu tous les ordres pouvant être dangereux. Pas pour retenir des informations, mais surtout pour éviter que n'importe qui fasse n'importe quoi n'importe comment. Si vous avez besoin de jobs pour travailler sur les ICF-CATALOG, je peux vous conseiller, mais en aucun cas, je vous les fournirai. Il y a trop de contraintes à connaître
avant de lancer des jobs système, mieux vaut lire la documentation et pas seulement la doc de base.
Mais IDCAMS n'est pas toujours facile à maitriser. Certains sites s'aident de produits pour faciliter la gestion des
fichiers (ex: FILE-AID, FAVER,..), la détection des erreurs (FDREPORT, SCAN-CATALOG,...).