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 :

[z/OS-V2] Perte d'alimentation des zones d'un VARCHAR en TP


Sujet :

Cobol

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut [z/OS-V2] Perte d'alimentation des zones d'un VARCHAR en TP
    Salut,

    Encore un nouveau problème COBOL.

    Voila, j'ai une table contenant un varchar. Une copy cobol (appelons la COPCOB) représente ce varchar.

    Je souhaites ajouter une nouvelle zone numérique dans cette copy (et donc dans le varchar)

    J'ai donc ajouté le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    05 MA-ZONE PIC9 COMP-3 VALUE ZERO.
    Je ne réalise aucun "move 0" dans mon programme lors des INSERT, seulement, une fois les enregistrements créés, la valeur est mise à SPACE et non à 0.

    Ce programme utilise des sous modules.

    Comment peut on controuner ce soucis ?

    Merci pour votre aide !
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

  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
    Bonjour.
    Tu peux nous indiquer ton OS, la version Cobol et la description de ta variable en varchar et son lien avec la zone numérique stp ?

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    Salut,

    Je travaille Z/OS en Cobol V2

    La zone de working explicité dans mon précédent fait parti de la copy décrivant la VARCHAR de ma table.

    Cependant, je ne peux pas fournir l'intégralité de ce fichier (environ 400 zones)

    Il est à noter que le problème évoqué ne se produit qu'en TP et non en batch ...

    @+
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

  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
    Bon, je ne suis pas z/OS, mais je pense que tu devrais quand même renseigner ou initialiser ta zone num car si le buffer est initialisé avant les insert, il le serait à SPACES et non en fonction du type de chaque zone ??? (longueur variable ===> alphanum) comme le ferait l'instruction INITIALIZE.
    Je te laisse entre les mains des z/OSistes s'ils sont disponibles.

    PS: Tu veux bien modifier le titre pour qu'il colle bien à ta question. Je n'arrive pas à la résumer.

  5. #5
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    +1.
    Le précompilateur DB2 ajoute au début du programme ces propres séquences d'initialisation, il suffit de regarder les CALL ajoutés en début de procédure division.
    De toutes façons, l'isolation autonome des fonctions logiques ou règles de gestion participe à la programmation structuée.
    Ainsi le cas d'insertion d'une ligne DB2 devrait être isolée dans un paragraphes qui commence par initialiser TOUTES les host variables utiles. C'est la meilleure façon de faciliter la lisibilité et la maintenance du programme.
    D'autre part c'est toujours une mauvaise idée que de mettre des Value dans des COPY COBOL puisqu'elles peuvent être éventuellement utilisées en Linkage.
    Quant aux INCLUDE de DCLGEN, on doit malheureusement parfois les retoucher pour suppression du préfixe table et association des données et des indicateurs de champ nul mais pas plus.

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    Merci pour ces précisions,

    je ne me ferais pas avoir la prochaine fois !

    @+
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

  7. #7
    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 Homer-ac Voir le message
    (.../...)
    D'autre part c'est toujours une mauvaise idée que de mettre des Value dans des COPY COBOL puisqu'elles peuvent être éventuellement utilisées en Linkage.
    (.../...)
    +1 avec le reste, mais je me permets d'intervenir là-dessus. Il est possible de distinguer des COPY "working" de COPY "linkage". Ca se fait là ou je bosse, on change un caractère dans le nom de la copy. Si ta remarque est totalement vraie pour les COPY "linkage"(le type le plus fréquent), une COPY dédiée à la working, elle, peut parfaitement inclure des VALUE.

    Une copy "working" sera en général associée à une copy "code", d'ailleurs...alors qu'une copy "linkage" sera associée à un module appelé.
    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.

  8. #8
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Chaque site ses habitudes, on appel ça norme, sauf que l'on écrit très souvent ça : normes, au pluriel !
    Personnellement je préfère : 1 sructure = une copie description (unique et sans value pour des raisons de non redondance) + copie code d'initialisation. Je sais qu'on utilise assez peu les copies en procédure division, ça peut pourtant être souvent pratique, étant entendu que puisque l'on peut à présent appeler les précompilateurs SQL et CICS en z/OS directement dans le step de compilation COBOL (IGYCRCTL), on peut même y mettre du SQL ou des ordres CICS.

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

Discussions similaires

  1. Perte + ou - régulières des préférences du mode d'alimentation
    Par jaimepaslesmodozélés dans le forum Windows 7
    Réponses: 0
    Dernier message: 10/04/2010, 12h11
  2. dessin et format des zones texte
    Par sorinexp dans le forum Access
    Réponses: 15
    Dernier message: 31/08/2005, 11h26
  3. Réponses: 3
    Dernier message: 21/06/2005, 11h37
  4. [FLASH MX2004 ] Définir des "zones cliquables"
    Par chodaboy34 dans le forum Flash
    Réponses: 3
    Dernier message: 07/11/2004, 18h58
  5. Perte du contenu des blobs
    Par macakou99 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2003, 15h17

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