Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Cobol
Cobol Forum d'entraide sur la programmation en langage Cobol
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/09/2012, 21h33   #1
Skylyn
Membre habitué
 
Homme Julien Guiffroy
Ingénieur d'étude Mainframe
Inscription : septembre 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Julien Guiffroy
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur d'étude Mainframe
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 61
Points : 113
Points : 113
Par défaut BIB 100 en JCL

Bonjour, j'ai un souci avec un JCL que je dois lancer qui doit exécuter un BIB 100 en assembleur.

Le problème ne vient pas vraiment du BIB 100 (enfin si un peu), je m'explique :

J'ai un fichier en environnement COBOL/MVS qui est codé en hexadécimal et j'ai remarqué que le fichier doit disposer en dernière ligne d'un en-queue comportant le nombre de lignes (nombre lu par JCL pour vérifier la cohérence du fichier => nombre de lignes lues doit être égal à nombre réel de lignes)

Problème : Ce nombre de lignes est codé en hexadécimal dans le fichier comme ci-dessous

040
67C (c'est à dire +06470 lignes)

Or, le nombre réel de lignes, si l'on doit le coder en hexadécimal devrait être différent

Exemple :

070
68C (ici, +06780 lignes)

Comment puis-je demander à assembleur de chercher l'hexadécimal et non le rendu (comme si on avait passé l'option hex à off), c'est-à-dire ne pas chercher les caractères mais X'060470C'

Dois-je coder l'hexa dans le JCL avec l'option hex sur on et mettre C'[caractères en rendu]' dans le CLC?

Merci pour la réponse.
________________________________________
________________________________________
Skylyn,
Skylyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2012, 14h42   #2
alchemy000
Invité de passage
 
Inscription : mai 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 3
Points : 3
Points : 3
Je ne suis pas un spécialiste mais je pense que ca pourrait aider les spécialistes si tu pouvais poster le(s) step(s) concerné(s) de ton jcl et de ton assembleur.

Cdlt
alchemy000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2012, 07h25   #3
Skylyn
Membre habitué
 
Homme Julien Guiffroy
Ingénieur d'étude Mainframe
Inscription : septembre 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Julien Guiffroy
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur d'étude Mainframe
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 61
Points : 113
Points : 113
En fait j'ai pas accès au programme de chez moi, mon environnement technique du travail est très sécurisé
Skylyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2012, 20h30   #4
Skylyn
Membre habitué
 
Homme Julien Guiffroy
Ingénieur d'étude Mainframe
Inscription : septembre 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Julien Guiffroy
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur d'étude Mainframe
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 61
Points : 113
Points : 113
C'est bon j'ai trouvé la solution ce matin

Il fallait juste faire un MVC en X'{hexadécimal}' sur une longueur de la longueur du X divisé par 2
Skylyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2012, 21h48   #5
Skylyn
Membre habitué
 
Homme Julien Guiffroy
Ingénieur d'étude Mainframe
Inscription : septembre 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Julien Guiffroy
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur d'étude Mainframe
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 61
Points : 113
Points : 113
Oublié un exemple pour ceux qui voudraient utiliser ce morceau de code

MVC [colonne -1]([longueur totale],11)=X'1234567890ABCDEF'

Par exemple si l'hexa est A12C, longueur totale vaudra (longueur de A12C)/2

colonne - 1 car si vous voulez modifier la 7ème colonne dans le fichier cible, en assembleur faudra mettre 6 en colonne à traiter

MVC 6(2,11)=X'A12C'

Voilà

________________________________________
________________________________________
Skylyn,
Skylyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2012, 18h09   #6
Luc Orient
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 165
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 54
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 165
Points : 1 975
Points : 1 975
Bonsoir,

J'ai vu que votre problème était résolu, ce qui est plutôt une bonne nouvelle pour vous. Mais je tenait à dire que, plutôt que de passer par un programme assembleur, il existe dans ICETOOL une toute nouvelle option avec l'opérateur OUTFIL, IFTRAIL qui permet de mettre à jour ce type d'enregistrement.

Citation:
Update the trailer record with OUTFIL
IFTRAIL is a new OUTFIL option that allows you to update count and total values in an existing trailer (last)
record based on the current data records.
Various options of IFTRAIL allow you to identify the trailer record (TRLID), indicate the count and total values to
be updated in the trailer record (TRLUPD), and indicate if the first record is a header record (HD=YES).
IFTRAIL makes it easy to update count and total values in an existing trailer record when you add, delete or
modify data records.
DFSORT symbols can be used for fields and constants in TRLID. DFSORT symbols can be used for columns and
fields in TRLUPD
.

Bon après, reste à voir si ça pouvait s'appliquer à votre problème ...
Luc Orient est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2012, 20h17   #7
Skylyn
Membre habitué
 
Homme Julien Guiffroy
Ingénieur d'étude Mainframe
Inscription : septembre 2012
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Julien Guiffroy
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur d'étude Mainframe
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 61
Points : 113
Points : 113
En fait si j'avais pu éviter de passer par de l'assembleur, je l'aurais fait...

Mais la procédure n'est pas rédigée par mes soins et effectivement, j'aurais bien utilisé cette solution en JCL purement et simplement.

Merci quand même pour les outils, je me mets ça sous le coude ça peut servir !
________________________________________
________________________________________
Skylyn,
Skylyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2012, 10h18   #8
el_slapper
Expert Confirmé Sénior
 
Inscription : décembre 2007
Messages : 2 541
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 2 541
Points : 6 144
Points : 6 144
J'ai connu des maisons ou seuls les BIB100 étaient autorisés pour mettre à jour des données de production. J'en frissonne encore d'effroi.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
el_slapper est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h30.


 
 
 
 
Partenaires

Hébergement Web