Résultats de 1 à 4 sur 4

Sujet : Urgent!!!!!! Erreur 35

  1. #1
    Dans le programme suivant s\'affiche l\'erreur 35!
    Impossible de déterminer la cause.
    le prob c que en compilant simplement le fichier CONTRAT l\'enregistrement fonctionne, par contre dès son integration au prog principal PROJ7 le programme se compile mais il ne crée pa de fichier contrat.dat et affiche cette put... d\'erreur 35 . vs pourrez avoir l\'occasion de voir cette sympathique erreur qui me rend dingue .
    JE TIENS A REMERCIER CELUI QUI OSERA CE PENCHER SUR LE PROBLEME ...






    Code Source:


    Code:
    IDENTIFICATION DIVISION.
    program-id. Projet.
    *
    *--------------------------------------------------------*
    * AS Informatique        PROJET COBOL                    *
    * --------------------                                   *
    * V1.01 du 02/12/92                                      *
    *--------------------------------------------------------*
    *
    ENVIRONMENT DIVISION.
    CONFIGURATION SECTION.
    special-names.
        decimal-point is comma.
    *
    *-------------------
    INPUT-OUTPUT SECTION.
    *-------------------
    *
    file-control.
          select assure assign to \"assure.dat\"
    	organization indexed
    	access mode dynamic
    	record key assure-num
    	alternate record key nompr with duplicates
    	file status st-assure.
      
          select indexation assign to \"indexation.dat\"
    	organization indexed
    	access mode dynamic
    	record key date-indexation
    	file status st-indexation. 
    
    	SELECT CONT ASSIGN TO \"contrat.dat\"
    	ORGANIZATION INDEXED
    	ACCESS MODE DYNAMIC
    	RECORD KEY CD-CLEF
    	FILE STATUS ST-CONT.
    
    *
    *------------
    DATA DIVISION.
    *------------
    *
    *-----------
    FILE SECTION.
    *-----------
    *
    fd assure data record enr-assure.
    01 enr-assure.
    	02 assure-num		pic 9(6).
    
    	02 ident.
    		03 nompr	pic x(32).
    		03 num-rue	pic x(32).
    		03 compl	pic x(32).
    		03 cp		pic 9(5).
    		03 bur-dis	pic x(32).
    
    	02 dat_nais 	        pic 9(8).
    	02 id_banc.
    		03 nom-titu	pic x(24).
    		03 nom-bank	pic x(24).
    		03 code_eta	pic 9(5).
    		03 code-gui	pic 9(5).
    		03 num-com	pic x(11).
    		03 clef	pic 99.
    	
    	02 rang		        pic 99.
    
    
    
    
    FD CONT DATA RECORD ENR-CONT.
    01 ENR-CONT.
    	02 CD-CLEF PIC 99.
    	02 CD-CONT PIC 9(4).
    	02 CD-OPTIONS.
    		03 OPTION OCCURS 8.
    			04 CD-OPT PIC 9.
    			04 CD-RANG PIC 99.
    			04 CD-DAT PIC 9(8).
     
    
    
    fd indexation data record enr-indexation.
    01 enr-indexation.
    	
    	02 date-indexation	pic 9(4).
    	02 valeur		pic 9(5).
    
    
    
    *
    *----------------------
    WORKING-STORAGE SECTION.
    *----------------------
    
    
    77 ws-assure-num 	pic 9(6).
    77 ws-assure-nom	pic x(32)	value space.
    77 ws-indexation-date	pic 9(4).	
    77 choix	        pic 99      	value 0.
    77 st-assure	        pic xx.
    77 st-indexation	pic xx.
    77 erreur               pic 9      	value 0.
    77 valid                pic x      	value space.
    77 fin-fichier		pic xxxx	value space.
    
    77 ST-CONT 		PIC XX.
    77 NUM-ADVE 		PIC 9(8).
    77 NUM-OPT 		PIC 9.
    77 PAUSE 		PIC 9 		VALUE 0.
    77 WS-CLEF 		PIC 9(8).
    77 WS-NUM-VERSION 	PIC 99.
    
    
    
    77 date1 		pic 9(4).
    77 date2		pic 9(4).
    77 i			pic 99.
    77 j			pic 99.
    
    
    
    
    *
    *-------------
    SCREEN SECTION.
    *-------------
    
    01 BLANC.
        02 BLANK SCREEN.
    
    01 CADRE.
    	02 filler pic x(70) from
        	\"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\"
            line 2 col 5 color 8 high.
        	02 filler pic x(1) from \"³\"                           line 3 col 5 color 8 high.
        	02 filler pic x(1) from \"³\"                           line 3 col 74 color 8 high.
        	02 filler pic x(68) from
           \"I.U.T.        CALCUL DE PRIMES D\'ASSURANCE          PROJET COBOL\"
            line 3 col 6 output centered color 12.
        	02 filler pic x(70) from
        	\"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\"
    		line 4 col 5 color 8 high.
    
    
    
    
    
    01 MENU.
    	02 filler pic x(40) from \"FICHIER ASSURE\"              		line 6 col 3 color 12.
        	02 filler pic x(40) from \"01- CHARGEMENT D\'UN ASSURE\"          	line 7 col 3.
        	02 filler pic x(40) from \"02- MODIFICATION D\'UN ASSURE\"   	line 8 col 3.
        	02 filler pic x(40) from \"03- SUPPRESSION D\'UN ASSURE\"          line 9 col 3.
    	02 filler pic x(40) from \"04- RECHERCHE D\'UN ASSURE\"		line 10 col 3.
        	02 filler pic x(40) from \"FICHIER CONTRAT\"                     	line 12 col 3 color 12.
        	02 filler pic x(40) from \"05- CHARGEMENT D\'UN CONTRAT\"          line 13 col 3.
        	02 filler pic x(40) from \"06- MODIFICATION D\'UN CONTRAT\"        line 14 col 3.
        	02 filler pic x(40) from \"07- SUPPRESSION D\'UN CONTRAT\"         line 15 col 3.
    	02 filler pic x(40) from \"FICHIER INDEXATION\"                   line 17 col 3 color 12.
        	02 filler pic x(40) from \"08- CHARGEMENT DU FICHIER\"		line 18 col 3.
    	02 filler pic x(40) from \"09- MODIFICATION DU FICHIER\"		line 19 col 3.
    	02 filler pic x(40) from \"10- LISTE DU FICHIER\"			line 20 col 3.
    	02 filler pic x(40) from \"00- FIN\"                              line 22 col 3 color 5 high.
        	02 filler pic x(40) from \"<  > <-REPONSE\"                       line 24 col 3.
     
    
    
    01 MASQ1.
    	02 FILLER PIC X(40) FROM \"NUMERO ADHERENT     :\"  LINE 6 COL 1.
    	02 FILLER PIC X(40) FROM \"IDENTITE             \"  LINE 8 COL 1 color 12.
    	02 FILLER PIC X(40) FROM \"NOM PRENOM          :\"  LINE 9 COL 1.
    	02 FILLER PIC X(40) FROM \"NUMERO ET RUE       :\"  LINE 10 COL 1.
    	02 FILLER PIC X(40) FROM \"COMPLEMENT          :\"  LINE 11 COL 1.
    	02 FILLER PIC X(40) FROM \"CODE POSTAL         :\"  LINE 12 COL 1.
    	02 FILLER PIC X(40) FROM \"BUREAU DISTRIBUTEUR :\"  LINE 13 COL 1.
    	02 FILLER PIC X(40) FROM \"DATE NAISSANCE      :\"  LINE 15 COL 1.
    	02 FILLER PIC X(40) FROM \"IDENTITE BANCAIRE    \"  LINE 17 COL 1 color 12.
    	02 FILLER PIC X(40) FROM \"NOM TITULAIRE       :\"  LINE 18 COL 1.
    	02 FILLER PIC X(40) FROM \"NOM BANQUE          :\"  LINE 19 COL 1.
    	02 FILLER PIC X(40) FROM \"CODE ETABLISSEMENT  :\"  LINE 20 COL 1.
    	02 FILLER PIC X(40) FROM \"CODE GUICHET        :\"  LINE 21 COL 1.
    	02 FILLER PIC X(40) FROM \"NUMERO DE COMPTE    :\"  LINE 22 COL 1.
    	02 FILLER PIC X(40) FROM \"CLEF DE CONTROLE    :\"  LINE 23 COL 1.
    	02 FILLER PIC X(40) FROM \"RANG DE LA DERNIERE VERSION DU CONTRAT :\" LINE 25 COL 1. 
    
    01 MASQ2.
    	02 FILLER PIC X(32) TO    nompr                   LINE 9 COL 23.
    	02 FILLER PIC X(32) TO    num-rue                 LINE 10 COL 23.
    	02 FILLER PIC X(32) TO    compl                   LINE 11 COL 23.
    	02 FILLER PIC 9(5)  TO    cp                      LINE 12 COL 23.
    	02 FILLER PIC X(32) TO    bur-dis                 LINE 13 COL 23.
    	02 FILLER PIC 9(8)  TO    dat-nais                LINE 15 COL 23.
    	02 FILLER PIC X(24) TO    nom-titu                LINE 18 COL 23.
    	02 FILLER PIC X(24) TO    nom-bank                LINE 19 COL 23.
    	02 FILLER PIC 9(5)  TO    code-eta                LINE 20 COL 23.
    	02 FILLER PIC 9(5)  TO    code-gui                LINE 21 COL 23.
    	02 FILLER PIC X(11) TO    num-com                 LINE 22 COL 23.
    	02 FILLER PIC 99    TO    clef                    LINE 23 COL 23.
    	02 FILLER PIC 99    TO    rang                    LINE 25 COL 42.
    
    01 MASQ3.
    	02 FILLER PIC X(32) USING    nompr                LINE 9  COL 23.
    	02 FILLER PIC X(32) USING    num-rue              LINE 10 COL 23.
    	02 FILLER PIC X(32) USING    compl                LINE 11 COL 23.
    	02 FILLER PIC 9(5)  USING    cp                   LINE 12 COL 23.
    	02 FILLER PIC X(32) USING    bur-dis              LINE 13 COL 23.
    	02 FILLER PIC 9(8)  USING    dat-nais             LINE 15 COL 23.
    	02 FILLER PIC X(24) USING    nom-titu             LINE 18 COL 23.
    	02 FILLER PIC X(24) USING    nom-bank             LINE 19 COL 23.
    	02 FILLER PIC 9(5)  USING    code-eta             LINE 20 COL 23.
    	02 FILLER PIC 9(5)  USING    code-gui             LINE 21 COL 23.
    	02 FILLER PIC X(11) USING    num-com              LINE 22 COL 23.
    	02 FILLER PIC 99    USING    clef                 LINE 23 COL 23.
    	02 FILLER PIC 99    USING    rang                 LINE 25 COL 42.
    
    
    01 MASQ-CONTRAT.
    	02 filler pic x(19) from \"numero assure     :\" line 6 col 1.
    	02 FILLER PIC X(23) FROM \"numero version contrat:\" LINE 7 COL 1.
    	02 FILLER PIC X(19) FROM \"CODE CONTRAT      :\" LINE 8 COL 1.
    	02 FILLER PIC X(19) FROM \"TABLE DES OPTIONS :\" LINE 9 COL 1 COLOR 12.
    	02 filler pic x(70) FROM \"ÚÄÚÄÄÄÄÄÄÄÄÄÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\" line 10 col 1 color 8 .
    	02 FILLER PIC X(12) FROM \"³ ³ OPTION  \" LINE 11 COL 1.
    	02 filler pic x(70) FROM \"ÚÄÚÄÄÄÄÄÄÄÄÄÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\" line 12 col 1 color 8 .
    	02 FILLER PIC X(70) FROM \"³ ³ DECES   ³                    ³               ³\" LINE 13 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ IJ-RI   ³                    ³               ³\" LINE 14 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ R-EDUC  ³                    ³               ³\" LINE 15 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ PP      ³                    ³               ³\" LINE 16 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ IPA     ³                    ³               ³\" LINE 17 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ RELAIS  ³                    ³               ³\" LINE 18 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ FR PROF ³                    ³               ³\" LINE 19 COL 1.
    	02 FILLER PIC X(70) FROM \"³ ³ R.CONJ  ³                    ³               ³\" LINE 20 COL 1.
    	02 filler pic x(70) FROM \"ÀÄÀÄÄÄÄÄÄÄÄÄÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\" line 21 col 1 color 8 .
    
    
    	02 FILLER PIC X(20) FROM \"³ RANG DE LA CLASSE \" LINE 11 COL 13.
    	02 FILLER PIC X(17) FROM \"³ DATE D\'EFFET  ³\" LINE 11 COL 34.
    
    
    
    01 MASQ-CONTRAT2.
    	02 FILLER PIC 9(7) USING CD-CONT LINE 5 COL 21.
    	02 FILLER PIC 9(1) USING CD-OPT(1) LINE 8 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (1) LINE 8 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (1) LINE 8 COL 41.
       	02 FILLER PIC 9(1) USING CD-OPT(2) LINE 9 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (2) LINE 9 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (2) LINE 9 COL 41.
          02 FILLER PIC 9(1) USING CD-OPT(3) LINE 10 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (3) LINE 10 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (3) LINE 10 COL 41.
          02 FILLER PIC 9(1) USING CD-OPT(4) LINE 11 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (4) LINE 11 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (4) LINE 11 COL 41.
          02 FILLER PIC 9(1) USING CD-OPT(5) LINE 12 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (5) LINE 12 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (5) LINE 12 COL 41.
          02 FILLER PIC 9(1) USING CD-OPT(6) LINE 13 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (6) LINE 13 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (6) LINE 13 COL 41.
          02 FILLER PIC 9(1) USING CD-OPT(7) LINE 14 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (7) LINE 14 COL  31.
          02 FILLER PIC 9(9) USING CD-DAT (7) LINE 14 COL 41.
        	02 FILLER PIC 9(1) USING CD-OPT(8) LINE 15 COL 21.
    	02 FILLER PIC 99 USING CD-RANG (8) LINE 15 COL  31.
    	02 FILLER PIC 9(9) USING CD-DAT (8) LINE 15 COL 41.
    
    01 MASQ-CONTRAT3.
    	02 FILLER PIC 9(7) to CD-CONT LINE 5 COL 21.
    	02 FILLER PIC 9(1) to CD-OPT(1) LINE 8 COL 21.
    	02 FILLER PIC 99 to CD-RANG (1) LINE 8 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (1) LINE 8 COL 41.
       	02 FILLER PIC 9(1) to CD-OPT(2) LINE 9 COL 21.
    	02 FILLER PIC 99 to CD-RANG (2) LINE 9 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (2) LINE 9 COL 41.
          02 FILLER PIC 9(1) to CD-OPT(3) LINE 10 COL 21.
    	02 FILLER PIC 99 to CD-RANG (3) LINE 10 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (3) LINE 10 COL 41.
          02 FILLER PIC 9(1) to CD-OPT(4) LINE 11 COL 21.
    	02 FILLER PIC 99 to CD-RANG (4) LINE 11 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (4) LINE 11 COL 41.
          02 FILLER PIC 9(1) to CD-OPT(5) LINE 12 COL 21.
    	02 FILLER PIC 99 to CD-RANG (5) LINE 12 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (5) LINE 12 COL 41.
          02 FILLER PIC 9(1) to CD-OPT(6) LINE 13 COL 21.
    	02 FILLER PIC 99 to CD-RANG (6) LINE 13 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (6) LINE 13 COL 41.
          02 FILLER PIC 9(1) to CD-OPT(7) LINE 14 COL 21.
    	02 FILLER PIC 99 to CD-RANG (7) LINE 14 COL  31.
          02 FILLER PIC 9(9) to CD-DAT (7) LINE 14 COL 41.
        	02 FILLER PIC 9(1) to CD-OPT(8) LINE 15 COL 21.
    	02 FILLER PIC 99 to CD-RANG (8) LINE 15 COL  31.
    	02 FILLER PIC 9(9) to CD-DAT (8) LINE 15 COL 41.
    
    01 MASQ-INDEXATION.
    	02 FILLER PIC X(56) FROM \"ANNEE DE DATE D\'EFFET		VALEUR ACTUELLE DE LA BASE\" line 7 col 8 color 8 high.
    	02 FILLER PIC X(56) FROM \"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\" line 8 col 8 color 8 high.
    
    01 MASQ-LECTURE-INDEXATION.
    	02 FILLER PIC 9(5) TO		VALEUR			  LINE 10 COL 51.
    
    01 MASQ-AFFICHAGE-INDEXATION.
    	02 FILLER PIC 9(5) USING	VALEUR			  LINE 10 COL 51.
    
    
    
    
    01 ERR-ECR.
        02 filler pic x(56) from \"Erreur d\'ecriture dans le fichier: la donnee existe deja\" line 1 col 1.
        02 filler pic x(38) from \"Appuyez sur une touche pour continuer\" line 2 col 1.
    
    
    
    
    
    01 ERR-OUV.
        02 filler pic x(34) from \"Erreur ouverture fichier-status : \" line 24 col 1.
        02 filler pic xx from st-assure line 24 col 36.
    
    01 MASQ-EFFACE.
        02 erase line  line 24 col 1.
    
    
    
    *-----------------
    PROCEDURE DIVISION.
    *-----------------
    *
    DECLARATIVES.
    *
    decl-err-fi section.
        use after standard error procedure on assure, indexation.
    
    
    
    END DECLARATIVES.
    *
    *-----
    debut.
    *-----
    *
         perform menu.
         move high-value to choix.
         perform saisi-choix until choix < 11.
         if choix = 0 stop run.
         if choix = 1 perform chargement.
         if choix = 2 perform modification.
         if choix = 3 perform suppression.
         if choix = 4 perform recherche.
         if choix = 5 perform chargement-contrat.
         if choix = 6 perform modification-contrat.
         if choix = 7 perform suppression-contrat.
         if choix = 8 perform chargement-indexation.
         if choix = 9 perform modification-indexation.
         if choix = 10 perform liste-indexation.
         go to debut.
    saisi-choix.
          accept choix line 24 col 4 convert auto.
    
    menu.
          display blanc.
    	display cadre.
          display menu.
    
    
    *
    *----------------------------------------------------
    * CHARGEMENT d\'enregistrements dans le fichier assure
    *----------------------------------------------------
    *
    grille.
        	display blanc.
    	display cadre.
        	display masq1.
    
    
    chargement.
        open i-o assure.
        if st-assure not = \"00\" open output assure.
        perform grille.
        move high-value to ws-assure-num.
        perform chargt until ws-assure-num = 0.
        close assure.
    
    chargt.
        perform chargt-num.
        if ws-assure-num > 0 perform chargt-reste,
                      move ws-assure-num to assure-num,
                      write enr-assure invalid perform err-ecriture.
    
    chargt-num.
        accept ws-assure-num at line 6 col 23 convert auto prompt.
    
    chargt-reste.
        accept masq2.
    
    
    
    *
    *-------------------------------------------------
    * MODIFICATION d\'enregistrements du fichier assure
    *-------------------------------------------------
    *
    modification.
        open i-o assure.
        if st-assure not = \"00\" display err-ouv,
                                accept erreur,
                                display masq-efface.
        if st-assure = \"00\"
                                perform grille,
                                move 999999 to ws-assure-num,
                                perform modif until ws-assure-num = 0,
                                close assure.
    modif.
        perform saisi-num.
        if ws-assure-num > 0 move ws-assure-num to assure-num,
                             perform lect-fi.
        if ws-assure-num > 0 and st-assure = \"00\"
                             move ws-assure-num to assure-num,
                             display masq3,
                             perform saisi-modif,
                             rewrite enr-assure.
    saisi-modif.
        accept masq3.
    saisi-num.
        accept ws-assure-num at line 6 col 23 convert auto prompt.
    
    
    
    
    
    *
    *--------------------------------------------------
    * suppression d\'enregistrement(s) du fichier assure
    *--------------------------------------------------
    *
    suppression.
    
        open i-o assure.
        if st-assure not = \"00\" display err-ouv,
                                accept erreur,
                                display blanc.
        if st-assure = \"00\"
                             perform grille,
                             move 999999 to ws-assure-num,
                             perform supfi until ws-assure-num = 0,
                             close assure.
    
    supfi.
        perform saisi-num.
        if ws-assure-num > 0 move ws-assure-num to assure-num,
                             perform lect-fi.
        if ws-assure-num > 0 and st-assure = \"00\"
                             move ws-assure-num to assure-num,
                             perform affich,
                             perform suppress.
                             move space to valid.
    
    suppress.
        perform saisi-valid until valid = \"O\" or = \"N\".
        if valid = \"O\" delete assure.
    
    saisi-valid.
        display \"Confirmez-vous cette suppression (O/N) -->\" at line 25 col 1.
        accept valid at line 25 col 44 auto.
    
    
    lect-fi.
        move \"00\" to st-assure.
        read assure.
    
    affich.
        display masq3.
    
    *
    *-----------------------------------------------------
    * recherche d\'un assure dans le fichier contrat
    *-----------------------------------------------------
    *
    recherche.
    	
    	display blanc.
    	display cadre.
    	display \"1- RECHERCHE PAR NOM\" line 6 col 1.
    	display \"2- RECHERCHE PAR NUMERO\" line 7 col 1.   
    	move 0 to choix.
    	accept choix at line 8 col 1 convert auto prompt.
     	
    	if choix = 1 perform nom.
    	if choix = 2 perform numero.
    
    nom.
        	open input assure.
    	perform grille
    	move \'a\' to ws-assure-nom.
    	perform affi2 until ws-assure-nom = spaces.
    affi2.
    	accept ws-assure-nom at line 9 col 23 convert auto prompt.
    	move ws-assure-nom to nompr.
    	move \"00\" to st-assure.
    	
            start assure, key=nompr,
    		read assure,
    		move ws-assure-nom to nompr,
    		display masq3.
    	close assure.
    	
    
    
    
    numero.
        	open input assure.
        	if st-assure not = \"00\" display err-ouv,
                                accept erreur,
                                display masq-efface.
        	if st-assure = \"00\"
                                perform grille,
                                move 999999 to ws-assure-num,
                                perform affi until ws-assure-num = 0,
                                close assure.
    affi.
        	accept ws-assure-num at line 6 col 23 convert auto prompt.
        	if ws-assure-num > 0 move ws-assure-num to assure-num,
                             perform lect-fi.
        	if ws-assure-num > 0 and st-assure = \"00\"
                             move ws-assure-num to assure-num,
                             display masq3.
    
        
    
    	
    
    
    
    
    
    
    
    
    
    *
    *-----------------------------------------------------
    * chargement d\'enregistrements dans le fichier contrat
    *-----------------------------------------------------
    *
    chargement-contrat.
          DISPLAY BLANC.
          DISPLAY CADRE.
          DISPLAY MASQ-CONTRAT.
    	accept ws-assure-num at line 6 col 20 convert auto prompt.
    	
    	accept ws-num-version at line 7 col 24 convert auto prompt.
    	move ws-assure-num to ws-clef.
    	multiply 100 by ws-clef.
    	add ws-num-version to ws-clef.     
    	
    	accept CD-CONT at line 8 col 20 convert auto prompt.      
    
    	perform varying j from 1 by 1 until j > 8
    	accept cd-opt(j) at line 12+j col 2 convert auto prompt
    	if cd-opt(j) = 1 
    			accept cd-rang(j) at line 12+j col 15 convert auto prompt
    			accept cd-dat(j) at line 12+j col 36 convert auto prompt
    	end-if
    	if cd-opt(j) not = 1
    	display 0 at line 12+j col 2
    	end-if 
    	END-perform.
    	accept pause line 25 col 1.
    	perform chargementa.
    
    
    
    chargementa.
    	open input cont.
    
        	if st-cont not = \"00\" 	close cont,
     				open output cont,
    	else open i-o cont,
    	end-if.
    
    
    	move ws-num-version to cd-CLEF.
    
    	write enr-cont.
    
    	close cont.
    
    
    
    *--------------------------------------------------
    * modification d\'enregistrements du fichier contrat
    *--------------------------------------------------
    
    modification-contrat.
    
    
    
    *
    *---------------------------------------------------
    * suppression d\'enregistrement(s) du fichier contrat
    *---------------------------------------------------
    *
    suppression-contrat.
    
    
    
    
    
    
    *
    *---------------------------------------------------
    * Gestion du fichier INDEXATIONS
    *---------------------------------------------------
    *
    *----------------------------------
    * CHARGEMENT DU FICHIER INDEXATION
    *----------------------------------
    
    chargement-indexation.
        	display blanc.
    	display cadre.
        	display masq-indexation.
     	open i-o indexation.
        	if st-indexation not = \"00\" open output indexation.
        	
    	accept erreur.
        	move high-value to ws-indexation-date.
        	perform chargt2 until ws-indexation-date = 0.
        	close indexation.
    
    chargt2.
        perform chargt-num2.
        if ws-indexation-date > 0 	perform chargt-reste2,
                      		move ws-indexation-date to date-indexation,
                      		write enr-indexation invalid perform err-ecriture.
    
    chargt-num2.
        accept ws-indexation-date at line 10 col 16 convert auto prompt.
    
    chargt-reste2.
        accept masq-lecture-indexation.
    
    
    
    *------------------------------------
    * MODIFICATION DU FICHIER INDEXATION
    *------------------------------------
    
    modification-indexation.
    
        open i-o indexation.
        if st-indexation not = \"00\" display err-ouv,
                                	accept erreur,
                                	display masq-efface.
        if st-indexation = \"00\"
                              	display blanc,
    				display cadre,
        				display masq-indexation,
                                	move 9999 to ws-indexation-date,
                                	perform modif2 until ws-indexation-date = 0,
                                	close indexation.
    modif2.
        perform saisi-num2.
        if ws-indexation-date > 0 	move ws-indexation-date to date-indexation,
                             	move \"00\" to st-indexation,
        				read indexation.
        if ws-indexation-date > 0 and st-indexation = \"00\"
                             	move ws-indexation-date to date-indexation,
                             	display masq-affichage-indexation,
                             	perform saisi-modif2,
                             	rewrite enr-indexation.
    saisi-modif2.
        accept masq-affichage-indexation.
    saisi-num2.
        accept ws-indexation-date at line 10 col 16 convert auto prompt.
    
    
    
    
    
    
    *-----------------------------
    * LISTE DU FICHIER INDEXATION
    *-----------------------------
    liste-indexation.
    	open input indexation.
    	display blanc.
    	display cadre.
    	display \"Date de debut de liste : \" 	line 6 col 1.
    	accept date1 at line 7 col 1.
    	display \"Date de fin de liste : \" 	line 9 col 1.
    	accept date2 at line 10 col 1.
    	add 1 to date2.
    	move 9 to i.
    	display blanc.
    	display cadre.
    	display\"ANNEE DE DATE D\'EFFET		VALEUR ACTUELLE DE LA BASE\" line 7 col 8 color 8 high.
    	display\"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\" line 8 col 8 color 8 high.
    	perform list until date1 = date2.
    	add 3 to i.
    	display \"Appuyez sur une touche pour continuer...\"	line i col 8.
    	add 1 to i.
    	accept erreur at line i col 8.
    	close indexation.
    
    list.
    	move date1 to date-indexation.
    	read indexation.
    	display date1				line i col 16.
    	display valeur				line i col 51.
    	add 1 to date1.
    	add 1 to i.
    
    
    
    *
    *--------------------------------------------
    * Gestion des erreurs sur les fichiers
    *--------------------------------------------
    *
    
    
    err_ecriture.
         display blanc.
         display err_ecr.
         accept erreur line 3 col 1 auto. 
         close assure.
         perform debut.

  2. #2
    Visiteur MP
    Visiteur MP

    Urgent!!!!!! Erreur 35

    je n\'ai pas encore le cobol sur mon micro
    donc difficile de tester pour voir erreur
    mais
    open input cont.
    if st-cont not = \"00\" close cont,
    open output cont,
    else open i-o cont,
    end-if.

    ça me semble bizarre ?
    open input pour lire
    open output pour ecrire
    open i-o fichier accès direct, donc pour
    lire/ecrire.

    je vais poser la question ici même pour
    installer cobol, on verra si on peut aller
    plus loin.
    @+

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    8
    Je viens de regarde et je te propose une chose, c ke tu découpe ton programme en module externe pour qu\'il soit un peu plus lisible et rapide a lire, sinon, est ce que dans le fichier, il y a des données et est ce k\'il prendd bien le bon fichier. Je vais le tester quand j\'aurais le temps et je te donnerai des nouvelles

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    1
    si le problème est toujours d\'actualité :
    est-ce que le fichier est déclaré de façon identique partout ? (longueur de l\'enregistrement, enregistrement fixe ou variable, ..., que ce soit dans le(s) pg ou le(s) jcl)

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé