jcl : comparaison de deux fichiers
Bonjour,
Je souhaite, en jcl, comparer deux fichiers, sur les 5ères positions, et mettre les données non communes, dans un troisième fichier :
exemple de jcl :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| //SUP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE nomfic.nodup
/*
//STEPDUP EXEC PGM=ICETOOL
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//FIC1 DD DSN=nomfic1,DISP=SHR
//FIC2 DD DSN=nomfic2,DISP=SHR
//FIC3 DD DSN=nomfic.nodup,
// DISP=(,CATLG,DELETE),
// LIKE=nomfic1
//DDIMP0 DD SYSOUT=O,RECFM=F,LRECL=80
//TOOLIN DD *
SELECT FROM(FIC1) TO(FIC2) ON(1,5,CH) NODUPS DISCARD(FIC3)
/* |
Le problème est que le système copie écrase les données de nomfic2, en les remplaçant par celles de nomfic1, et fic3 est vide.
Que faut-il mettre comme instruction, dans TOOLIN, pour avoir le résultat attendu ?
Merci d'avance.
Twisty.
sort avec des fichiers existants
Bonjour,
Merci pour cette réponse, mais j'ai un code ABENDED S000 U0005, avec des fichiers existants (F1=> nomfic1, disp=shr, F2=>nomfic2,disp=shr).
En fait, le système ne reconnait pas les instructions JOINKEYS. Serait-ce un problème de version d'OS ou de jcl ?
Twisty.
équivalent de joinkeys avant novembre 2009
Dans ce cas ,avant novembre 2009, qu'elle est l'instruction qui existait avant JOINKEYS ?
Sinon, la mise à jour du logiciel de tri ne se fera pas (économie oblige en temps de crise).
Twisty
réponse pour "peutêtreuneréponse"
Peux-tu expliquer ce que tu fais, dans cette instruction ?
SPLICE FROM(TMP) TO(OUT) ON(1,5,CH) WITH(80,1) KEEPNODUPS -
USING(WRK3)
Et, qu'elles sont les longueurs des deux fichiers ?
De plus, je ne comprends pas comment arrive-ton à des enregistrements, avec, en 80, "BA" ?
Ce que je comprends, c'est que tu tri les deux fichiers avec (1,5,CH) et (80,1), en enlevant les doubles. Mais, si la longueur des fichiers est 80, peut-on écrire, dans le fichier, après 80 ?
En fait, peux-tu renter dans les détails, car je suis vraiment perdu, dans ce jcl?
Merci d'avance.
recherche de complément de réponse
Merci pour ce détail, mais je suis obligé d'augmenter la taille du fichier temporaire, car j'ai des données, jusqu'en colonne 80. Et, dans ce cas, l'overlay du premier fichier temporaire (wrk1cntl) ne se fait pas ou est écrasé par le deuxième fichier temporaire (wrk2cntl). Donc, je n'obtiens pas le résultat souhaité.
Pourriez-vous me communiquer les instructions à ajouter, en cas d'augmentation de la longueur du fichier temporaire ?
Merci d'avance,
Twisty