Vous êtes sur la page 1sur 21

Anoir SEGHIOUER

UTILITAIRES

Page 1 sur 21

Anoir SEGHIOUER

SOMMAIRE

Introduction. ........................................................................................................................... 3 Compte Rendu........................................................................................................................ 3 Fichiers en entre. .................................................................................................................. 3 Fichiers en sortie. ................................................................................................................... 4 Fichier de commandes............................................................................................................ 4 Fichiers de travail. .................................................................................................................. 4 1. ALLOCATION DE FICHIERS. ........................................................................................ 4 1.1. Allocation de fichier squentiel................................................................................... 4 1.2. Allocation de fichier partitionn. ................................................................................ 5 2. SUPPRESSION DE FICHIERS......................................................................................... 5 2.1. IEFBR14...................................................................................................................... 6 2.2.IDCAMS. ..................................................................................................................... 6 3. COPIE DE FICHIER. ........................................................................................................ 6 3.1. Copy de fichier squentiel........................................................................................... 6 3.1.1. IEBGENER. ............................................................................................................. 6 3.1.2. IDCAMS .................................................................................................................. 7 3.2. Copie de fichier partitionn......................................................................................... 7 3.2.1. Sauvegarde. .............................................................................................................. 8 3.2.2. Restauration.............................................................................................................. 8 3.2.3. Copie partielle de partitionn. .................................................................................. 8 4. TRI DE FICHIER............................................................................................................... 9 4.1. Les fichiers de l'utilitaire de tri.................................................................................... 9 4.2. Tri d'un fichier. ............................................................................................................ 9 4.3. Fusion de fichier........................................................................................................ 10 4.4. DFSORT et l'an 2000. ............................................................................................... 11 5. SELECTION D'ENREGISTREMENTS.......................................................................... 11 6. IMPRESSION DE FICHIER. .......................................................................................... 12 6.1. Impression Simple..................................................................................................... 12 6.1.1. IEBGENER. ........................................................................................................... 12 6.1.2. IDECAMS. ............................................................................................................. 12 6.2. dition formate. ....................................................................................................... 13 6.2.1. ICETOOL............................................................................................................... 13 6.2.2. IEBPTPCH. ............................................................................................................ 16 6.3. Impression en Hexadecimal. ..................................................................................... 17 6.3.1. IDCAMS : .............................................................................................................. 17 7. REFORMATAGE DENREGISTREMENTS................................................................. 18 7.1. DFSORT.................................................................................................................... 18 7.2.IEBGENER. ............................................................................................................... 19 8. COMPARAISON DE FICHIERS.................................................................................... 20 9. REORGANISATION....................................................................................................... 20 10. CATALOGAGE / DECATALOGAGE DE FICHIER. ................................................. 21 11.CREATION DE MEMBRES DUN PARTITIONNE. .................................................. 21

Page 2 sur 21

Anoir SEGHIOUER

Introduction.
C'est un ensemble de programmes gnraux fournis par les constructeurs IBM (entre autre), et destins faciliter la maintenance du systme. Ils servent en gnrale pour plusieurs catgories de maintenance. Ils cadrent un besoin technique de travail pour effectuer les types d'opration suivante : Il permet d'agir au niveau des catalogues, des disques, des contrles d'accs. Les noms de cette catgorie d'utilitaire commencent en gnrale par IEH. Permettent de copier, comparer, rorganiser les fichiers. C'est les utilitaires le plus utiliser pour le dveloppement et la maintenance. Leurs noms commencent par IEB. Un ensemble d'utilitaire permettant l'organisation des disques, mettre en place le systme initial. Ils ne sont pas utiliss par les programmeurs et reste le domaine de la cellule exploitation et programmeur systme. L'ensemble de ces utilitaires sont comparables et s'utilise d'une manire trs semblables. Lors de leur utilisation et mise au point ils mettent les mmes codes d'erreur. Les utilitaires possdent gnralement un ou plusieurs fichiers en entre, un ou plusieurs fichier en sortie, des fichier de travail, un fichier de compte rendu et un fichier de commande. Important : o Les fichiers VSAM doivent tre manipuls avec l'utilitaire IDECAMS et son langage associ AMS. o L'ensemble du code et syntaxes prsent dans ce document n'est a utiliser que sur des fichier non VSAM. Plusieurs de ces utilitaire sont livr avec TSO/ISPF est fond redondance.

Compte Rendu.
C'est un fichier de sortie qui donne le rsultat de un tat de l'avance ment du JOB. //SYSPRINT DD SYSOUT=* Il faut toujours dfinir dans le Job. Elle est obligatoire, lors d'un oubli l'utilitaire ne s'excute pas. Le code retour utilitaire associ la SYSPRINT : 00 Ok 04 Avertissement 08 Execut mais il y a un problme. 12 ou 16 Erreur Systme.

Fichiers en entre.
Fichier standard : //SYSUT1 DD DSN=U00001.INITE.PRODUIT,DISP=.

Fichiers utilisateur : Plusieurs utilisateurs acceptent en entre des fichiers de DDNAME dfinis par l'utilisateur condition qu'ils soient prciss dans le fichier de commande SYSIN. Exemples : //IN1 DD DSN= //IN2 DD DSN=

Page 3 sur 21

Anoir SEGHIOUER

//Entree

DD

DSN= etc

Fichiers en sortie.
Fichier standard : //SYSUT2 DD DSN= Fichiers utilisateurs : La majorit des utilitaires utilise des fichiers de DDNAME dfinis par lutilisateur dans les mmes condition que les fichiers de sortie. //OUT1 DD DSN= //OUT2 DD DSN= //SORTIE DD DSN=

