IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Convertir fichier de données en fichier COBOL


Sujet :

AS/400

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut Convertir fichier de données en fichier COBOL
    Bonjour tout le monde,

    Je souhaite faire un transfert de fichiers (AS400) vers une machine utilisant le COBOL. Comment faire cette conversion :
    champ AS400
    PRIX 15S 3 TEXT('PRIX')

    convertir en cobol :
    pic s9(12)v9(3) comp-3.

    Comment je dois m'y prendre sous AS400 ?

    d'avance merci à tous ceux qui me répondront.
    cdt

  2. #2
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par inpra Voir le message
    Bonjour tout le monde,

    Je souhaite faire un transfert de fichiers (AS400) vers une machine utilisant le COBOL. Comment faire cette conversion :
    champ AS400
    PRIX 15S 3 TEXT('PRIX')

    convertir en cobol :
    pic s9(12)v9(3) comp-3.

    Comment je dois m'y prendre sous AS400 ?

    d'avance merci à tous ceux qui me répondront.
    cdt
    Bonjour.

    Vers quel type de machine tu veux faire ton transfert et quels OS et compilateur ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Hédhili Jaïdane Voir le message
    Bonjour.

    Vers quel type de machine tu veux faire ton transfert et quels OS et compilateur ?
    Bonjour Hédhili,

    Bé, on me demande de transférer un fichier (AS400) au format COBOL.
    Pour les montants, ça sera sous la forme pic s9(12)v9(3) comp-3 (c'est ce format-là qui me trouble), et pour un champ alphanum (par exemple) pic x(010) (là Ok).

    Je n'ai que cela pour le moment en ma possession, je ne sais sur quelle machine va être traitée le fichier.
    Merci pour ta réponse.

  4. #4
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    - Sur l'AS/400, il n'y a pas type de fichiers spécifique à un langage particulier. Tous les fichiers sont considérés comme des tables ou des index/vues DB2 même s'ils sont des fichiers, soit disant plats, texte, ou même de type S/36. Tous les utilitaires et les programmes écrits dans n'importe quel langage y accèdent sans traitements particuliers.
    Si tu restes sur l'AS/400 et que tu vas convertir ton fichier contenant le champ PRIX décrit en 15S 3 pour que tu puisses le traiter en PIC S9(12)v9(3) comp-3 par un programme Cobol, il suffit de déclarer un nouveau fichier dans lequel le champ PRIX sera décrit en 15P 3 et d'y faire un CPYF avec les options *MAP *DROP à partir du premier fichier ou de faire un programme Cobol qui copie le champ PRIX d'un fichier à un autre du format S9(12)v9(3) au format S9(12)v9(3) comp-3.

    - Si ton fichier va être transféré vers le monde micro (Windows/Unix), donc le monde ASCII, et puisque ta zone PRIX d'origine n'est pas condensée (packée) (15S 3 équivaut à S9(12)v9(3), il faut dans un premier temps le transférer comme fichier TEXTE par Client/IBM Access ou FTP puis le copier, par un programme Cobol, dans un fichier où la description de PRIX sera S9(12)v9(3) COMP-3.

  5. #5
    Membre averti
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Points : 355
    Points
    355
    Par défaut
    Bonjour,

    Je penche pour une machine plus grosse qui tourne sous z/os.
    Il existe des solutions qui vont chercher des données sur une machine pour les transférer sur une autre.
    Il faut demander vers quelle machine les données vont être tranférées.
    A partir de là, tu auras plus de visibilité.

    Larry57

  6. #6
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par larry57 Voir le message
    Bonjour,

    Je penche pour une machine plus grosse qui tourne sous z/os.
    Il existe des solutions qui vont chercher des données sur une machine pour les transférer sur une autre....
    Larry57
    Bonjour.

    Oui, il y a ça aussi. S'il n'y a pas d'outils/moyens pour transférer directement, moyennant ou non une conversion automatique EBCDIC/ASCII, il faudrait, peut être, passer par un fichier texte séquentiel et le découper par la suite sur la machine cible d'autant plus que sur la machine source (l'AS/400) le champ PRIX n'est pas condensé (comp-3), donc il n'y a aucune décompression à faire, ensuite il faudrait convertir le champ PRIX de l'usage étendu à l'usage condensé.

    Mais il faudrait savoir aussi que l'usage condensé (compressé/packé = comp-3) n'est pas spécifique à Cobol ni obligatoire. C'est un type de données numériques utilisé par tous les langages dont le Cobol (à la limite la plupart des langages usuels) et le Cobol n'exige pas que les données numériques soient de ce type.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Hédhili Jaïdane Voir le message
    Bonjour.

    Oui, il y a ça aussi. S'il n'y a pas d'outils/moyens pour transférer directement, moyennant ou non une conversion automatique EBCDIC/ASCII, il faudrait, peut être, passer par un fichier texte séquentiel et le découper par la suite sur la machine cible d'autant plus que sur la machine source (l'AS/400) le champ PRIX n'est pas condensé (comp-3), donc il n'y a aucune décompression à faire, ensuite il faudrait convertir le champ PRIX de l'usage étendu à l'usage condensé.

    Mais il faudrait savoir aussi que l'usage condensé (compressé/packé = comp-3) n'est pas spécifique à Cobol ni obligatoire. C'est un type de données numériques utilisé par tous les langages dont le Cobol (à la limite la plupart des langages usuels) et le Cobol n'exige pas que les données numériques soient de ce type.
    Bonjour, Ok, ça correspond donc à du 15P 3, là ca me parle, je vais donc faire la conversion et je verrai après. Le fichier est destiné au host (connais pas le type de machine). Les gars qui me demandent cela sont assez mystérieux ... (milieu bancaire ... j'ai rien dit).

    Merci à vous deux.

  8. #8
    Membre averti
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Points : 355
    Points
    355
    Par défaut
    Le host est une machine IBM, on peux faire du RPG2....!!!! dessus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Base de données ou fichier de données ?
    Par pusse dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 24/05/2014, 11h31
  2. [XL-2010] vbaexcel recherche et envoye des données de fichier excelà un autre fichier excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/08/2011, 14h42
  3. Réponses: 2
    Dernier message: 11/05/2009, 14h23
  4. Réponses: 8
    Dernier message: 06/03/2009, 16h07
  5. Convertir un fichier de données quelconque en un fichier XML
    Par cari dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 06/06/2005, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo