RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 utilitaires pour COPY COBOL

Forum : COBOL
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ COBOL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM COBOL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
pej
Nouveau membre
Avatar de pej
Inscrit : 27/03/2007
Messages : 6
Message
#139260
Posté le 26/07/07 à 12:04
Bonjour

Savez-vous si il existe des utilitaires de traitement de COPY COBOL sous windows ou unix.
Je souhaiterai contrôler la taille de mes COPY et déterminer les positions/longueurs de chaque champs.

Merci.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#139282
Posté le 26/07/07 à 14:46
Smiley Salut,

En FREEWARE, j'en ai pas vu sous WINDOWS !!!!

Surement en payant.

Moralité, il ne te reste plus qu'a en créer un si tu le veux gratuit.

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pej
Nouveau membre
Avatar de pej
Inscrit : 27/03/2007
Messages : 6
Message
#139289
Posté le 26/07/07 à 15:26
je dirais pas non mais c'est le temps qui va me manquer Smiley
dis moi, toi, t'as rien à faire dans les 2 prochaines heures ? Smiley

plus sérieusement, en payant, tu en connais ? ca m'interesse grandement

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#139301
Posté le 26/07/07 à 18:27
Smiley Explique nous ce que tu veux très précisement, avec les données.

Si c'est pas trop long, il y aura bien quelqu'un pour t'aider.

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pej
Nouveau membre
Avatar de pej
Inscrit : 27/03/2007
Messages : 6
Message
#139302
Posté le 26/07/07 à 18:48
hé, je ne m'attendais pas du tout à ce genre de réponse Smiley mais plutot à un truc du genre : "et la marmotte ..."

Bon, voici l'énoncé de l'exercice :

Dans un environnement UNIX ou Windows, je souhaite disposer d'un utilitaire qui me sortirait d'une COPY COBOL les informations suivantes :
- longueur totale de la copy
- pour chacun des champs : sa position et sa longueur

On part du principe que la copy est correcte, je ne demande pas on plus de réécrire un compilateur Smiley

Y'a bien longtemps j'avais fait un outils avec excel (he oui Smiley) mais il se vautrait avec les occurs. Et il fallait que les pictures soient positionnées au bon endroit ... un peu galère, donc abandonné ... Smiley

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#139441
Posté le 29/07/07 à 00:13
SmileySalut l'ami,

Sous Unix le syncsort (utilitaire) peut te permettre de déterminer la longueur de ton enregistrement, ainsi que de tes champs avec position / longueur.

Mais c'est à toi de le remplir via le script Unix.

En COBOL, il te faudra donner un minimum d'information au programme
pour que celui ci puisse fonctionner .

Dans tout les cas, il te faudra donner des infos soit au script ou au programme COBOL

Ma conclusion, est que je ne sais pas si cela est possible d'après une description COBOL d'en déterminer le contenu détaillé.

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#139471
Posté le 29/07/07 à 20:55
Smiley Salut l'ami,

J'ai peut être 2 solutions à te soumettre.
En espérant qu'elles puissent répondre à ton problème.

SOLUTION 1
==========

Transférer ton fichier COBOL au format CSV sous WINDOWS
Le récupérer sous EXCEL. Il sera normalement bien formaté avec les colonnes.
Faire une ou des macros pour cumuler le nb de caractères de chaque cellule
sur une ligne seulement. Cela suffira pour te donner la longueur de ta copie
COBOL.
L'inconnue, c'est s'il y a des zones groupes, ou packées ou en occurs. Je ne
sais pas comment réagit EXCEL. A tester peut être ???

SOLUTION 2
==========