Fichier de commandes.
Les utilitaires sont des programmes modulaires qui peuvent chacun remplir plusieurs fonctions et accepter de nombreuses options. Ces fonctions sont actives par des commandes que lon code, en gnral dans une carte SYSIN. //SYSIN DD * PRINT TITLE ITEM=(EDITION EN CLAIR,10) RECORD FIELD=(30,1,,10), FIELDS=(9,31,PZ,43) Rgles : Chaque carte doit commencer par un ou plusieurs blancs, mais avant la colonne 16. Si une ligne ne peut contenir tous les paramtres, le dernier dune carte doit tre suivi dune virgule (sauf IDCAMS et ICETOOL qui utilisent le - comme caractre de continuation) et le suivant doit commencer entre les colonnes 4 et 16 comprises.

Fichiers de travail.
Jusqu 16 fichiers de travail peuvent tre dfinis avant les utilitaires. On utilise gnralement des fichiers temporaires. Les DDNAME sont imposs : //SYSUT3 DD UNIT=SYSDA,SPACE= //SYSUT4 DD UNIT=SYSDA,SPACE= //SORTWK01 DD UNIT=SYSDA,SPACE= etc .

1. ALLOCATION DE FICHIERS.
Elle se fait laide de IEBGENER ou IEFBR14, pour les fichier squentiels ou partitionns.

1.1. Allocation de fichier squentiel.

1.1.1. IEBGENER.
PGM=IEBGENER SYSOUT=* DUMMY DSN=I00001.LISTE.PRODUIT,DISP=(NEW,CATLG,CATLG), UNIT=ETUDE,SPACE=TRK,(1,2),RECFM=FB,LRECL=300 //SYSIN DD DUMMY Le fichier cre est un fichier vide. Dans ce JCL, 4 fichier sont utiliser : Exemple : //ALLOC1 //SYSPRINT //SYSUT1 //SYSUT2 EXEC DD DD DD

Page 4 sur 21

Anoir SEGHIOUER

SYSPRINT : cest le fichier du compte rendu dexcution de lutilitaire. SYSUT1 : DUMMY SYSUT2 : crire lensemble des critres qui dcrivent le fichier. SYSIN : DUMMY pour la cration.

1.1.2.IEFBR14.
//ALLOC //FIC // EXEC PGM=IEFBR14 DD DSN=I000001.LISTE.PRODUIT,DISP=(NEW,CATLG,CATLG), UNIT=ETUDE,SPACE=(TRK,(1,2),RLSE),RECFM=FB,LRECL=300

FIC : DDNAME quelconque. IEFBR14 sert ici de programme fictif pour lallocation du fichier en utilisant simplement les paramtres de la carte DD. Lallocation de fichier par IEFBR14, bien que plus simple que par IEBGENER, provoque parfois des dysfonctionnements lutilisation du fichier plantage avec certains langage,, nombre denregistrement diffrent de 0 alors que le fichier est vide). Lusage de ces fichiers par des programmes COBOL ne manifeste pas de problme de ce genre.

1.2. Allocation de fichier partitionn.

1.2.1. IEBGENER.
//ALLOCPDS //SYSPRINT //SYSUT1 DD //SYSUT2 DD // // //SYSIN DD EXEC PGM=IEBGENER DD SYSOUT=* DUMMY DSN=I00001.PROJET1.SRCE,DISP=(NEW,CATLG,CATLG), UNIT=ETUDE,SPACE=(TRK,(4,10,5)), RECFM=FB,LRECL=80 DUMMY

5 Block de directory : 5 6 30 SYSPRINT : Contient le compte rendu dexcution de lutilitaire. SYSUT1 : DUMMY SYSUT2 : ensemble des caractristiques du fichier. Le paramtre SPACE contient le nombre de blocs de directory du PDS crer (ici 5, ce qui correspond 65 = 30 membres). Le paramtre DSNTYPE=LIBRARY, facultatif, peut tre ajout pour crer un PDS-E. SYSIN : DUMMY pour cette utilisation dIEBGENER.

1.2.2.IEFBR14.
//ALLOCDS EXEC PGM=IEFBR14 //FIC DD DSN=I00001.PROJET1.SRCE, // DISP=(NEW,CATLG,CATLG),UNIT=ETUDE, // SPACE=(TRK,(4,10,5)),RECFM=FB,LRECL=80 FIC : DDNAME quelconque. List lensemble des critre de la bibliothque cre.

2. SUPPRESSION DE FICHIERS.
Elle peut tre effectu par IDCAMS ou IEFBR14.

Page 5 sur 21

Anoir SEGHIOUER

2.1. IEFBR14.
//DELETE //FIC1 //FIC2 // EXEC PGM=IEFBR14 DD DSN=I00001.LISTE.PRODUIT1,DISP=(OLD,DELETE) DD DSN=I00001.LISTE.PRODUIT2, DISP=(MOD,DELETE),UNIT=ETUDE,SPACE=(TRK,0)

FIC1 : DDNAME quelconque, ce fichier doit obligatoirement exist avant la suppression. FIC2 : Ce fichier peut ne pas exister avant suppression. Cette syntaxe est utilise lors de suppression prventive.

2.2.IDCAMS.
Utilis pour les fichiers VSAM. //DELETE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE (I00001.LISTE.PRODUIT) DELETE (I00001.PROJET1.SRCE) SET MAXCC=0 SYSPRINT : compte-rendu de lutilitaire. SYSIN : Paramtre de lutilitaire, liste des fichiers supprimer. La commande MAXCC=0 permet de rduire le code retour de lutilitaire 0. Que le fichier existe ou pas avant la suppression. Sans cette commande, le code retour serait gal 8, en cas de non existence du fichier.

3. COPIE DE FICHIER.
Elle peut tre ralis par IEBGENER, EDCAMS, ou IEBCOPY.

3.1. Copy de fichier squentiel. 3.1.1. IEBGENER.


//COPIE EXEC //SYSPRINT //SYSUT1 DD //SYSUT2 DD // //SYSIN DD SYSPRINT SYSUT1 SYSUT2 SYSIN PGM=IEBGENER DD SYSOUT=* DSN=I00001.LISTE.PRODUIT1,DISP=SHR DSN=I00001.LISTE.ECONO,DISP=(,CATLG), UNIT=ETUDE,SPACE=(TRK,(1,10),RLSE) DUMMY

: Contient le compte-rendu d'excution de l'utilitaire. : DDNAME impos. Fichier source. Peut tre catalogu ou temporaire. : DDNAME impos. Fichier cible. Peut tre catalogu ou temporaire. Si le fichier cible n'existe pas il faut prciser l'ensemble des paramtres obligatoire pour la cration. RECFM et LRECL sont facultatifs si le fichier source et cible ont les mmes caractristiques. Si le fichier existe dj prciser uniquement DSN et le DISP. : DUMMY pour cette utilisation de IEBGENER.

Page 6 sur 21

Anoir SEGHIOUER

3.1.2. IDCAMS
A utiliser pour les fichier VSAM. 1er CAS : //COPIE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO IDS (I00001.LISTE.PRODUIT) ODS(I00001.LISTE.EXERIEUR) SYSPRINT SYSIN : Contient le compte-rendu d'excution de l'utilitaire. : commande REPRO pour la copie de fichier. IDS pour INDATASET pour le fichier source ODS pour OUTDATASET pour le fichier cible. Ils est a not la prsence du caractre '-' qui spcifie la continuation. L'exemple est pour des fichiers catalogus. Si le fichier source n'est pas catalogu (temporaire, ou membre de bibliothque), et/ou fichier cible non catalogu, la syntaxe du cas suivant est a utiliser.

2eme CAS : //COPIE EXEC PGM=ODCAMS //SYSPRINT DD SYSOUT=* //ENTREE DD DSN=&&SOURCE,DISP=(SHR,PASS) //SORTIE DD DSN=I00001.FICHIER.ORODUIT,DISP=(,CATLG),UNIT=ETUDE, // SPACE=(TRK,(1,2),RLSE),RECFM,FB,LRECL=100 //SYSIN DD * REPRO INFILE (ENTREE) OUTFILE (SORTIE) SYSPRINT : Contient le compte-rendu d'excution de l'utilitaire. SYSIN : Commande REPRO pour la copie de fichier. INFILE prcise le ddname du fichier source. OUTFILE prcise le ddname du fichier cible. Ils est a not la prsence du caractre '-' qui spcifie la continuation. La commande REPRO dispose de deux paramtres SKIP(n) et COUNT(m) pouvant tre utiliss seuls ou ensembles afin de, respectivement, sauter les n premiers enregistrements du fichiers source, et/ou copier seulement m enregistrement dans le fichiers cible. Exemple : //SYSIN DD * REPRO IDS (I00001.FICHIER.PRODUIT) OUTFILE (SORTIE) SKP (40) COUNT (160) Saute les 40 premier enregistrements, en recopie seulement 160 suivant. On peut indiffremment, suivant les besoins, mixer lemploi de IDS, ODS, INFILE et OUTFILE.

3.2. Copie de fichier partitionn


En utilise pour cela IEBCOPY essentiellement.

Page 7 sur 21

Anoir SEGHIOUER

3.2.1. Sauvegarde.
Sauvegarde dans un fichier squentiel, si le fichier source est un PDS cest une compression. //SAUV EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ENTREE DD DSN=I00001.LISTE.SRCE(PGM060),DISP=SHR //SORTIE DD DSN=I00001.PGM.A060,DISP=(,CTLG),UNIT=ETUDE, // ESPACE=(TRK,(1,2),RLSE),RECFM=FB,LRECL=80 //SYSIN DD * COPY OUTDD=SORTIE,INDD=ENTRE /* SYSPRINT : Contient le compte-rendu d'excution de l'utilitaire. ENTREE : DDNAME quelconque. PDS en entre. SORTIE : DDNAME quelconque. Squentiel en sortie (en cration dans cet exemple). SYSIN : paramtrage de lutilitaire. OUTDD : DDNAME du fichier de sortie. INDD : DDNAME du PDS en entre.

3.2.2. Restauration.
Restauration d'un PDS partir d'un fichier squentiel compress obtenu par sauvegarde par IEBCOPY (voir exemple prcdent). //RESTAUR EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ENTREE DD DSN=I00001.PROGR.P060,DISP=SHR //SORTIE DD DSN=I00001.PROJET1.SRCE(PGM060),DISP=(,CATLG), UNIT=ETUDE,SPACE=(TRK,(1,5,10)),RECFM=FB,LRECL=80 //SYSIN DD * OUTDD=SORTIE,INDD=ENTREE SYSPRINT : Compte rendu de l'utilitaire. ENTREE : DDNAME quelconque. Squentiel de sauvegarde en entre. SORTIE : DDNAME quelconque. PDS en sortie (en cration dans cet exemple). SYSIN : Paramtrage de l'utilitaire OUTDD : DDNAME PDS de sortie. INDD : DDANME du fichier en entre.

3.2.3. Copie partielle de partitionn.


Copie de membre d'une bibliothque vars une autre. //COPIE EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ENTREE DD DSN=I00001.LISTE.PRODUITE,DISP=SHR //SORTIE DD DSN=I00001.LISTE.PRODUITS,DISP=SHR //SYSIN DD * COPY OUTDD=SORTIE,INDD=ENTREE S M=((MBR1)) cas 1 S M=((MBR2,,R)) cas 2 Cration dans la bibliothque. S M=((MBR3,MBR4)) cas 3 S M=((MBR5,MBR6,R)) cas 4 Si MBR6 existe dj il sera cras. /* SYSPRINT : Compte-rendu de l'utilitaire. ENTREE : DDNAME quelconque. Squentiel de sauvegarde en entre. SORTIE : DDNAME quelconque. PDS en sortie.
Page 8 sur 21

Anoir SEGHIOUER

SYSIN : Paramtrage de l'utilisateur : OUTDD : DDNAME du PDS en sortie. INDD : DDNAME du PDS en entre. S M=. : est l'abrviation de SELECT MEMBER Cas 1 : si le membre MBR1 existe dj en sortie, il n'est pas recopi. Cas 2 : Si le membre MBR2 existe dj en sortie, il est remplac. Cas 3 : Le membre MBR3 est recopi sous le nom de MBR4, si le membre MBR4 n'existe pas dj en sortie. Si non il n'est pas recopi. Cas 4 : le membre MBR5 est recopi sous le nom de MBR6, si le membre MBR6 existe dj en sortie, il est remplac. Remarque : o Sans la commande S M= tous les membres sont recopis, sauf ceux dj existant dans le PDS de sortie. o Il est possible de mettre autant de commande S M .. que l'on veut. o Il existe galement la commande E M= pour EXCLURE MEMBRE. o Pour viter les fautes de frappe et les oublis, il est possible d'obtenir un fichier contenant la liste des membres d'un PDS : placez-vous sur un cran liste de directory, et tapez SAVE XXX sur la ligne de commande. Vous obtiendrez un fichier <Votre_USER>.XXX.MEMBRES contenant la directory. Il ne vous reste plus qu' manipuler ce fichier avec l'diteur pour en faire une SYSIN IEBCOPY.

4. TRI DE FICHIER.
Le tri de fichier se fait l'aide de DFSORT.

4.1. Les fichiers de l'utilitaire de tri.


SORTWK01/02 SORTIN(+ SYSUT1) SYSOUT SORTOUT(+SYSUT2) : Fichiers de travail. : Fichier en entre. : Compte rendue de l'excution. : Fichier de sortie.

4.2. Tri d'un fichier.


//TRIE EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DSN=I00001.LISTE.PRODUIT,DISP=SHR SORTOUT DD DSN=I00001.LISTPRD.TRICODE,UNIT=ETUDE, // SPACE=(TRK,(1,2)),LRECL=100,RECFM=FB, //SORTWK01 DD UNIT=ETUDE,SPACE=(CYL,(1,1)) //SYSIN DD * SORT FIELDS=(1,7,CH,A) critre de Tri /* 1 : position 7 : Longueur CH : format alphanumrique. A : sens du tri. SYSOUT : Compte-rendu de l'utilitaire. SORTIN : DDNAME impos, porte le fichier d'entre. SORTOUT : DDNAME impos, porte le fichier de sortie.

Page 9 sur 21

Anoir SEGHIOUER

SORTWK01 : DDNAME impos, fichier de travail du tri SYSIN : Commandes de tri sous forme position, longueur, type, squence. (tri sur le premier champ) Position : position du critre du tri. Longueur : longueur en octets du critre de tri. Type : type du critre de tri. Peut tre : CH : Caractre EBCDIC. PD : Dcimal sign pack. BI : Valeurs binaires 'quivalent CH) FI : Dcimal sign stock en binaire. ZD : Dcimal sign. Squence : sens du TRI : A pour ascendant, D pour descendant. Important : o L'espace allou au fichier de travail dpend de la taille et volumtrie du fichier tri. o Il est dconseill de trier un fichier sur lui-mme. o Il est possible d'liminer les doublons sur les critres de tri en codant : //SYSIN DD * SORT FIELDS=(position,longueur,type,squence,position,longueur,type,squence) SUM FIELDS=NONE o Si tous les critres de tri sont du mme type, on peut coder SYSIN de la manire suivante : //SYSIN DD * SORT FIELDS=(position,longueur,squence,position,longueur,squence,), FORMAT=type:CH, PD,BI ou Le programme SORT renvoie les codes retour utilisateurs suivants : 00 : tout s'est bien pass. 16 : erreur de syntaxe dans la SYSIN 20 : carte SYSOUT manquante.

4.3. Fusion de fichier.


Les fichiers fusionner doivent tre pralablement tris sur le mme critre. La fusion consiste inter-classer un ou plusieurs dans un autre, dans l'ordre des cls. La syntaxe est identique au tri mis part l'ordre SORT remplac par MERGE. Exemple : //FUSION EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN01 DD DSN=I00001.LISTE.PRODUIT1,DISP=SHR //SORTIN02 DD DSN=I00001.LISTE.PRODUITA,DISP=SHR //SORTIN03 DD DSN=I00001.LISTE.PRODUITB,DISP=SHR //SORTOUT DD DSN=I00001.LISTE.PRODUITT,DISP=NEW,CATLG,DELETE), // UNIT=ETUDE,SPACE=(TRK,(1,5)),LREL=100,RECFM=FB //SYSIN DD * MERGE FIELDS=(1,8,CH,D) Pour un MERGE, les cartes SORTWK(fichier de travail) ne sont pas obligatoires.

Page 10 sur 21

Anoir SEGHIOUER

4.4. DFSORT et l'an 2000.


Permet de faire le tri de dates dont l'anne est code sur deux positions numriques. Ceci est possible grce l'adoption de nouveaux formats de tri pour les annes (Y2C, Y2Z, Y2P et Y2D), et la notion de fentre de sicle fixe ou glissante : Y2C ou Y2Z : formats utiliss pour la annes stockes sur deux position en caractres, numriques, ou numriques signes (PIC X(2),PIC 9(2), ou PIC S9(2)). Y2P format utilis pour les annes stockes sur deux positions numriques signes packes PIC S9(2) COMP-3). Y2D format utilis pour les annes stockes sur deux positions numriques mais codes sur un octet. La fentre de sicle est paramtre par le systme l'installation de DFSORT par l'option Y2PAST=x. x peut tre : o soit un nombre compris entre 1000 et 3000. Dans ce cas la fentre de sicle est fixe (Y2PAST=19980 : le sicle commence en 1980, 97 correspond 1997, 70 correspond 2070). o Soit un nombre compris entre 0 et 100. dans ce cas la fentre de sicle est flottante et se dplace d'un an tous les ans (Y2PAST=20 : le sicle commence 20 ans avant la date courante : si nous sommes en 1997, le sicle commence en 1997 20=1977 et se termine en 2076) Exemples : Tri sur une date dfinie sur 6 caractres jjmmaa : SORT FILDS=(5,2,Y2C,A,3,2,CH,A,1,2,CH,A) TRI sur une date dfinie sur 6 caractres aammjj, avec modification de la fentre de sicle : OPTION Y2PAST=1960 SORT FIELDS=(1,2,Y2C,A,3,2,CH,A,5,2,CH,A)

5. SELECTION D'ENREGISTREMENTS.
DFSORT permet de slectionner des enregistrements avant le tri, grce aux commandes OMIT COND et INCLUDE COND. Exemple: On veut en sortie les enregistrements dont : Les 3 caractres on position 8 sont des 3 caractres en position 60 et La quantit stocke en pack en position 33 sur 4 octets est positive. //SELCT EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DSN=I00001.LISTE.PRODUITA,DISP=SHR //SORTOUT DD DSN=I00001.LISTE.PRODUIT.TRI,DISP=(NAW,CATLG,CATLG) // UNIT=ETUDE,SPACE=(TRK,(1,5)),LRECL=100,RECFM=FB //SORTWK01 DD UNIT=ETUDE,SPACE=(TRK,1,5)) //SYSIN DD * INCLUDE COND=(8,3,CH,NE,60,3,CH,AND,33,4,PD,GT,0) SORT FILDS=(1,8,CH,D) SYSOUT : Compte-rendu de l'utilitaire. SORTIN : DDNAME impos, porte le fichier d'entre. SORTOUT : DDNAME impos, porte le fichier de sortie. SORTWK01 : DDNAE impos, fichier de travail du tri. SYSIN : Commande d'inclusion ou d'exclusion et de tri. o OMIT COMD=(P1,L1,T1,op,P2,L2,T2,ol,P3L3,T3,op,C'littral', )

Page 11 sur 21

Anoir SEGHIOUER

o Pn, Ln, Tn , : position, longueur et type des zones testes. o op : Comparateur (EQ,NE,GT,GE,LT,LE). o ol : oprateur logique (AND,OR) La syntaxe de l'INCLUDE COND est strictement identique.

6. IMPRESSION DE FICHIER.
C'est un ensemble d'outille permettant la ralisation d'tat simples, pour dition de contenue de fichier.

6.1. Impression Simple. 6.1.1. IEBGENER.


//IMPRESS //SYSPRINT //SYSUT1 //SYSUT2 //SYSIN EXEC DD DD DD DD PGM=IEBGENER SYSOUT=* DSN=I00001.LISTE.PRODUIT,DISP=SHR SYSOUT=A,DEST=RMTNNN DUMMY

SYSPRINT : contient le compte-rendu d'excution de l'utilitaire. SYSUT1 : Fichier imprimer. SYSUT2 : Destination de l'impression : o SYSOUT=A : impression papier o SYSOUT=* : Impression jointe au compte rendu d'excution o DEST=RMTNNN : Facultatif : imprimante destinataire de l'impression. SYSIN : DUMMY pour cette utilisation d'IEBGENER.

6.1.2. IDECAMS.
Cas 1 : Fichier catalogu //IMPRESS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT IDS (I0001.LISTE.PRODUIT)

CHAR

envoie dans SYSPRINT le contenu du fichier

Cas2 : Fichier non catalogu. //IMPRESS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //ENTRE DD DSN=&&temp1,DISP=(SHR,PASS) //SYSIN DD * PRINT INFILE (ENTREE) CHAR SYSPRINT : Contient le compte rendu de l'utilitaire et le rsultat de l'impression. Possibilit de coder SYSOUT=A, DEST=RMTNNN pour une impression sur papier sur une imprimante donne (RMTNNN). ENTREE : DDNAME quelconque, fichier imprimer. SYSIN : ordre d'impression. CHAR pour impression en caractre affichables. Rq : Les paramtres SKIP(n) et/ou CONT(m) peuvent tre ajouts en sysin pour respectivement sauter les n premiers enregistrements et n'en imprimer que m.(voir les condition des fichiers VSAM pour plus de paramtres).

Page 12 sur 21

Anoir SEGHIOUER

6.2. dition formate. 6.2.1. ICETOOL.


Permet quelque d'avoir une mise en forme plus labor comme : Ligne d'entte. Entte de cologne. Rupture de page. dition de Totaux. Cas 1 : dition simple. //EDITION EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //ENTREE DD DSN=I00001.LISTE.PRODUIT,DISP=SHR //SORTIE DD SYSOUT=* consultable directement sur l'cran. //TOOLIN DD * Carte de commandes ICETOOL DISPLAY FORM(ENTREE) LIST(SORTIE) DATE TIME TITLE('LISTE PRODUIT') PAGE HEADER ('CODE') ON(1,7,CH,T' ') HEADER('SOCIETE') ON(8,20,CH) HEADER('QUANTITE') ON(28,3,PD) packe decimal Nombre de lignes par page. LINES(66) WIDTH (133) Contenu du fichier d'entre : ----+----1----+----2----+----3----+----4----+----5----+---0000001BIJOUTERIE DU PONT ... 0000002DUVALE FRERE ... 0000003ATHEN BIJOUTERIE ... Rsultat : ----+----1----+----2----+----3----+----4----+----5----+---25/08/06 20:55:30 LISTE SOCIETE - 1 CODE 0000001 0000002 0000003 SOCIETE BIJOUTERIE DU PONT DUVALE FRERE ATHEN BIJOUTERIE QUANTITE 100 25 551

TOOLMSG : Compte rendu de lutilitaire. DFSMSG : Compte rendue de tri interne ICETOOL. ENTREE : DDNAME quelconque, porte le fichier dentre. SORTIE : DDNAME quelconque, porte le nom du fichier ddition. TOOLIN : commandes ICETOOL : DISPLAY : Commande ddition. FROM : DDNAME du fichier dentre. LIST : DDNAME du fichier de sortie. DDATE : Facultatif. Affiche la date dans la ligne de titre.

Page 13 sur 21

Anoir SEGHIOUER

TIME TITLE PAGE HEADER ON

LINES

WIDTH

: Facultatif. Affiche lheur la ligne de titre. : Facultatif. Permet dindiquer le titre et lafficher. : Facultatif. Permet laffichage du numro de page dans la ligne de titre. : Facultatif. Dfini lentte de colonne. : Dfini position, longueur, type de la donne la donne afficher. Les types possibles sont les mmes que ceux du tri. Il est possible dajouter un littral donne, avant celle-ci avec Llittral, et/ou aprs celle-ci avec Tlittral. : Indique le nombre de ligne dans une page, ce qui permet de grer automatiquement les sauts de page et la rcriture du titre et de lentte sur chaque page. Sinon cod, valeur par dfaut : 58. : Indique la largeur du fichier ddition. Si non cod, valeur par dfaut :120.

RQ : Les paramtres DATE, TIME, TITLE, PAGE, peuvent tre cods dans un ordre indiffrent. La largur par dfaut des colonnes est de 16octets pour les donnes numriques, de 20 octets pour les donnes numriques , de 20 octets pour les donnes alphanumriques. Si les donnes sont plus larges, il faut au moins un littral en plus des donnes (par exemple un blanc) pour que lensemble des donnes sadapte. Dans notre exemple : HEADER (CODE) ON(1,4,CH,T ) CAS 2 : Avec tri des donnes. ICETOOL peut utiliser des ordres de tri (DFSORT) : //EDITION EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //TRI1CNTL DD * SORT FIELDS=(1,4,CH,A) //TEMP DD DSN=&TEMP,DISPR=(,PASS),UNIT=ETUDE,SPACE=(CYL,1), // RECFM=FB,LRECL=80 //ENTREE DD DSN=I00001.LISTE,PRODUIT,DISP=SHR //SORTIE DD SYSOUT=* //TOOLIN DD * * CARTE DE COMMANDES ICETOOL SORT FROM(ENTREE) TO(TEMP) UTSING(TRI1) DISPLAY FROM(TEMP) LIST (SORTIE) DATE TIME TITLE(LISTE SOCIETE) PAGE HEADER(CODE) ON(1,4,CH,T ) HEADER(SOCIETE) ON(5,20,CH) HEADER(NB SALARIESE) ON(25,3,PD) * NOMBRE DE LIGNES PAR PAGE. LINES (66) WIDTH (133) DFSMSG : DDNAME impos, compte-rendu du tri. TRI1CNTL : 4 premiers caractres libres (mais obligatoirement 4), 4 derniers caractres imposs. Contient les ordres DFSORT. TEMP : DDNAME libre, contient le fichier tri. TOOLIN : Ordres ICETOOL :

Page 14 sur 21

Anoir SEGHIOUER

SORT :ordre de tri du DDNAME dentre avec un DDNAME de sortie. USING : indique le DDNAME portant les ordres de tri.

CAS 3 : Avec tri des donnes et rupture. //EDITION EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //TRI1CNTL DD * SORT FIELDS=(1,4,CH,A) //TEMP DD DSN=&&TEMP,DISP=(,PASS),UNIT=ETUDE,SPACE=(TRK,1) // RECFM=FB,LRECL=80 //ENTRE DD DSN=I00001.LISTE.CLIENT,DISP=SHR //SORTIE DD SYSOUT=* //TOOLIN DD * * CARTES DE COMMANDES ICETOOL SORT FROM (ENTREE) TO (TEMP) USING(TRI1) DISPLAY FROM(TEMP) LIST(SORTIE) DATE TIME TITLE(LISTE STOCK) PAGE HEADER(CODE) ON(1,4,CH,T ) HEADER(SOCIETE CLIENT) ON(5,20,CH) HEADER(NB SALARIESE) ON(25,3,PD) * LIGNE DE TOTAL GENERAL TOTAL(QUANTITE TOTALE : ) * CRITERES DE RUPTURE BTITLE(TYPE PIECE : ) BTOTAL(QTE PIECE : ) BREAK(1,2,CH) - rupture sur les deux premiers caractres * NOMBRE DE LIGNES PAR PAGES. LINES (66) WIDTH(133) Contenu du fichier d'entre : ----+----1----+----2----+----3----+----4----+----5----+----

Rsultat : ----+----1----+----2----+----3----+----4----+----5----+----

Page 15 sur 21

Anoir SEGHIOUER

TOOLIN : Commandes ddition. TOTAL : Imprime une page supplmentaire, la fin de ldition, avec un libell en dbut de ligne et le total de chaque colonne numrique son emplacement. Il est galement possible dutiliser les commandes MINIMUM, MAXIMUM, et AVERTAGE pour imprimer respectivement , le maximum, le minimum, et la moyenne de chaque colonne numrique. BREAK : Indique la position, la longueur, et le type du critre de rupture( les types utilisables sons les mmes que ceux de DFSORT). BTITLE : Permet dindiquer un libell afficher avant la valeur du critre de rupture, en dessous de chaque ligne dentte de page. DTOTAL : Imprime, la fin de chaque rupture, un libell en dbut de ligne et le total de chaque colonne numrique son emplacement. Il est galement possible dutiliser les commandes BMINIMUM, BMAXIMUM, et BAVERAGE pour imprimer respectivement, le Maximum, le Minimum, et la moyenne de chaque colonne numrique.

6.2.2. IEBPTPCH.
EXEMPLE : //IMPRIM EXEC PGM PGM=IEBTPCH //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=I000001.LISTE.PRODUIT,DISP=SHR //SYSUT2 DD SYSOUT=* //SYSIN DD * PRINT TYPORG=PS,MAXFLDS=4 ,MAXLITS=100 TITLE ITEM=(CODE PROD.,1), ITEM=(LIBELLE,12), ITEM=(QTE,64), ITEM=(VALEUR,69) RECORD FIELD=(5,1,,1), FIELD=(50,6,,12), FIELD=(4,56,,64), FIELD=(5,60,PZ,69) RESULTAT :

SYSPRINT : Contient le compte-rendu de lutilitaire. SYSUT1 : DNAME impos, porte le fichier dentre. SYSUT2 : DDNAME impos, contient le rsultat de limpression

Page 16 sur 21

Anoir SEGHIOUER

