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 :

Numérique condensé COBOL


Sujet :

Cobol

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut Numérique condensé COBOL
    Bonjour,
    Je uis très débutant en cobol et j'ia besoin d'aide.
    J'ai un programme cobol qui sert a sortir un fichier Excel avec des données proviennent de différents tables de base de données.
    Le but qui je doit alimenter une colonne avec un valeur d'une rubrique vient d'une table cette rubrique est sous la format Numérique condensé de longueur 11 dont 2 décimale(s) en gros elle est présenter sous cette format :
    "MONTAN NOT NULL NUMBER(11,2)"

    Dans mon programme cobol j'ai crée une première variable comme suit :
    05 H-ZYSR-MONTAN PIC S9(11)V9(2) PACKED-DECIMAL.

    Une deuxième variable pour remplir la colonne comme suit :
    * Taux 22
    05 W-Z22 PIC -ZZZZZZZZZZZ,99.
    05 FILLER PIC X(001) VALUE ';'.


    Le but que je doit faire un move de ma rubrique MONTAN dans la variable H-ZYSR-MONTAN puis move de H-ZYSR-MONTAN dans W-Z22 voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ALIM-WZ22 SECTION.
                     MOVE Z-ZYSR-NOMBRE TO IZYSR.
                     MOVE ZERO TO H-ZYSR-MONTAN.
    
                  IF Z-ZYSR-NOMBRE > ZERO
                     PERFORM VARYING IZYSR FROM Z-ZYSR-NOMBRE BY -1 UNTIL
                                     IZYSR = ZERO
                        IF Z-ZYSR-CODRUB(IZYSR) = 'THF'
                           MOVE Z-ZYSR-MONTAN(IZYSR) TO
                                H-ZYSR-MONTAN
    
                           MOVE ZERO TO IZYSR
                        END-IF
                     END-PERFORM
                       MOVE H-ZYSR-MONTAN TO W-Z22
                       END-IF.

    Ma question comment je peux affiché les bons valeurs de la rubrique MONTAN car ma décalaration est fausse apparement ca me donne pas les bonnes valeurs
    Par exemple :

    J'ai un montant = 1234,55 la valeur de sortie Z22 = 0.12 alors que je voulais que ca soit 1234,55 le meme que montan sans avoir la signe plus mais la signe négatif doit s'afficher.

    Besoin d'aide.

    Déja j'ai essayé de cette façon :
    05 H-ZYSR-MONTAN PIC +++++9.99


    * Taux
    05 W-Z22 PIC -ZZZZ9.99 VALUE ZEROS.
    05 FILLER PIC X(001) VALUE ';'.


    Resultat :

    Z22
    0.45
    - 88.57
    0.00
    0.00
    0.00
    0.00
    0.00
    0.00
    0.00
    0.00
    10.57
    0.00
    10.65
    10.57

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    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 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Si le séparateur utilisé est la virgule, alors il faut déclarer dans le paragraphe "SPECIAL-NAMES" de l'environment division la clause "DECIMAL-POINT IS COMMA "

    PS : je vois que vous utilisez des sections dans la PROCEDURE DIVISION, ça n'a plus d'intérêt de nos jours mais ça n'est pas génant, sous réserve de bien se souvenir que si on appelle par "PERFORM" l'exécution d'une section, ce sont TOUS les paragraphes de cette section qui seront exécutés

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Bonjour ,
    Merci d'avoir répondu mais je n'ai pas compris, moi mon problème est que je n'arrive pas à trouver la bonne déclaration.
    Par exemple :
    Ma donnée saisie dans la table principale est comme suit :
    2223,55
    -10,98
    -1,08
    82,61
    Je fais un move dans une autre variable j’essaye de trois manières différentes mais ça ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     * Taux 20
                05  W-Z20                  PIC S9(11)V9(2) VALUE SPACES.
                05  FILLER                 PIC X(001) VALUE ';'.
           Taux 21
               05  W-Z21                  PIC S9(11)V9(2) VALUE SPACES.
               05  FILLER                 PIC X(001) VALUE ';'.
          * Taux 22
                05  W-Z22                  PIC -ZZZZZZZ9,99 VALUE SPACES.
                05  FILLER                 PIC X(001) VALUE ';'.

    sachant que ma valeur de base est de la forme numérique condensée : MONTAN : NOT NULL NUMBER(11,2)

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    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 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Avez vous vérifié la présence de la clause "DECIMAL-POINT IS COMMA" comme je vous le demandai dans ma réponse précédente ?
    Il faut commencer par là.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Bonjour
    Non ca existe pas DECIMAL-POINT IS COMMA

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    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 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Et bien ajoutez cette clause...

    Elle se code sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ENVIRONMENT DIVISION.
    CONFIGURATION SECTION.
    SPECIAL-NAMES.
        DECIMAL-POINT IS COMMA.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Par contre j'ai des autres colonnes qui sont alimenté avec des valeurs en ","

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Comment je l'ajoute c'est nécessaire , car le programme est déja long

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Il faut que j'ajoute :
    DECIMAL-POINT IS COMMA.

    dans la zone ou il y a SPECIAL-NAMES c'est bien ça , voila début de mon programme actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    *            *                                      *            *
          ******************************************************************
           ENVIRONMENT DIVISION.
           CONFIGURATION SECTION.
           SPECIAL-NAMES.
           INPUT-OUTPUT SECTION.
           FILE-CONTROL.
                  SELECT FICSOR ASSIGN FICSOR FILE STATUS FISTAT-FICSOR.
           DATA DIVISION.
           FILE SECTION.
           FD  FICSOR
               RECORDING F
               BLOCK 0
               RECORD 2100
               LABEL RECORDS STANDARD.
           01  WFICSOR.
               05  FILLER                   PIC X(2515).
          *
          ******************************************************************
           WORKING-STORAGE  SECTION.
          ******************************************************************
          *    * Modif - 18002020
             01  U-Z16.
               05  U-ZYWB-CACADR           PIC X(003) VALUE SPACES.
               05  U-ZYWB-CABONU           PIC X(002) VALUE SPACES.
    
          * Définition de SQLCA
               EXEC SQL
                    INCLUDE SQLCA
               END-EXEC.
          * Déclaration des Host Variables pour SQL
               EXEC SQL
                    BEGIN DECLARE SECTION
               END-EXEC.
           01  H-WORKING.
               05  H-SQLCODE               PIC S9(003) COMP-3.
               05  H-ZY00-NUDOSS           PIC S9(009) COMP.
               05  H-ZY00-SOCCLE           PIC X(003) VALUE SPACES.
               05  H-ZY00-MATCLE           PIC X(012) VALUE SPACES.

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    C'est fait et après comment je dois faire stp,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    
    
      ENVIRONMENT DIVISION.
           CONFIGURATION SECTION.
           SPECIAL-NAMES.
            DECIMAL-POINT IS COMMA.
           INPUT-OUTPUT SECTION.
           FILE-CONTROL.
                  SELECT FICSOR ASSIGN FICSOR FILE STATUS FISTAT-FICSOR.
           DATA DIVISION.
           FILE SECTION.
           FD  FICSOR
               RECORDING F
               BLOCK 0
               RECORD 2100
               LABEL RECORDS STANDARD.
           01  WFICSOR.
               05  FILLER                   PIC X(2515).
          *
          ******************************************************************
           WORKING-STORAGE  SECTION.
          ******************************************************************
          *    * Modif - 18002020
             01  U-Z16.
               05  U-ZYWB-CACADR           PIC X(003) VALUE SPACES.
               05  U-ZYWB-CABONU           PIC X(002) VALUE SPACES.

  11. #11
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    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 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    recompiler et relancer

  12. #12
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    ça change rien voilà la résultat que je trouve :

    Z18
    €
    " "
    0
    0
    @
    
    0
    P
    @
    0
    0
    
    P
    @
    p
    
    @
    €
    0
    @


    rien que s'affiche

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Les variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        05  H-ZYSR-MONTAN           PIC S9(11)V9(2) COMP-3.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    * Taux horaire formation
                05  W-Z18                  PIC S9(11)V9(2) COMP-3.
                05  FILLER                 PIC X(001) VALUE ';'.
    comment je doit déclaré mes variables , voila le programme après déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     ALIM-WZ18 SECTION.
                     MOVE Z-ZYSR-NOMBRE TO IZYSR.
                     MOVE ZERO TO H-ZYSR-MONTAN.
    
                  IF Z-ZYSR-NOMBRE > ZERO
                     PERFORM VARYING IZYSR FROM Z-ZYSR-NOMBRE BY -1 UNTIL
                                     IZYSR = ZERO
                        IF Z-ZYSR-CODRUB(IZYSR) = 'THF'
                           MOVE Z-ZYSR-MONTAN(IZYSR) TO
                                H-ZYSR-MONTAN
    
                           MOVE ZERO TO IZYSR
                        END-IF
                     END-PERFORM
                       MOVE H-ZYSR-MONTAN TO W-Z18
                       END-IF.
    Mes données de base sont les données de cette rubrique Z-ZYSR-MONTAN(IZYSR) qui sont de la format numérique condensé :
    MONTAN NOT NULL NUMBER(11,2)


    C'est quoi la bonne type que je dois donné a mes variables pour avoir la bonne résultat ?

  14. #14
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Vous avez une idée comment faire?

    doc qui explique mieux
    Fichiers attachés Fichiers attachés

  15. #15
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    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 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Pour obtenir le symbole virgule "," dans le résultat en sortie, il ne faut pas utiliser un type de données numérique mais une picture d'édition.
    Les types numériques n'ont qu'une virgule Virtuelle représentée par le V dans la clause PICTURE.

    Voici ce que vous devez faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    01  FILLER.
        02 MA-VARIABLE-PACKEE   PIC S9(11)V99   VALUE +0.
    
    01  WS-FICHIER-CSV.
        02 MA-VARIABLE-EDITION  PIC -9(11),99.
        02 FILLER               PIC X   VALUE ';'.
    [...]
    MOVE   MA-COLONNE-BDD      TO  MA-VARIABLE-PACKEE
    MOVE   MA-VARIABLE-PACKEE  TO  MA-VARIABLE-EDITION
    WRITE  MON-FICHIER-CSV  FROM  WS-FICHIER-CSV
    .

  16. #16
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Bonjour ,
    Je reviens sur le forum car j'ai résolu une partie de problème avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    05  H-ZYSR-MONTAN           PIC S9(11)V9(2) COMP-3.
    
    * Taux horaire formation
                05  W-Z18                  PIC -(12),99.
                05  FILLER                 PIC X(001) VALUE ';'.
    
    * Alimentation W-Z18 Taux horaire formation
          *         * Modif - 18001548
          * Non utilisé pour le moment
           ALIM-WZ18 SECTION.
                     MOVE Z-ZYSR-NOMBRE TO IZYSR.
                     MOVE ZERO TO H-ZYSR-MONTAN.
    
                  IF Z-ZYSR-NOMBRE > ZERO
                     PERFORM VARYING IZYSR FROM Z-ZYSR-NOMBRE BY -1 UNTIL
                                     IZYSR = ZERO
                        IF Z-ZYSR-CODRUB(IZYSR) = 'THF'
                           MOVE Z-ZYSR-MONTAN(IZYSR) TO
                                H-ZYSR-MONTAN
                           MOVE ZERO TO IZYSR
                        END-IF
                     END-PERFORM
                       IF H-ZYSR-MONTAN < 0
                      MOVE 0 TO W-Z18
                       END-IF
                      IF H-ZYSR-MONTAN >= 0
                      MOVE H-ZYSR-MONTAN TO W-Z18
                       END-IF
                       END-IF.
    le problème maintenant que dans mon fichier de sortie csv ? j'ai obtient des espaces avant les valeurs comme montre la figure ci_dessous :

    Nom : exemple.JPG
