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. #21
    Expert éminent
    Il te faut une variable alphanumérique (X(n)) dans laquelle tu "MOVE" ta zone éditée. Mais ce que tu n'as fait ne sert à rien, c'est la zone qui correspond à ton fichier global dans laquelle tu vois faire ta concaténation de champs séparés par les ";".

  2. #22
    Membre du Club
    J'ai testé de cette façon mais toujour error :
    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
       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
                      INSPECT  W-Z18 TALLYING
                      UNSTRING  W-Z18 (leading-spaces + 1:); DELIMITED SIZE
                  END-IF.
    dont j'ai déclaré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     * Taux horaire formation
                05  W-Z18                  PIC -(12),99.
                05  FILLER                 PIC X(001) VALUE ';'.
                05  leading-spaces         COMP PIC 9(4) VALUE 0.

    erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Compiling /appli/devs/txt/tmp/FDEDISAM.cbl
                      UNSTRING  W-Z18 (leading-spaces + 1:); DELIMITED SIZE
    *  12-S*******************                                             (   0)**
    **    Operand UNSTRING is not declared
    *  14-S****************************************************************( 526)**
    **    Invalid operand
    * Total Messages:     2
    * Unrecoverable :     0                    Severe  :     2

  3. #23
    Expert éminent
    Je te parle de l'instruction string et tu utilises l'instruction unstring dans ton programme ...

  4. #24
    Membre du Club
    j'ai utilisé STRING de meme façon au lieu de mettre USTRING j'ai mets STRING et j'ai eu la meme erreur

  5. #25
    Expert confirmé
    Citation Envoyé par ghazalinadou Voir le message
    j'ai utilisé STRING de meme façon au lieu de mettre USTRING j'ai mets STRING et j'ai eu la meme erreur
    Bonjour.
    Ton erreur sur le STRING (UNSTRING) vient du fait que l'instruction précédente INSPECT n'est pas terminée, son TALLING s'attend à une variable et il trouve UNSTRING.

  6. #26
    Membre du Club
    Donc ce cas comment je dois faire pour mon instruction finis ?

  7. #27
    Expert confirmé
    Bein, tu regardes dans une doc comment s'écrit correctement l'instruction INSPECT avec la clause TALLYING

  8. #28
    Membre du Club
    lol , jamais utiliser dans le programme INSPECT

  9. #29
    Expert éminent
    Savoir se plonger dans la doc IBM pour apprendre les instructions te sera utile plus tard, voire indispensable. Donc c'est l'occasion, d'autant plus si tu es étudiant.