Guest User

Untitled

a guest
Jul 16th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 4.07 KB | None | 0 0
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. ListerPiscines.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. FILE-CONTROL.
  6. SELECT f-rapport ASSIGN TO "Rapport.res".
  7. DATA DIVISION.
  8. FILE SECTION.
  9. FD f-rapport REPORT IS Liste-Courses.
  10. WORKING-STORAGE SECTION.
  11. 01  date-jour.
  12.     02 annee PIC X(2).
  13.     02 mois  PIC X(2).
  14.     02 jour  PIC X(2).
  15.         EXEC SQL BEGIN DECLARE SECTION END-EXEC.
  16. 01  RecPiscine.
  17.     02  Compet      PIC X(50).
  18.     02  DJour       PIC X.
  19. 01  DPiscine     PIC X(50).
  20. 01  DAnnee       PIC X(5).
  21. 01  NomPiscine   PIC X(50).
  22. 01  Touche       PIC X.
  23. 01  MessageErr   PIC X(100).
  24. 01  NbrePiscines PIC S9(4) BINARY.
  25. 01  nbre-rec     PIC S9(4) BINARY VALUE 1.
  26. 01  i PIC S9(4) BINARY.
  27.            EXEC SQL END DECLARE SECTION END-EXEC.
  28.            EXEC SQL INCLUDE SQLCA END-EXEC.
  29.  
  30. REPORT SECTION.
  31. RD  Liste-Courses PAGE LIMIT IS 66
  32.                   HEADING        1
  33.                   FIRST DETAIL   5
  34.                   LAST DETAIL   42
  35.                   FOOTING       45
  36.                   CONTROLS ARE FINAL DPiscine, DAnnee.
  37.  
  38. 01  TYPE IS PAGE HEADING.
  39.     02   LINE 2.
  40.         03  COLUMN 5 PIC X(30) VALUE "Liste des competitions".
  41.         03  COLUMN 40 PIC X(15) VALUE "Date : ".
  42.         03  COLUMN 56 PIC X(2) SOURCE jour.
  43.         03  COLUMN 58 PIC X VALUE "/".
  44.         03  COLUMN 59 PIC X(2) SOURCE mois.
  45.         03  COLUMN 61 PIC X VALUE "/".
  46.         03  COLUMN 62 PIC X(2) SOURCE annee.
  47.                
  48. 01 TYPE IS CONTROL HEADING DPiscine.
  49.     02 LINE PLUS 1.
  50.         03 COLUMN 5 PIC X(10) VALUE "Piscine : ".
  51.         03 COLUMN 16 PIC X(50) SOURCE DPiscine.
  52.  
  53. 01 TYPE IS CONTROL HEADING DAnnee.
  54.     02 LINE PLUS 1.
  55.         03 COLUMN 10 PIC X(10) VALUE "Annee : ".
  56.         03 COLUMN 20 PIC X(5) SOURCE DAnnee.
  57.  
  58. 01 dl TYPE DETAIL LINE PLUS 2.
  59.     02 COLUMN 27 PIC X(14) VALUE "Competition: ".
  60.     02 COLUMN 41 PIC X(5) SOURCE Compet.
  61.     02 COLUMN 50 PIC X(7) VALUE "Jour : ".
  62.     02 COLUMN 57 PIC X SOURCE DJour.
  63.  
  64. 01  TYPE IS CONTROL FOOTING DPiscine.
  65.      02  LINE PLUS 1.
  66.         03 COLUMN 5 PIC X(40) VALUE "Competitions par piscine : ".
  67.         03 total-Piscine COLUMN 46 PIC XXXX SUM nbre-rec.
  68.  
  69. 01  TYPE IS CONTROL FOOTING DAnnee.
  70.      02 LINE PLUS 1.
  71.         03 COLUMN 17 PIC X(37) VALUE "Competitions par annee : ".
  72.         03 total-Annee COLUMN 57 PIC XXXX SUM nbre-rec.
  73.  
  74. 01  TYPE IS CONTROL FOOTING FINAL.
  75.      02 LINE PLUS 1.
  76.         03 COLUMN 5 PIC X(16) VALUE "Total : ".
  77.         03 total-General COLUMN 22 PIC XXXX SUM total-Annee.
  78.  
  79. PROCEDURE DIVISION.
  80. BeginPgm.
  81.     DISPLAY " " ERASE SCREEN
  82.     DISPLAY "FONCTION LISTER PISCINE" LINE 5 COLUMN 35
  83.     DISPLAY "-------------------" LINE 6 COLUMN 35
  84.     DISPLAY "Nom de la piscine : " LINE 9
  85.     ACCEPT NomPiscine
  86.    
  87.     MOVE SPACES TO MessageErr
  88.     ACCEPT date-jour FROM DATE
  89.    
  90.      EXEC SQL EXECUTE
  91.              BEGIN
  92.               COLLARNI.GESTIONPISCINES.ListePiscine :=
  93.               COLLARNI.GESTIONPISCINES.Lister(:NomPiscine);
  94.               :NbrePiscines :=
  95.                 COLLARNI.GESTIONPISCINES.ListePiscine.COUNT;
  96.              EXCEPTION
  97.               WHEN OTHERS THEN
  98.                   :MessageErr := SUBSTR(SQLERRM,1,100);
  99.              END;
  100.      END-EXEC
  101.      IF MessageErr NOT = SPACES
  102.        THEN DISPLAY "Erreur message " MessageErr
  103.        ELSE
  104.        OPEN OUTPUT f-rapport
  105.        INITIATE Liste-Courses
  106.    
  107.        PERFORM TEST BEFORE VARYING i FROM 1 BY 1 UNTIL i > NbrePiscines
  108.         MOVE SPACES TO MessageErr
  109.        
  110.         EXEC SQL EXECUTE
  111.       BEGIN
  112.        :DPiscine := COLLARNI.GESTIONPISCINES.ListePiscine(:i).Piscine;
  113.        :DAnnee := COLLARNI.GESTIONPISCINES.ListePiscine(:i).Annee;
  114.      :Compet := COLLARNI.GESTIONPISCINES.ListePiscine(:i).Competition;
  115.         :DJour := COLLARNI.GESTIONPISCINES.ListePiscine(:i).Jour;
  116.        EXCEPTION WHEN OTHERS THEN
  117.         :MessageErr := SUBSTR(SQLERRM,1,100);
  118.        END;
  119.        END-EXEC
  120.          IF MessageErr NOT = SPACES THEN
  121.                DISPLAY "Erreur message " MessageErr
  122.          ELSE
  123.            GENERATE dl
  124.          END-IF
  125.        END-PERFORM
  126.        TERMINATE Liste-Courses
  127.       CLOSE f-rapport
  128.       END-IF
  129.       DISPLAY "Appuyer sur une touche..." LINE 17
  130.       ACCEPT Touche
  131.     EXIT PROGRAM.
Add Comment
Please, Sign In to add comment