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

Cobol Discussion :

Conversion de données numériques packées de GCOS7 vers Z/OS


Sujet :

Cobol

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Conversion de données numériques packées de GCOS7 vers Z/OS
    Bonjour,

    Il parait que la représentation interne des données numériques packées (COMP-3) est différente en COBOL entre GCOS7 et Z/OS : existe-t-il quelque part une table de conversion ou de correspondance ?

    Merci d'avance.

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par UMAGROSO Voir le message

    Il parait que la représentation interne des données numériques packées (COMP-3) est différente en COBOL entre GCOS7 et Z/OS ...
    Tu es sûr de cela ?

    Voici ce que dit la documentation COBOL z/OS (V6R3) :

    PACKED-DECIMAL and COMP-3 are synonyms. Packed-decimal items occupy 1 byte of storage for every
    two decimal digits you code in the PICTURE description, except that the rightmost byte contains only one
    digit and the sign. This format is most efficient when you code an odd number of digits in the PICTURE
    description, so that the leftmost byte is fully used. Packed-decimal items are handled as fixed-point
    numbers for arithmetic purposes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PIC S9999 PACKED DECIMAL  + 1234 01  23 4C
    PIC S9999 COMP-3          - 1234 01  23 4D


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PIC 9999 PACKED DECIMAL  1234   01 23 
    PIC 9999 COMP-3
    Que dit la documentation GCOS7 ?

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Si on en croit cette documentation page 154, c'est effectivement différent du Z/OS :
    https://support.bull.com/ols/product...et_language=en

    Le signe en Z/OS c'est C (positif), D (négatif), voire F (non signé, rarement usité) alors qu'ici, les valeurs A à F sont légales

  4. #4
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    J'ai vu du F à plein d'endroits, mais on m'avait dit "C pour crédit, D pour débit, c'est une bonne mnémotechnie". Le peu que j'avais regardé sur OpenCobolIDE suivait la même norme, C, D, F, et c'est tout.
    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.

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    COBOL z/OS V6R3 :

    Sign representation affects the processing and interaction of zoned decimal and internal decimal data.
    Given X'sd', where s is the sign representation and d represents the digit, the valid sign representations
    for zoned decimal (USAGE DISPLAY) data without the SIGN IS SEPARATE clause are:
    Positive:
    C, A, E, and F
    Negative:
    D and B
    et

    The COBOL NUMPROC compiler option affects sign processing for zoned decimal and internal decimal
    data. NUMPROC has no effect on binary data, national decimal data, or floating-point data.

    NUMPROC(NOPFD)
    When the NUMPROC(NOPFD) compiler option is in effect, the compiler accepts any valid sign
    configuration. The preferred sign is always generated in the receiver. NUMPROC(NOPFD) is less
    efficient than NUMPROC(PFD), but you should use it whenever data that does not use preferred signs
    might exist.

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    @Luc : ce serait une évolution récente de COBOL d'accepter ces marqueurs de signe ?

    J'en étais resté aux valeurs "canal historique" C, D et F comme mentionné dans ces documentations :

    http://www.simotime.com/datapk01.htm
    In an IBM mainframe, the sign is indicated by the last nibble of the last byte (or high memory address). For explicitly signed fields the "C" indicates a positive value and "D" indicates a negative value. For unsigned (or implied positive) fields the "F" indicates a positive value.
    http://www.3480-3590-data-conversion...ed-fields.html
    "C" hex is positive, "D" hex is negative, and "F" hex is unsigned
    .

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    @Luc : ce serait une évolution récente de COBOL d'accepter ces marqueurs de signe ?

    J'en étais resté aux valeurs "canal historique" C, D et F comme mentionné dans ces documentations :

    http://www.simotime.com/datapk01.htm
    Non je ne pense pas ... A mon avis, c'est une tolérance ancienne mais en fait peu utilisée.

Discussions similaires

  1. Conversion de donnée string vers int
    Par reptooyep dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 05/06/2013, 22h40
  2. [2008R2] Conversion de données CodePage 1250 vers 1252
    Par PJHa1 dans le forum SSIS
    Réponses: 3
    Dernier message: 10/05/2012, 15h06
  3. Pb importation donnée numérique d'excel vers access
    Par rob1son76 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/09/2011, 11h50
  4. Réponses: 4
    Dernier message: 26/07/2006, 17h46
  5. Pb de conversion de données 16 vers 32
    Par Ducmonster dans le forum Langage
    Réponses: 2
    Dernier message: 09/10/2005, 11h53

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