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 :

déclaration donnée COBOL (Z/OS)


Sujet :

Cobol

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 9
    Points : 8
    Points
    8
    Par défaut déclaration donnée COBOL (Z/OS)
    Bonjour tout le monde,
    Je reviens vers vous aujourd’hui pour demander la différence entre une déclaration Binary , COMP , COMP-3 , COMP-4, COMP-5

    Je rencontre toujours des difficultés pour utiliser ces données, de mon côté je déclare toujours les données numériques sans les utiliser et je ne sais pas si c’est correct ou non

    Merci d’avance pour votre aide.

    Cordialement
    Imane Koudi

  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
    BINARY, COMP et COMP-4 sont synonymes. Il s'agit de données binaires qui peuvent occuper, selon la définition de la clause PICTURE, 2, 4 ou 8 octets. Elles peuvent être signées ou non signées.
    On parle alors de " Binary items ".

    COMP-5 est proche de cette dernière représentation avec une différence subtile. A savoir que la limite du nombre représenté n'est pas fonction de la clause PICTURE mais de la taille du nombre d'octets utilisés pour stocker la valeur.
    On parle alors de " Native binary items ".

    COMP-3 contient des données qui stockées en décimal condensé, c'est à dire que chaque chiffre de la clause PICTURE est stocké sur un demi octet, sauf pour le dernier octet qui contient un chiffre et le signe.
    On parle alors de " Packed-decimal items ".

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Lemosi Fort et Vert
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lemosi Fort et Vert
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 34
    Points
    34
    Par défaut
    Tout à fait d'accord avec l'excellent Luc Orient,

    quelques précisions quant à l'usage,

    le format étendu (avec ou sans la clause usage display) doit être réservé à l'externalisation des données (affichage, production d'état et lors d'échanges avec des systèmes ouverts) et ne doit jamais être utilisé pour des opérations arithmétiques car il est sous performant dans cette utilisation.

    Les formats binaires sont tout spécialement utiles pour la manipulation des nombres entiers (Indices de boucles compteurs etc...) et dans ces cas plus performants que le comp-3. De mon expérience au delà d'une picture > à 9(9) le format binaire est moins performant que le format comp-3.
    Attention à l'option de compilation TRUNC qui aura une influence sur la manière dont les nombres binaires seront manipulés par le compilateur.
    Vous ne devez utiliser que 3 formats S9(4) S9(9) S9(18) ce pour avoir une donnée qui correspond toujours à sa réservation mémoire (Cf réponse de Luc Orient)

    Le format comp-3 doit être utilisé pour tout calcul impliquant des nombres avec des décimales.

  4. #4
    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 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Gurdil87 Voir le message
    Le format comp-3 doit être utilisé pour tout calcul impliquant des nombres avec des décimales.
    En n'oubliant pas la déclarative "DECIMAL POINT IS COMMA" pour éviter les soucis d'alignement des montants sur la décimale

    J'avais mesuré il y a quelques années les écarts de performances en temps CPU avec des calculs identiques effectués sur des données de format étendu, packé et binaire sur plate forme Z/OS.
    Le format le plus performant est le binaire, 8 fois moins gourmand en CPU que l'étendu, et 2,5 fois moins que le packé.
    La présence ou non du signe n'a par contre que très peu d'influence sur les perfs (et ce bien que le signe soit ajouté si absent par l'OS avant calcul)

  5. #5
    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
    Citation Envoyé par escartefigue Voir le message
    (.../...)J'avais mesuré il y a quelques années les écarts de performances en temps CPU avec des calculs identiques effectués sur des données de format étendu, packé et binaire sur plate forme Z/OS.
    Le format le plus performant est le binaire, 8 fois moins gourmand en CPU que l'étendu, et 2,5 fois moins que le packé.(.../...)
    Ceci dépend évidemment du type de processeur. Avec OpenCobol sur mon processeur intel perso, le binaire est 100 fois plus rapide que tout le reste. Et ça sera encore différent sur un AMD.....etc.
    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.

  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 561
    Points
    38 561
    Billets dans le blog
    9
    Par défaut
    Certes, mais nous sommes ici sur un sujet Z/OS comme indiqué dans le titre et mes mesures, comme précisé dans ma réponse précédentes, étaient bien sur Z/OS

  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
    En n'oubliant pas la déclarative "DECIMAL POINT IS COMMA" pour éviter les soucis d'alignement des montants sur la décimale
    Non ce n'est pas exact. Il est parfaitement possible de gérer l'alignement sur la virgule pour les nombres décimaux sans avoir à utiliser cette clause. Cette dernière ne fait qu'inverser le rôle de la virgule et du point pour certaines parties du texte du programme.


    DECIMAL-POINT IS COMMA clause
    The DECIMAL-POINT IS COMMA clause exchanges the functions of the period
    and the comma in PICTURE character-strings and in numeric literals
    Source : Enterprise COBOL for z/OS - Language Reference - V6.1

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/03/2009, 16h07
  2. Déclaration avec un Type donné
    Par mod6991 dans le forum C#
    Réponses: 11
    Dernier message: 03/03/2008, 13h43
  3. [VBA-E]Déclaration d'une plage de données
    Par illight dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/02/2007, 16h13
  4. Réponses: 9
    Dernier message: 18/01/2007, 08h55
  5. Déclaration de base de données
    Par blynda dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/06/2006, 14h44

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