Je suis parti du principe que comme tu as la copie COBOL, tu connais sa longueur, donc son contenu. Il te reste plus q'a mettre dans un fichier en TXT (par exemple) le descriptif précis de ton enregistrement. En entrée de ton batch, il te faudra lire ce fichier afin de récupérer le détail des infos qui t'intéresse. Le programme va calculer la longueur totale de ton enregistrement, avec le détail des champs. C'est sûr que sur une petite description de fichier (comme dans mon exemple) ou il y a peu de champ, l'intérêt est faible. Mais sur une structure de fichier avec des dizaines de champs, cela devient très intéressant. De plus rien ne t'empêche de prévoir un traitement multi enregistrements, et multi fichiers. J'ai définit plusieurs formats de zones afin de traiter la majorité des cas. Définition de structures ======================== Nom copie COBOL : TOTO Si la longueur de ton enregistrement en entrée est de 100 caractères définit comme suit. 01 FIC-ENR. 05 FIC-ZON1 pix X(10). 05 FIC-ZON2 pic X(20). 05 FIC-ZON3 pic 9(10). 05 FIC-ZON4 pic S9(15). 05 FIC-ZON5 pic S9(08)V99. 05 FIC-ZON6 pic S9(06)V99 COMP-3. 05 FIC-ZON7 pic 9(03) occurs 3. 05 FIC-ZON8 pic X(22). Total 7 champs Il te faudra pré remplir ton fichier texte avec les infos suivantes correspondant à ta description COBOL : 01 TXT-DEF. 05 TXT-DEF-ALP-NUM01 PIC X value 'X'. 05 TXT-DEF-LONG01 PIC 9(02) value 10. 05 TXT-DEF-ALP-NUM02 PIC X value 'X'. 05 TXT-DEF-LONG02 PIC 9(02) value 20. 05 TXT-DEF-ALP-NUM03 PIC X value 'N'. 05 TXT-DEF-LONG03 PIC 9(02) value 10. 05 TXT-DEF-ALP-NUM04 PIC X value 'N'. 05 TXT-DEF-LONG04 PIC 9(02) value 15. 05 TXT-DEF-ALP-NUM05 PIC X value 'N'. 05 TXT-DEF-LONG05 PIC 9(02) value 10. 05 TXT-DEF-DECIM05 PIC X value 'D'. 05 TXT-DEF-LONG-DECIM05 PIC 9(02) value 02. 05 TXT-DEF-ALP-NUM06 PIC X value 'N'. 05 TXT-DEF-LONG06 PIC 9(02) value 04. 05 TXT-DEF-DECIM06 PIC X value 'D'. 05 TXT-DEF-LONG-DECIM06 PIC 9(02) value 02. 05 TXT-DEF-PACKEE06 PIC X value 'P'. 05 TXT-DEF-ALP-NUM07 PIC X value 'N'. 05 TXT-DEF-LONG07 PIC 9(02) value 03. 05 TXT-DEF-OCC07 PIC X value 'O'. 05 TXT-DEF-NB-OCC07 PIC 99 value 03. 05 TXT-DEF-ALP-NUM08 PIC X value 'X'. 05 TXT-DEF-LONG08 PIC 9(02) value 22. Cela fait 2 fichiers en entrées Eventuellement un fichier en sortie qui récapitule ton résultat ou l'afficher simplement à l'écran (au choix) Traitement ========== Il te faudra analyser l'enregistrement lu caractère par caractère sur le 1er enregistrement, cela suffira. Pour chaque champ, il te faudra définir les actions suivantes : Cumuler le nombre de champ Alphabétique Cumuler le nombre de champ numérique Sur les champs numériques : Si ce champ est avec décimale(s) cumuler le nombre de champ numériques ave décimales Si ce champ est packé cumuler le nombre de champ numériques packé Cumuler la longueur de chaque champ pour obtenir la longueur de l'enregistrement ou copie COBOL. Afficher sous forme de tableau à l'écran le résultat : !---------------------------------------------------------------------! ! Nom de la copie COBOL : TOTO ! !---------------------------------------------------------------------! ! Le nombre de champ Alpahnumérique : 3 ! ! Le nombre de champ Numérique : 7 ! ! Le nombre de champ Numérique avec décimale : 2 ! ! Le nombre de champ Numérique avec occurs : 3 ! ! Le nombre de champ Numérique packé : 1 ! !----------------------------------------------------------------------! ! La longueur de la copie COBOL est de : 100 C ! !----------------------------------------------------------------------! Ou remplir un fichier texte en sortie ayant 1 seul enregistrement en sortie récapitulatif du tableau



HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pej
Nouveau membre
Avatar de pej
Inscrit : 27/03/2007
Messages : 6
Message
#139481
Posté le 30/07/07 à 10:13
Ouai, Excel ca peut aller si c'est pas compliqué.
Mais avec nos occurs, on est dedans.
Je suis entrain de développer un outils pour automatiser tout ca. Il me reste à faire la partie analyseur syntaxique mais sur ce point je suis un grosse bille, ca va surement me prendre longtemps. Smiley
Quand ca sera terminé et certifé je le mettrai gratuitement à disposition. Smiley
Qu'est-ce qu'on peut perdre comme temps avec ces copy ... Smiley

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#139531
Posté le 30/07/07 à 15:58
SmileySalut l'ami,

Effectivement avec le COBOL, l'interprétation des clauses COPY est BASIC.

Dans ton cas, Il faut lui fournir un certain nombre d'information car le programme superpose la description de fichier avec l'enregistrement lu.
Il ne sait pas interpréter la clause copy autrement (nb de zones, longueur de
l'enr, etc...).

Ton résultat intéressa sans aucun doute la communautée COBOLISTIQUE

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

gaby31
Nouveau membre
Inscrit : 07/09/2007
Messages : 4
Message
#142436
Posté le 07/09/07 à 10:19
le controle d'un copy peut etre effectuée sous TSO : utiliataire FILE-AID.
- 1) il te formate le fichier en associant ton copy donc chaque valeur du fich est positionnée sous la colonne su copy

- 2) l'option 8 d FILE-AID te genere la composition du copy ains que sa longueur totale.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM COBOL



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.