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 22/11/2007, 17h05   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 1
Points : 0
Points : 0
Par défaut Comparaison de Deux Versions Complilées sous TSO par JCL

Bonjour,

Je suis à la recherche d'une solution pour comparer deux versions de load, je développe sous PACBASE V2.5 pour TSO IBM.
La situation est la suivante :
- J'ai deux bibliothèques (1 par environnement de tests) où sont stockées mes loads, Loadlib1 et loadlib2.
- Je n'ai pas accès aux générés Cobol.

Connaissez-vous une solution qui me permettrait de comparer les versions compilées de mes programmes qui appartiennent à ces deux environnements?
-> J'ai testé sans succès le SuperCompare de TSO 3.13
-> Y a-t-il une application disponible via JCL qui serait capable de chercher la Session PACBASE et/ou la date de compilation et/ou le User utilisé lors de cette compilation à partir des bibliothèques de load?
-> Je me pose la question pour les programmes Batch mais aussi pour les écrans TP.

Merci d'avance,

Cordialement,
Rémi.
PacRémi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 17h00   #2
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 514
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 514
Points : 617
Points : 617
Concernant les loads, comme un load cobol classique tu peux trouver la date decompil en dur dans le load. Si tu sais que le pgm a été compilé en 2007 par exemple, browse ton load et un 'F 2007' devrait te positionner sur la date de compil.

Si tu as PDSMAN, en colonne 'changed' de ton PDS de load tu peux visualiser la date de compil sans browser le load.
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2007, 00h19   #3
Membre expérimenté
 
Avatar de Homer-ac
 
Inscription : octobre 2007
Messages : 449
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 449
Points : 518
Points : 518
Les outils pour faire ça ne doivent pas être légion mais un moyen pas trop difficile par programme (Cobol par exemple, REXX ne sait pas lire de l'indéfini, curieux pour ce langage qui a si peu de limites), c'est de lire le load et de s'intéresser non pas à la date de compilation qui ressort différemment en fonction des compilateurs mais à la date de Link-édit, non dépendante du compilateur.
En gros, un load commence par donner les modules et run-time appelés avec leurs adresses de chargement, ces enregistrments de début commencent par des 20 hexa.
On trouve ensuite des enregistrements qui débutent par X'8011' ou x'8015' qui se terminent ent par la date et l'heure de linkédit en hexa bien entendu(date en +16 format aaqqq de mémoire, précédée par un x'01' pour > an 2000)
On trouve encore d'autre x'80' pour le FMID par exemple et enfin les enregistrement TXT qui correspondent au généré du pgm compilé.
('drapeaux' cités à confirmer par un browse de quelques load sur votre site)


Sinon voir du côté des produits installés sur site, Fileaid sait analyser un load sous TSO mais je n'ai pas eu l'occasion de vérifier en Batch.
Voir aussi du côté de CBTTAPE, j'ai souvenir d'un sample cobol pour affichage de la date de compilation mais je n'ai pas noté dans quel fichier ça se trouvait.
Homer-ac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2007, 15h29   #4
Membre expérimenté
 
Avatar de Homer-ac
 
Inscription : octobre 2007
Messages : 449
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 449
Points : 518
Points : 518
Pour complément plus précis (vérifié cette fois), je me suis souvenu qu'il est possible de scanner une loadlib par ISRSUPC (le 3.14 TSO, mais en passant par l'option Batch)
Donc on peut construire un JCL simple en s'appuyant sur Sort par exemple comme joint, ICETOOL ou un REXX pour un traitement plus fin.
Ca donne ça comme idée pour tests de départ (on se contente de la date, on peut ajouter l'heure) :

//LISTE SET LISTE='MYUSER.WORK.LISTE'
//SEARCH EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'IDPFX NOSUMS NOPRTCC')
//* RECUPERER LA DATE DE LINK-EDIT DEPUIS UN SCAN LOADLIB
//NEWDD DD DISP=SHR,DSN=MY.LOADLIB
//OUTDD DD DISP=(NEW,PASS),DSN=&&LIST1,SPACE=(TRK,(90,90),RLSE),
// UNIT=3390,LRECL=133,RECFM=FB,BLKSIZE=0
//SYSIN DD *
SLIST OFF
SRCHFOR X'8011',1:2
SRCHFOR X'8015',1:2
//* SRCHFOR X'8014',1:2 EN PLUS DES 8011 MAIS RATTAPER DECALAGE
//*
//EXTRACT EXEC PGM=SORT FORMAT. DES LIGNES SIGNIFICATIVES
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=&&LIST1,DISP=(OLD,DELETE)
//SORTOUT DD DISP=(,CATLG),DSN=&LISTE,SPACE=(TRK,(90,90),RLSE),
// UNIT=3390,LRECL=80,RECFM=FB,BLKSIZE=0
//* 2 ENREGISTREMENTS SI LOAD RELINKEDITE SANS COMPILE (15 PUIS 11)
//* SI ON VEUT LES DEUX : SORT FIELDS=(01,10,CH,A,19,2,BI,A),EQUALS
//SYSIN DD *
SORT FIELDS=(01,10,CH,A),EQUALS
SUM FIELDS=NONE
OMIT COND=(1,1,CH,EQ,C' ')
OUTREC FIELDS=(1,10,C'DATE LINK=',34,3,PD,TO=ZD,LENGTH=5,80:C' ')
//*
Homer-ac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 17h34   #5
Invité de passage
 
Inscription : décembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 1
Points : 1
Points : 1
Par défaut comparaison

Bonjour,
normalement dans le début de ton module tu dois retrouver
la date de linkedit en format julien (aajjj) sinon avec amblist (listload) tu
peux également obtenir ces infos
Gandalf91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 22h35   #6
Membre expérimenté
 
Avatar de Homer-ac
 
Inscription : octobre 2007
Messages : 449
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 449
Points : 518
Points : 518
AMBLIST est une idée mais à part mettre en oeuvre du REXX ou un ensemble de steps ou procédures pour récupérer la directory et demander une liste pour chaque membre je ne vois pas bien. Ca risque de mouliner pas mal et de produire pas mal d'écritures marginales. Si on peut faire un LISTLOAD sans préciser Member=, merci d'indiquer comment, je ne connais pas. Si c'est le cas, cette solution serait moins 'bricolée', sinon celle que j'ai proposée devrait facilement lister toutes les dates, aux alias définis dans des loadlib systèmes près.
Homer-ac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h28.


 
 
 
 
Partenaires

Hébergement Web