Possibilit de coder SYSOUT=A,DEST=RMTXXX pour une impression sur papier sur une imprimante donne (RMTXXX). SYSIN : Commandes de formatage de ldition : TYPORG=PS : le fichier dentre est un squentiel. MAXFLDS=4 : nombre maximum de commandes FIELD. MAXLITS=100 : nombre maximum de caractres littraux dans lensemble de la SYSIN. TITLE : Commande permettant de placer une ligne dentte (2 Max) ITEM=(XXXX,YY) : place le littral XXXX la colonne YY. RECORD FIELD=(1,PD,C,PA) : Place le champ de longueur 1 la position de dpart PD dans la fichier dentre, la positon darrive PA dans le fichier de sortie, en utilisant ventuellement le paramtre de conversion c (ZP pour packer des donnes numriques, PZ pour dpacker ces zones).

6.3. Impression en Hexadecimal. 6.3.1. IDCAMS :


Cas 1 : Fichier catalogu. //IMPRIM EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT IDS (I00001.LISTE.PROD) HAX Cas 2 : Fichier non catalogu. /IMPRIM EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //ENTREE DD DSN=&&TEMP2,DISP=(SHR,PASS) //SYSIN DD * PRINT INFILLE (ENTREE) HEX SYSPRINT : Contient le compte-rendu de lutilitaire et le rsultat de limpression. Possibilit de coder STSOUT=A,DEST=RMTXXX pour une impression sur papier sur une imprimante donne (RMTXX). ENTREE : Exemple 2, DDNAME quelconque, fichier imprimer. SYSIN : ordre dimpression. HEX pour impression en hxadcimal. Il est galement possible de remplacer HAX par DUMP pour obtenir une impression moiti hexadcimale (partie gauche du listing), moiti caractres affichables (partie droite du listing). Remarque : Les paramtres SKIP(n) et/ou COUNT(m) peuvent tre ajouts en sysin pour respectivement sauter les n premire enregistrements et nen imprimer que m. Voir les chapitres concernant les fichiers VSAM pour plus de paramtres. 6.3.2. IEBPTPCH //IMPRIM EXEC PGM=IEBPTPCH //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=I00001.LISTE.PRODUIT,DISP=SHR //SYSUT2 DD DYSOUT=* //SYSIN DD * PRINT TOTCONV=XE SYSPRINT : Contient le compte-rendu de lutilitaire. SYSUT1 : DDNAME impos, porte le fichier dentre.

Page 17 sur 21

Anoir SEGHIOUER

SYSUT2 : DDNAME impos, contient le rsultat de limpression sur papier sur une imprimante donne (RMTXXX). SYSIN : Commande demandant limpression en hxadcimal.

7. REFORMATAGE DENREGISTREMENTS.
7.1. DFSORT.
DFSORT permet de reformater des enregistrements avant ou aprs le tri, grce aux commandes INREC et OUTREC. Exemple : //FORMATE EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTOUT DD DSN=I00001.LISTE.PRDUIT,DISP=(NEW,CATLG,DELETE), // UNIT=ETUDE,SPACE=(TRK,(1,1),RLSE),LRECL=100,RECFM=FB //SORTWK01 DD UNIT=ETUDE,SPACE=(TRK,(1,1)) //SYSIN DD * INREC FIELDS=(1:CCODE : ,7:1,6,14:2X,16:CSOCIETE : , 26:7,25,51:2X,53:CPRODUIT : ,63:32,25) SORT FIELDS=(8,6,CH,A) A:B,C A :Position en fichier de sortie. B : Position dans le fichier en entrer. C : Longueur de la zone. Entre cote en ne peut pas mettre des caractre spciaux (&,, ,% ) Contenu du fichier d'entre :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-000001RONE ET FRERE BOUCLE DOREIL 000010BAROND BIJOUTERIE BAGUE 000100ROBERT OR HORLOGERIE BRASELET

Rsultat :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-CODE : 000001 SOCIETE : RONE ET FRERE PRODUIT : BOUCLE DOREIL CODE : 000010 SOCIETE : BAROND BIJOUTERIE PRODUIT : BAGUE CODE : 000100 SOCIETE : ROBERT OR HORLOGERIE PRODUIT : BRASELET

SYSOUT : Compte-rendu de lutilisateur. SORTIN : DDNAME impos, porte le fichier dentre. SORTOUT : DDNAME impos, porte le fichier de sortie. SORTWK01 : DDNAME impos, fichier de travail de lutilisateur. SYSIN : Commandes de reformatage et de tri. INREC FIELDS : o 1 :CCODE : , on impose le littral CODE : la position 1 dans le fichier de sortie. o 8 :1,6 : a la position 8 dans le fichier de sortie, on insre 6 octets se trouvant la position 1 dans le fichier dentre. o 14 :2X : A la position 14 dans le fichier de sortie, on insert 2 blancs. o 16 :CSOCIETE : : A la position 16 dans le fichier de sortie, on insre le littral SOCIETE : o 26:7,25 : a la position 26 dans le fichier de sortie, en insert 25 caractres se trouvant la position 7 du fichier en entre. o 51:2X : A la position 51 dans le fichier de sortie, on insert 2 blancs. o 53:CPRODUIT : : a la position 53 du fichier de sortie, en insert le littral.

Page 18 sur 21

Anoir SEGHIOUER

o 63:32,25 : A la position 63 dans le fichier de sortie, en insre 25 caractre se trouvant la position 32 du fichier en entr. SORT FIELDS : 8,6,CH,A : On trie le fichier en ascendant sur les 6 caractres se trouvant la position 8 aprs le reformatage des enregistrements. REMARQUE : La commande OUTREC FIELDS peut tre utilise la place de la commande INREC FIELDS pour effectuer le tri avant le reformatage des enregistrements. La commande SORT FIELDS est obligatoire. Linsertion de littraux peut se faire avec les syntaxes suivantes : o Clittral : pour insrer une chane de caractre. o nX : pour insrer n blancs, o nZ : pour insrer n zros binaires (low-value), o Xvaleur hexa : pour insrer une valeur hexadcimale quelconque. Lindicateur de la colonne darrive (ex : 15 :X,Y) st facultative. Le champ est alors positionn derrire le prcdent.

