       IDENTIFICATION DIVISION.                                         00010000
       PROGRAM-ID. PRG.                                                 00020000
       ENVIRONMENT DIVISION.                                            00030000
       DATA DIVISION.                                                   00040000
       WORKING-STORAGE SECTION.                                         00050000
       01 WS-LSD PIC X(10).                                             00060000
       01 WS-LED PIC X(10).                                             00070004
       01 WS-MC1 PIC 9(4).                                              00070205
       01 WS-MC PIC 9(4).                                               00070305
       01 WS-YYY PIC 9(4).                                              00070406
       01 WS-MONTH-DAYS PIC 9(2).                                       00070505
       01 WS-DATEDIFF.                                                  00071000
          02 WS-DD PIC 9(2).                                            00072000
          02 WS-MM PIC 9(2).                                            00073000
          02 WS-YY PIC 9(4).                                            00074000
       01 WS-DATEDIFF1.                                                 00075001
          02 WS-DD1 PIC 9(2).                                           00075101
          02 WS-MM1 PIC 9(2).                                           00075201
          02 WS-YY1 PIC 9(4).                                           00075301
       01 WS-DATEDIFF2 PIC 9(4).                                        00076005
       01 WS-DATEDIFF3 PIC 9(4).                                        00076105
       01 WS-VAR PIC 9(2).                                    
       01 WS-VAR1 PIC 9(4).
                                                  
       01 WS-DATEDIFF4 PIC 9(4).                                        00079005
       PROCEDURE DIVISION.                                              00080000
                MOVE '29/12/2012' TO WS-LSD                             00081005
                MOVE '05/01/2013' TO WS-LED                             00082005
                MOVE WS-LSD(1:2) TO WS-DD                               00090005
                MOVE WS-LED(1:2) TO WS-DD1                              00091001
                DISPLAY 'WS-DD:' WS-DD                                  00091105
                DISPLAY 'WS-DD1:' WS-DD1                                00091205
                MOVE WS-LSD(4:2) TO WS-MM                               00091305
                MOVE WS-LED(4:2) TO WS-MM1                              00091405
                DISPLAY 'WS-MM:' WS-MM                                  00091505
                DISPLAY 'WS-MM1:' WS-MM1                                00091605
                MOVE WS-LSD(7:4) TO WS-YY                               00091706
                MOVE WS-LED(7:4) TO WS-YY1                              00091806
                DISPLAY 'WS-YY:' WS-YY                                  00091906
                DISPLAY 'WS-YY1:' WS-YY1                                00092006
                PERFORM PRGM-PARA THRU PRGM-PARA-EXIT.                  00092105
                STOP RUN.                                               00092205
       PRGM-PARA.                                                       00092305
               IF (WS-MM = WS-MM1)                                      00092405
                 SUBTRACT WS-DD FROM WS-DD1 GIVING WS-DATEDIFF2         00092505
                 ADD 1 TO WS-DATEDIFF2 GIVING WS-DATEDIFF4              00092605
                 DISPLAY WS-DATEDIFF4                                   00092705
               ELSE
                 DIVIDE WS-YY BY 4 GIVING WS-VAR1 REMAINDER WS-VAR                                                     
                 PERFORM MONTH-DAYS THRU MONTH-DAYS-EXIT                00093005
                 MOVE WS-MONTH-DAYS TO WS-MC                            00093105
                 DISPLAY 'WS-MC:' WS-MC                                 00093205
                 SUBTRACT WS-DD FROM WS-MC GIVING WS-MC1                00093305
                 DISPLAY 'WS-MC1:' WS-MC1                               00093405
                 ADD WS-MC1 TO WS-DD1 GIVING WS-DATEDIFF3                
                 DISPLAY 'THE DATE DIFFRANCE IS:' WS-DATEDIFF3          00093606
                 PERFORM YEAR-PARA THRU YEAR-PARA-EXIT                  00093706
                 DISPLAY 'THE LEAVE APPROVED SUCCESSFUL'                00093906
                 END-IF.                                                00104105
       PRGM-PARA-EXIT.                                                  00104205
                EXIT.                                                   00104305
       YEAR-PARA.                                                       00104406
                IF WS-DATEDIFF3 <= 5                                     00104506
                  ADD 1 TO WS-YY GIVING WS-YYY                            00104606
                  PERFORM SAMEYR-PARA THRU SAMEYR-PARA-EXIT 
                            
                  END-IF.                                                 00105006
       YEAR-PARA-EXIT.                                                  00105106
                EXIT.                                                   00105206
       SAMEYR-PARA.                                                     00105306
                IF WS-YY1 = WS-YY                                       00105406
                  DISPLAY 'LEAVE APPROVED SUCCESFUL'                    00105506
                END-IF.                                                 00105606
                IF WS-YY1 = WS-YYY
                   PERFORM LASTMNTH-PARA THRU LASTMNTH-PARA-EXIT                                                              
                END-IF.
                IF WS-YY1 NOT EQUAL TO WS-YYY
                    DISPLAY 'ENTER VALID DATE' 
                END-IF.                                                 
       SAMEYR-PARA-EXIT.                                                
                EXIT.
       LASTMNTH-PARA. 
                   IF WS-MM = 12 
                        IF WS-MM1 = 01                                                                                             
                           DISPLAY 'LEAVE APPROVED SUCCESFUL'
                         ELSE 
                            DISPLAY 'ENTER VALID DATE'
                         END-IF                                           
                   ELSE                                                 00106206
                      DISPLAY 'ENTER VALID DATE'                        00106306
                   END-IF.                                              00106406 
       LASTMNTH-PARA-EXIT.
                   EXIT.                                                  
       MONTH-DAYS.                                                      00107005
                 EVALUATE WS-MM                                         00107105
                 WHEN 01                                                00107205
                   MOVE 31 TO WS-MONTH-DAYS
                 WHEN 02                                                   
                   IF (WS-VAR = 0)                                        
                    MOVE 29 TO WS-MONTH-DAYS                            
                   ELSE                                                    
                    MOVE 28 TO WS-MONTH-DAYS                             
                   END-IF                                                                                                       
                 WHEN 03                                                00109605
                   MOVE 31 TO WS-MONTH-DAYS                             00109703
                 WHEN 04                                                00109805
                   MOVE 30 TO WS-MONTH-DAYS                             00109903
                 WHEN 05                                                00110005
                   MOVE 31 TO WS-MONTH-DAYS                             00111003
                 WHEN 06                                                00112005
                   MOVE 30 TO WS-MONTH-DAYS                             00113003
                 WHEN 07                                                00114005
                   MOVE 31 TO WS-MONTH-DAYS                             00115003
                 WHEN 08                                                00116005
                   MOVE 31 TO WS-MONTH-DAYS                             00117003
                 WHEN 09                                                00118003
                   MOVE 30 TO WS-MONTH-DAYS                             00119005
                 WHEN 10                                                00119105
                   MOVE 31 TO WS-MONTH-DAYS                             00119205
                 WHEN 11                                                00119305
                   MOVE 30 TO WS-MONTH-DAYS                             00119405
                 WHEN 12                                                00119505
                   MOVE 31 TO WS-MONTH-DAYS                             00119605
                 WHEN OTHER                                             00119705
                   DISPLAY 'ENTER VALID DATE'                           00119805
                 END-EVALUATE.                                          00120005
       MONTH-DAYS-EXIT.                                                 00121005
               EXIT.                                                     
