RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Aide

Forum : COBOL
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ COBOL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM COBOL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
david2006
Nouveau membre
Inscrit : 08/01/2007
Messages : 7
Message
#120325
Posté le 08/01/07 à 12:02
Bonjour,

Je travaille sur un fichiers en COBOL séquentiels index avec des enregistrements de taille faixe. l'environement utilisé UNIX.

ca fait 2 jour que je suis bloquer pouriez vous m'aide.

Merci de votre participation.

voici mon programme:


IDENTIFICATION DIVISION.
PROGRAM-ID. exo3.
*************************************************************
***
**** EX05 ***
**** ***
**************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. UNIX.
OBJECT-COMPUTER. UNIX.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
COPY "ftabfic.sel".
SELECT FICMF ASSIGN TO "ficmf.txt"
ORGANIZATION SEQUENTIAL
ACCESS SEQUENTIAL
FILE STATUS WSTAT-FICMF.

***********************************************************
DATA DIVISION.
FILE SECTION.
COPY "ftabfic.fd".

FD FICMF LABEL RECORD STANDARD
DATA RECORD ENREG-FICMF.

01 ENREG-FICMF.
03 T-CLE.
05 T-NOM PIC X(30).
05 T-PRENOM PIC X(30).
05 T-SEX PIC X.

***********************************************************
WORKING-STORAGE SECTION.

* compters divers
77 WOK PIC X.
77 WUOK PIC X.
77 TOUCHE-FON PIC X.
77 F-6 PIC X.
77 F-2 PIC X.
77 F-3 PIC X.
77 NOM-PRODUIT PIC X(13).
77 WW-SAUV3 PIC X(10).
77 W-WINDMAG PIC X(10).
77 SEXCHOISI PIC X.
77 W-I PIC 99.
77 N-NBM PIC 99.
77 N-NBF PIC 99.
77 SEX-LU PIC X.
77 TOTALE PIC 999.
77 L-J PIC 99.
77 L-I PIC 99.
77 CPT PIC 99.
77 NOM-SAISIE PIC X(30).
77 PRENOM-SAISIE PIC X(30).
77 SEX-SAISIE PIC X.
77 NOM PIC X(30).
77 PRENOM PIC X(30).
77 SEX PIC X.
* gestion fin fichier FICMF.
01 WFF-FICMF-NOK PIC 9.
88 WFF-FICMF-OK VALUE 1.

01 FF-FICMF-NOK PIC 9.
88 FF-FICMF-OK VALUE 1.

01 F6-NOK PIC 9.
88 F6-OK VALUE 1.

01 SAISIE-CORRECTE-NOK PIC 9.
88 SAISIE-CORRECTE-OK VALUE 1.

01 FINTRT-NOK PIC 9.
88 FINTRT-OK VALUE 1.

01 W-FF-KO PIC 9.
88 W-FF-OK VALUE 1.

* zone code retour statut
77 WSTAT-FICMF PIC X(2).
*************************************************************
COPY "w01tab1.wss".
COPY "nomfic.wss".
************************************************************
PROCEDURE DIVISION USING ZON-LINK.
DECLARATIVES.
COPY "ftabfic.dec".
DECFICMF SECTION.
USE AFTER STANDARD ERROR PROCEDURE ON FICMF.
DECFICMF-10.
IF WSTAT = "00" OR
WSTAT = "02" OR
WSTAT = "05" OR
WSTAT = "10" OR
WSTAT = "22" OR
WSTAT = "23" OR
WSTAT = "35"
GO TO F-DECFICMF-10.
*
MOVE "ficmf.isa" TO WFICH.
MOVE NOMFIC11 TO WFICHERR.
MOVE 1 TO WTYPERR.
CALL "geserr.cob" USING WSERR.
IF WSTAT = "99"
MOVE 2 TO WTYPERR
GO TO F-DECFICMF-10.
*
STOP RUN.
*
F-DECFICMF-10.
EXIT.

END DECLARATIVES.
**********************************************************

DEBUT SECTION.
DEBPROG.
*en cas d'erreur d'execution de programme.
MOVE "exercice" TO WPROG.
MOVE ZON-LINK TO WZONLINK.
COPY "inifor.prg".
COPY "chgtab.prg".

***********************************************************

INITPROG.
*ouverture de fichier
* OPEN INPUT FICMF

PERFORM AFFDEB.
MOVE 0 TO W-I
FINTRT-NOK.
*trait1.
PERFORM UNTIL FINTRT-OK
DISPLAY SPACES LINE 24 POS 1 SIZE 80
DISPLAY "F1=masculin" LINE 24 POSITION 05 REVERSE
DISPLAY "F2=feminin" LINE 24 POSITION 18 REVERSE
DISPLAY "F3=nbmf" LINE 24 POSITION 30 REVERSE
DISPLAY "F4=compt-rondu" LINE 24 POSITION 45 REVERSE
DISPLAY "F6=quiter" LINE 24 POSITION 60 REVERSE