7.2.IEBGENER.
Il permet de packer ou de dpacker des zones numrique. //FORMATE EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=I00001.LISTE.PRODUIT,DISP=SHR //SYSUT2 DD DSN=I00001.LISTE.PRODUIT.NUM,DISP=(,CATLG,) // UNIT=ETUDE,SPACE=(TRK,(1,1),RLSE),RECFM=FB,LRECL=100 //SYSIN DD * GENERATE MAXFLDS=3 RECORD FIELD=(20,1,,1) FIELD=(5,21,ZP,21) FIELD=(25,26,,24) // Contenu du fichier d'entre :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-JEAN VALERI 00011BOUCLE DOREIL JEAN MICHEL 00007BAGUE ANNE-MARIE 00021BRASELET

Rsultat :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-JEAN VALERI ...BOUCLE DOREIL JEAN MICHEL ...BAGUE ANNE-MARIE ...BRASELET

SYSPRINT : Compte rendu de lutilitaire. SYSUT1 : DDNAME impos, porte le fichier dentre. SYSUT2 : DDNAME impos, porte le fichier de sortie. SYSIN : Commandes de reformatage : GENERATE MAXFLDS : Nombre de commandes FIELD dans la sysin. RECORD FIELD : o 20,1,,1 : 20 octets en positions 1 dans le fichier dentre sont placs en position 1 dans le fichier de sortie. o 5,21,ZP,21 : 5 octets (position numriques) en position 21 dans le fichier dentre sont packs puis placs en position 21 dans le fichier en sortie. o 25,26,,24 : 25 octets en position 26 dans le fichier dentre sont placs en position 24 dans le fichier de sortie. REMARQUES :
Page 19 sur 21

Anoir SEGHIOUER

Le paramtre de conversion peur tre ZP pour packer , PZ pour dpacker les donnes numrique. Une fois packer,la longueur dune zone numrique est gale la partie entire de la longueur initiale divise par 2 plus 1.

8. COMPARAISON DE FICHIERS.
La comparaison de deux fichiers squentiels ou partitionns se fait laide de IEBCOMPR. Dans le compte rendu dexcution (SYSPRINT) on rcupre les anomalies rencontres : Enregistrement inexistant dans le fichier 1. Enregistrement inexistant dans le fichier 2. La comparaison renvoie les codes retour suivants : 00 fichiers identiques. 08 fichiers diffrents. Exemple : //STEP EXEC PGM=IEBCOMPR //SYSPRINT DD SYSOUT*,OUTLIM=500 //SYSUT1 DD DSN=I00001.LISTE.PRODUIT.OLD,DISP=SHR //SYSUT2 DD DSN=I00002.LISTE.PRODUIT.NEW,DISP=SHR //SYSIN DD * COMPARE TYPORG=PS // SYSUT1 et SYSUT2 : DDNAME imposes. Fichier comparer. COMPARE : Commande qui permet la comparaison. TYPORG : Type dorganisation, deux valeurs possibles : PS : Fichier squentiel, valeur par dfaut. PO : Fichier partitionn. Remarque : On ne peut comparer que des fichiers ayant la mme organisation.

9. REORGANISATION.
La rorganisation de PDS se fait laide dIEBCOPY en recopiant le PDS sur lui-mme. //REORGAN EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //PDS DD DSN=I00001.LISTE.PRODUIT,DISP=OLD //SYSIN DD * COPY OUTDD=PDS,INDD=PDS SYSPRINT : Compte-rendu de lutilitaire. PDS : DDNAME quelconque, porte le PDS rorganiser. SYSIN : Commande permettant la recopie du PDS sur lui-mme. Remarque : Il est souhaitable de lancer une telle opration, de faire une sauvegarde du PDS. Le paramtre DISP=OLD, peut tre remplacer par DISP=SHR afin de pouvoir lancer la rorganisation en mode partag ; mais attention, une sauvegarde de membre sous TSO pendant le passage de la passage de la rorganisation peut dtruire les pointeurs de la directory.

Page 20 sur 21

Anoir SEGHIOUER

10. CATALOGAGE / DECATALOGAGE DE FICHIER.


//STEP1 EXEC PGM=IEFBR14 //FIC1 DD DSN=I00001.LISTE.PRODUIT,DISP=(SHR,CATLG),UNIT=ETUDE, // VOL=SER=YYYYYY //FIC2 DD DSN=I00001.LISTE.PRODUIT,DISP=(SHR,UNCATLG) FI1, FIC2 : DDNAME quelconques. IEFBR14 sert ici de programme fictif pour le catalogage et le d catalogage de fichier.

11.CREATION DE MEMBRES DUN PARTITIONNE.


Peu utilise, cette fonction permet de copier un fichier sur bande dans un fichier partitionn. //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=I00001.LISTE.PRODUIT,DISP=SHR //SYSUT2 DD DSN=I00002.LISTE.TEST,DISP=SHR //SYSIN DD * GENERATE MAXNAME=3,MAXGPS=2,MAXLITS=100 MEMBER NAME=MBR1 RECORD IDENT=(7,MEMBRE1,1) MEMBER NAME=MBR2 RECORD IDENT=(7,MEMBRE2,1) MEMBRE NAME=MBR3 // en copy dans MBR1 tous les enregistrements de SYSUT1 jusqu ce quon trouve un enregistrement avec MEMBRE1 en premire position sur 7 caractres, ensuite on passe MBR2 puis MBR3 jusqu la fin du fichier. SYSPRINT : Compte-rendu de lutilitaire. SYSUT1 : DDNAME impos, porte le fichier dentre. SYSUT2 : DDNAME impos, porte le PDS de sortie. SYSIN : Commande de cration de membre : o MAXNAME : nombre de commandes Name dans la SYSIN. o MAXGPS : nombre de commandes IDENT dans la sysin. o MAXLITS : nombre de caractres littraux dans la sysin.

Page 21 sur 21

Vous aimerez peut-être aussi