Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1571 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Script] Formatter un fichier plat à partir d'une clause copy

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Script] Formatter un fichier plat à partir d'une clause copy

n°2275988
Uncle_Scro​oge
Posté le 21-02-2016 à 17:41:41  profilanswer
 

Hello,
 
J'ai en sortie d'un traitement un fichier plat ayant par exemple cette tête là :
toto25122015ParisBoulanger
 
et un masque (clause copy) avec cette tête :
Prenom x(20)
Date de naissance 9(8)
Ville X(20)
Metier X(10)
 
je souhaiterais communiquer le résultat de façon plus lisible (en format csv par exemple) et j'aurai besoin d'inserer des séparateurs sur chaque ligne pour avoir :
toto;25122015;Paris;Boulanger;
 
 
Une idée de script simple (unix/vba ...) pour avoir ce type de résultat ?

mood
Publicité
Posté le 21-02-2016 à 17:41:41  profilanswer
 

n°2275999
Chelmi18
Posté le 22-02-2016 à 08:35:38  profilanswer
 

Oh du Cobol !  ;)  
 
En VBA, c'est relativement simple, si ta copy n'est pas trop longue et ne change pas souvent, tu en fais un tableau fixe à deux dimensions (position début de champ, longueur).
 
Pour chaque ligne de ton fichier en entrée, tu découpes avec l'instruction Mid(ligne, position, longueur).
 
En fait tout dépend quels langages tu connais ...

n°2276222
Uncle_Scro​oge
Posté le 24-02-2016 à 22:43:14  profilanswer
 

exact !
le fichier est créé par un programme cobol.
 
par contre, je ne connais pas trop le VBA, je me voyais plus le faire via un script shell mais comme la description est assez longue (+ de 50 champs), je cherche à automatiser la solution

n°2276231
Chelmi18
Posté le 25-02-2016 à 08:36:45  profilanswer
 

Pour l'avoir déjà fait, même si ta description est un peu longue mais ne change pas souvent, tu gagneras énormément de temps à la saisir dans un tableau fixe en working de ton script (peu importe le langage).
 
Un scanner de copy Cobol est assez galère à faire, du fait des multiples manière de coder les formats, les occurs, les COMP et autres joyeusetés ! :pt1cable:  
 
Et je n'ai pour l'instant trouvé aucun autre langage micro (Unix, Windows etc..) qui permette d'appliquer une clause copy sur un fichier à la manière du Cobol.
 
En VBA, je passe par des instructions du style  
Donnée = Mid(LigneEntière, debutDonnée, finDonnée) après avoir déterminé la longueur de chaque donnée grâce à la copy.

n°2276289
Uncle_Scro​oge
Posté le 25-02-2016 à 22:48:09  profilanswer
 

ok, je vais tester cette soluce  
 
:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Script] Formatter un fichier plat à partir d'une clause copy

 

Sujets relatifs
Modification sur un scriptScript ajout de programme au démarage de Winows
[VBA/Excel] Ouverture de Fichier User Friendlyimporter données vers autre fichier excel automatiquement
récupérer valeur JComboBox dans une fichier txtcomment récupérer valeur JComboBox dans une fichier txt
Tester si un script tourne déjà[BATCH] Script de comparaison valeur de registre avec valeur en dur
Pas d'IOException sous UNIX écriture de fichierrecherche de script "téléchargement"
Plus de sujets relatifs à : [Script] Formatter un fichier plat à partir d'une clause copy


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR