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ébutant] File status 92


Sujet :

Cobol

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut [Débutant] File status 92
    Bonjour,

    j'apprends le COBOL pour l'instant, et j'ai du mal avec ce simple 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    IDENTIFICATION DIVISION.
     PROGRAM-ID. try.
     ENVIRONMENT DIVISION.
        INPUT-OUTPUT SECTION.
        FILE-CONTROL.
           SELECT Employee-data 
                  ASSIGN TO "emp-dat.txt".
           SELECT Payroll-listing ASSIGN TO payroll.
           
     DATA DIVISION.   
        FILE SECTION.
        FD Employee-data LABEL RECORDS ARE STANDARD.
        01 Employee-record.
           05 Employee-name-in        PIC X(20).
           05 Hours-worked-in         PIC 9(2).
           05 Hourly-rate-in          PIC 9V99.
           
        
        FD Payroll-listing LABEL RECORDS ARE OMITTED.
        01 Print-rec.
           05                         PIC X(20).
           05 Name-out                PIC X(20).
           05                         PIC X(10).
           05 Hours-out               PIC 9(2).
           05                         PIC X(8).
           05 Rate-out                PIC 9.99.
           05                         PIC X(6).
           05 Weekly-wages-out        PIC 999.99.
           
        WORKING-STORAGE SECTION.
        01 Are-there-more-records     PIC XXX VALUE 'YES'.
     
     PROCEDURE DIVISION.
     100-Main-module.
         OPEN INPUT Employee-data
              OUTPUT Payroll-listing
         
         PERFORM UNTIL Are-there-more-records = 'no '
             READ Employee-data
                 AT END
                     MOVE 'no ' TO Are-there-more-records
                 NOT AT END
                     PERFORM 200-Wage-routine
             END-READ
         END-PERFORM      
        
         CLOSE Employee-data
               Payroll-listing
        
         STOP RUN.
         
     200-Wage-routine.
         MOVE SPACES TO Print-rec
         MOVE Employee-name-in TO Name-out
         MOVE Hours-worked-in TO Hours-out
         MOVE Hourly-rate-in TO Rate-out
         MULTIPLY Hours-worked-in BY Hourly-rate-in
                  GIVING Weekly-wages-out
         WRITE Print-rec.
    qui me retourne un file status 92 à la ligne "OPEN INPUT Employee-data".

    Je ne comprends pas, une erreur 92 sur un open signifierait que j'ouvre un fichier déjà ouvert. Or c'est bien la première fois que je l'ouvre!!

    Avez-vous un idée de ce que ça pourrait être?

    Merci d'avance,

    Laurent.

  2. #2
    Membre régulier
    Homme Profil pro
    Application Developer (IBM i/MS-SQL)
    Inscrit en
    Janvier 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Application Developer (IBM i/MS-SQL)
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 90
    Points : 124
    Points
    124
    Par défaut status 92
    Bonjour lexsteens,

    Je débute aussi en Cobol.

    Status 92 signifierait logic error.
    J'aurais précisé SEQUENTIAL en ORGANIZATION et ACCESS MODE.
    Mais peut-être que par défaut ça passe sans ces précisions ?

    As-tu vérifier la structure de ton fichier .txt par rapport à ce que tu déclares en 05 ?

    Cordialement.
    DevDX.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut résolu!
    Le problème ne venait pas de la ligne ou j'ouvrais le fichier emp-dat.txt, mais de la ligne où j'ouvrais payroll (en output). Je n'avais pas créé le fichier payroll, et je pensais que le système allait le faire de lui-même, et aussi que COBOL avait bien identifié que l'erreur venait d'une opération sur le fichier emp-dat.txt.

    C'est en écrivant en 2 fois l'instruction OPEN que j'ai remarqué que l'erreur portait sur l'ouverture en output du fichier payroll. Il suffisait de créer un fichier payroll vide pour que ça marche!

    DevDX >> j'avais un fichier vide à la base, donc il ne devait y avoir aucune erreur de ce côté là. Et je pense que le fait de ne pas respecter la structure définie aurait conduit à un autre type d'erreur. D'ailleurs je l'ai fait plus tard, et le programme ne fait aucune erreur, mais ne rempli pas mon fichier payroll.

  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
    @ lexsteens !

    C'est quoi ton compilateur ?

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

Discussions similaires

  1. file status 39
    Par lolo_44 dans le forum Cobol
    Réponses: 2
    Dernier message: 31/01/2013, 09h58
  2. [AJAX] xhr.status vaut 0 et pas 200
    Par sebatlante dans le forum AJAX
    Réponses: 1
    Dernier message: 22/04/2010, 09h36
  3. [Lv 8.6 (Anglais) +/- Débutant] File Dialog
    Par Pikxee dans le forum LabVIEW
    Réponses: 3
    Dernier message: 16/02/2010, 18h56
  4. Réponses: 1
    Dernier message: 10/08/2009, 07h43
  5. [Débutant][JNDI] Erreur "bad class file"
    Par giffle dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/01/2005, 10h23

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