Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > z/OS
z/OS Forum d'entraide sur z/OS et MVS (Multiple Virtual Storage), les systèmes d'exploitation des ordinateurs « mainframes » IBM : JCL, Tso, Ispf, Vsam, Racf, SMS, Cics, Ims, OPC, Ca-7, Control-M, Dialog Manager ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2011, 14h34   #1
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 2
Points : 2
Par défaut [JCL]Fusion de trois fichiers

Bonjour.

Le problème du jour :
Je dispose de trois fichiers :
- Un fichier PARAM qui contient une ligne avec le mois de traitement (AAAAMM en position 5, à la ligne 03, peut être différent du mois réel).
- Un fichier FIC de traitement qui contient (entre autres) le numéro de département (le même pour toutes les lignes) en colonne 21,2.
- Un fichier CODES qui contient un code param (1 ou 0) pour chaque mois et pour chaque département (chaque ligne est donc sous la forme AAAAMMDPc).

Il s'agit de récupérer, pour un fichier FIC donné, le code correspondant au mois de traitement.

Je m'en sors avec un ICETOOL, mais ça me semble plutôt lourd :
1. Je récupère la ligne 03 de PARAM, sous la forme AAAAMM..1
2. Je récupère la première ligne de FIC sous la forme ......DP1
3. Je fusionne les deux lignes avec un SPLICE pour obtenir AAAAMMDP1
4. Je rajoute le contenu de CODES.
5. Je récupère le doublon.
Code :
1
2
3
4
5
6
7
8
9
10
11
//TOOLIN   DD *
 SELECT FROM(PARAM) TO(TMP) ON(5,6,CH) NODUPS USING(CTL1)
 SELECT FROM(FIC) TO(TMP) ON(21,2,CH) FIRST(1) USING(CTL2)
 SPLICE FROM(TMP) TO(TMP2) ON(9,1,CH) WITHANY WITH(1,6) WITH(7,2)
 COPY FROM(CODES) TO(TMP2)
 SELECT FROM(TMP2) TO(OUT) ON(1,8,CH) FIRSTDUP
//CTL1CNTL DD *
 INCLUDE COND=(1,2,CH,EQ,C'03')
 OUTFIL BUILD=(5,6,9:C'1')
//CTL2CNTL DD *
 OUTFIL BUILD=(7:21,2,C'1')
Il n'y aurait pas moyen de faire ça plus simplement ?
macgawel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 13h33   #2
Invité régulier
 
Inscription : mars 2006
Messages : 49
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2006
Messages : 49
Points : 8
Points : 8
Envoyer un message via MSN à sly3333
Si ta version de DFSORT le permet, utilise les JOINKEYS, c'est beaucoup plus simple ...
sly3333 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 09h22   #3
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 2
Points : 2
Malheureusement, je ne peux pas utiliser les JOINKEYS
Je reste avec mon JCL...

Merci de la réponse.
macgawel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h52.


 
 
 
 
Partenaires

Hébergement Web