MOVE 0 TO W-I
MOVE SPACE TO WCAR
MOVE SPACE TO WESC
MOVE SPACE TO WOK
ACCEPT WOK LINE 24 POSITION 79
PROMPT ECHO UPDATE
ON EXCEPTION WESC
MOVE WESC TO WCAR
END-ACCEPT

EVALUATE RCAR
WHEN CARTTT (02)
DISPLAY SPACES LINE 5 POS 1 SIZE 80
DISPLAY SPACES LINE 6 POS 1 SIZE 80
DISPLAY SPACES LINE 7 POS 1 SIZE 80
DISPLAY SPACES LINE 8 POS 1 SIZE 80
DISPLAY SPACES LINE 9 POS 1 SIZE 80
DISPLAY SPACES LINE 10 POS 1 SIZE 80
* PERFORM EFFACER-ECR THRU F-EFFACER-ECR
OPEN INPUT FICMF
DISPLAY "LE NOMBRE TOTAL MASCULIN"
LINE 4 POSITION 2 REVERSE
MOVE 'M' TO SEXCHOISI
PERFORM TRT-F1 THRU F-TRT-F1
* MOVE 0 TO FINTRT-NOK
MOVE 0 TO WFF-FICMF-NOK
CLOSE FICMF
WHEN CARTTT (03)
* PERFORM EFFACER-ECR THRU F-EFFACER-ECR
DISPLAY SPACES LINE 4 POS 1 SIZE 80
DISPLAY SPACES LINE 5 POS 1 SIZE 80
DISPLAY SPACES LINE 6 POS 1 SIZE 80
DISPLAY SPACES LINE 7 POS 1 SIZE 80
DISPLAY SPACES LINE 8 POS 1 SIZE 80
DISPLAY SPACES LINE 9 POS 1 SIZE 80
DISPLAY SPACES LINE 10 POS 1 SIZE 80
OPEN INPUT FICMF
DISPLAY "LE NOMBRE TOTAL FEMININ"
LINE 4 POSITION 2 REVERSE
MOVE 'F' TO SEXCHOISI
PERFORM TRT-F1 THRU F-TRT-F1
MOVE 0 TO WFF-FICMF-NOK
* FINTRT-NOK
CLOSE FICMF
WHEN CARTTT (04)
* PERFORM EFFACER-ECR THRU F-EFFACER-ECR
DISPLAY SPACES LINE 4 POS 1 SIZE 80
DISPLAY SPACES LINE 4 POS 1 SIZE 80
DISPLAY SPACES LINE 5 POS 1 SIZE 80
DISPLAY SPACES LINE 6 POS 1 SIZE 80
DISPLAY SPACES LINE 7 POS 1 SIZE 80
DISPLAY SPACES LINE 8 POS 1 SIZE 80
DISPLAY SPACES LINE 9 POS 1 SIZE 80
DISPLAY SPACES LINE 10 POS 1 SIZE 80
OPEN INPUT FICMF
DISPLAY "LE NOMBRE TOTAL DES PERSONNES:"
LINE 4 POSITION 4 REVERSE
PERFORM TRT-F3 THRU F-TRT-F3
MOVE 0 TO FF-FICMF-NOK
CLOSE FICMF
WHEN CARTTT (05)
* OPEN INPUT FICMF
PERFORM TRT-F4 THRU F-TRT-F4
* CLOSE FICMF
WHEN CARTTT (07)
SET FINTRT-OK TO TRUE
END-EVALUATE
END-PERFORM.
EXIT PROGRAM.
************************************************************
*traitement toutche fonction F1(afficher la liste masc et femin)
*************************************************************
TRT-F1.
PERFORM UNTIL WFF-FICMF-OK

READ FICMF NEXT AT END
SET WFF-FICMF-OK TO TRUE
END-READ

IF T-SEX = SEXCHOISI
* DISPLAY SEXCHOISI REVERSE
DISPLAY ENREG-FICMF
ADD 1 TO TOTALE
END-IF

END-PERFORM
* SET WFF-FICMF-OK TO 1.
MOVE 1 TO WFF-FICMF-NOK.
F-TRT-F1.
EXIT.
***************************************************
*****************traitement de fonction F3*********
**************afficher nbm ou nbf******************i

TRT-F3.
MOVE 0 TO N-NBM
MOVE 0 TO N-NBF
PERFORM UNTIL FF-FICMF-OK OR FINTRT-OK