Affichages : 2031
Taille : 54,3 Ko

    Je pense que l'espace est du au faite que mon variable est de longueur 11 avec 2 valeurs après virgule. Donc comment je fais pour que il n'affiche pas les espaces par devant ?

    Merci

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 765
    Points : 10 748
    Points
    10 748
    Par défaut
    En fait dans ton fichier de sortie c'est la taille de la zone qui détermine la place qu'elle occupe. Ou alors il faut "jouer" avec une grosse zone et dedans concaténer tes variables avec suppressions des blancs (instruction string delimited by ' ').

  18. #18
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Bonjour ,
    C'est à dire dans la déclaration de variable j'ajoute string delimited by ? je n'ai pas bien compris

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 765
    Points : 10 748
    Points
    10 748
    Par défaut
    Non, ton fichier contiendra une seule zone. Et pour alimenter avec tes variables dans cette zone tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String "VAR1" delimited by SPACE
              ";" delimited by size
             "VAR2" delimited by SPACE
              ";" delimited by size   
    ...
             "VARn" delimited by SPACE
              ";" delimited by size   
    into variable-fichier

  20. #20
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Si je m'adapte a mon code c'est un peu ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
                 05  H-ZYSR-MONTAN           PIC S9(11)V9(2) COMP-3.
     
    * Taux horaire formation
                05  W-Z18                 PIC -(12),99.
                05  FILLER                 PIC X(001) VALUE ';'.
    
     
                  ALIM-WZ18 SECTION.
                     MOVE Z-ZYSR-NOMBRE TO IZYSR.
                     MOVE ZERO TO H-ZYSR-MONTAN.
    
                      String "H-ZYSR-MONTAN" delimited by SPACE
                      ";" delimited by size
                      into W-Z18
    
                  IF Z-ZYSR-NOMBRE > ZERO
                     PERFORM VARYING IZYSR FROM Z-ZYSR-NOMBRE BY -1 UNTIL
                                     IZYSR = ZERO
                        IF Z-ZYSR-CODRUB(IZYSR) = 'THF'
                           MOVE Z-ZYSR-MONTAN(IZYSR) TO
                                H-ZYSR-MONTAN
                           MOVE ZERO TO IZYSR
                        END-IF
                     END-PERFORM
                       IF H-ZYSR-MONTAN < 0
                      MOVE 0 TO W-Z18 
                       END-IF
                      IF H-ZYSR-MONTAN >= 0
                      MOVE H-ZYSR-MONTAN TO W-Z18 
                       END-IF
                       END-IF.
    j'ai essayé avec ça j'ai un message d'erreur :
    INTO W-Z18
    * 626-S********************* ( 0)**
    ** Edited field not allowed

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Conversion numérique signé de cobol en java
    Par jmmaugis dans le forum Cobol
    Réponses: 8
    Dernier message: 02/05/2013, 22h14
  2. [z/OS] Correspondance formats numériques COBOL / PL/1
    Par Pico----- dans le forum Cobol
    Réponses: 2
    Dernier message: 23/08/2011, 11h56
  3. Réponses: 33
    Dernier message: 01/07/2011, 10h32
  4. [Delphi 6] EditBox -> valeurs numériques ?
    Par JBrek dans le forum Composants VCL
    Réponses: 9
    Dernier message: 02/12/2002, 13h08

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