READ FICMF NEXT AT END
SET FF-FICMF-OK TO TRUE
END-READ

IF T-SEX = 'M'
ADD 1 TO N-NBM
ELSE
ADD 1 TO N-NBF
END-IF
END-PERFORM.
DISPLAY " masculin:"
N-NBM LINE 6 POS 9

DISPLAY " feminin:"
N-NBF LINE 8 POS 9.
MOVE 1 TO FF-FICMF-NOK.
F-TRT-F3.
EXIT.
****************************************************
*****saisir le nom,prenom et le sex ensuite comparer
*****les enreg-lu et enreg-saisie
****************************************************
TRT-F4.
DISPLAY NOM LINE 6 POS 2
DISPLAY PRENOM LINE 6 POS 2
DISPLAY SEX LINE 6 POS 2

DISPLAY "F8 = validation" LINE 6 POS 2
DISPLAY "F = quitter" LINE 6 POS 2

*********initialisation des variable************
* MOVE 0 TO SAISIE-CORRECTE

*****************************************
PERFORM UNTIL SAISIE-CORRECTE-OK

ACCEPT NOM-SAISIE LINE 6 POS 2
ACCEPT PRENOM-SAISIE LINE 7 POS 2
ACCEPT SEX-SAISIE LINE 8 POS 2

MOVE SPACE TO WCAR

ACCEPT WOK LINE 24 POSITION 79
PROMPT ECHO UPDATE
ON EXCEPTION WESC
MOVE WESC TO WCAR
END-ACCEPT

EVALUATE RCAR

WHEN CARTTT(08)
IF SEX ='M' OR SEX = 'F'
OPEN INPUT FICMF
* PERFOM POS-ZONE THRU F-POS-ZONE
MOVE 0 TO W-FF
PERFORM UNTIL W-FF-OK
READ FICMF NEXT AT END
SET W-FF-OK TO TRUE
END-READ

IF T-SEX = SEX-SAISIE AND
T-NOM = NOM-SAISIE AND
T-PRENOM = PRENOM-SAISIE
END-IF
SET W-FF-OK TO TRUE
CLOSE FICMF
END-PERFORM
OPEN INPUT FICMF
MOVE NOM-SAISIE TO T-NOM
MOVE PRENOM-SAISIE TO T-PRENOM
MOVE SEX-SAISIE TO T-SEX
WRITE ENREG-FICMF
END-WRITE
CLOSE FICMF
SET SAISIE-CORRECTE-OK TO TRUE
ELSE
SET SAISIE-CORRECTE-OK TO TRUE
END-IF
WHEN CARTTT(07)
SET SAISIE-CORRECTE-OK TO TRUE
* MOVE 1 TO SAISIE-CORRECTE-OK
END-EVALUATE
END-PERFORM.
F-TRT-F4.
EXIT.
***************************************************
***************positiott de zone*******************
***************************************************
POS-ZONE.
* OPEN OUTPUT FICMF
* MOVE LOW-VALUE TO T-CLE
* START FICMF KEY IS NOT LESS THAN T-CLE
* INVALID
* DISPLAY "INVALIDE" LINE 2 POS 2
* END-START.
F-POS-ZONE.
EXIT.
**************************************************
**********effacer les enregistrements de l'ecran**
**************************************************

* EFFACER-ECR.
* MOVE 5 TO CPT
* PERFORM UNTIL CPT > 11

* DISPLAY SPACES LINE(CPT) POSITION 01 SIZE 80
* END-PERFORM.
* DISPLAY SPACES LINE 4 POS 1 SIZE 80
* DISPLAY SPACES LINE 5 POS 1 SIZE 80
* DISPLAY SPACES LINE 6 POS 1 SIZE 80
* DISPLAY SPACES LINE 7 POS 1 SIZE 80
* DISPLAY SPACES LINE 8 POS 1 SIZE 80
* DISPLAY SPACES LINE 9 POS 1 SIZE 80
* DISPLAY SPACES LINE 10 POS 1 SIZE 80
* F-EFFACER-ECR.
* EXIT.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#120452
Posté le 09/01/07 à 14:06
Smiley Salut l'ami,

JE ME REPETE POUR LA NIEME FOIS !!!!

Plus de renseignements tu donnera sur ton problème ou ton plantage, plus vite tu aura réponse, petit Scarabé.

Ton programme est censé faire quoi ?
Quel symptôme a ton programme ?
As tu localisé la s&quence de code qui pose problème ?
Il faut être bref mais clair

Eclaire la modeste lumière des lecteurs !!!!
Ils n'ont peut être pas envie ou le temps d'étudiés chaque ligne de code.


HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 


    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.