fork download
  1. IDENTIFICATION DIVISION. 00010000
  2. PROGRAM-ID. PRG. 00020000
  3. ENVIRONMENT DIVISION. 00030000
  4. DATA DIVISION. 00040000
  5. WORKING-STORAGE SECTION. 00050000
  6. 01 WS-LSD PIC X(10). 00060000
  7. 01 WS-LED PIC X(10). 00070004
  8. 01 WS-MC1 PIC 9(4). 00070205
  9. 01 WS-MC PIC 9(4). 00070305
  10. 01 WS-YYY PIC 9(4). 00070406
  11. 01 WS-MONTH-DAYS PIC 9(2). 00070505
  12. 01 WS-DATEDIFF. 00071000
  13. 02 WS-DD PIC 9(2). 00072000
  14. 02 WS-MM PIC 9(2). 00073000
  15. 02 WS-YY PIC 9(4). 00074000
  16. 01 WS-DATEDIFF1. 00075001
  17. 02 WS-DD1 PIC 9(2). 00075101
  18. 02 WS-MM1 PIC 9(2). 00075201
  19. 02 WS-YY1 PIC 9(4). 00075301
  20. 01 WS-DATEDIFF2 PIC 9(4). 00076005
  21. 01 WS-DATEDIFF3 PIC 9(4). 00076105
  22. 01 WS-VAR PIC 9(2) VALUE 03. 00077002
  23. 01 WS-VAR1 PIC 9(4).
  24. 01 WS-REM PIC (92). 00078002
  25. 01 WS-DATEDIFF4 PIC 9(4). 00079005
  26. PROCEDURE DIVISION. 00080000
  27. MOVE '29/12/2012' TO WS-LSD 00081005
  28. MOVE '02/01/2013' TO WS-LED 00082005
  29. MOVE WS-LSD(1:2) TO WS-DD 00090005
  30. MOVE WS-LED(1:2) TO WS-DD1 00091001
  31. DISPLAY 'WS-DD:' WS-DD 00091105
  32. DISPLAY 'WS-DD1:' WS-DD1 00091205
  33. MOVE WS-LSD(4:2) TO WS-MM 00091305
  34. MOVE WS-LED(4:2) TO WS-MM1 00091405
  35. DISPLAY 'WS-MM:' WS-MM 00091505
  36. DISPLAY 'WS-MM1:' WS-MM1 00091605
  37. MOVE WS-LSD(7:4) TO WS-YY 00091706
  38. MOVE WS-LED(7:4) TO WS-YY1 00091806
  39. DISPLAY 'WS-YY:' WS-YY 00091906
  40. DISPLAY 'WS-YY1:' WS-YY1 00092006
  41. PERFORM PRGM-PARA THRU PRGM-PARA-EXIT. 00092105
  42. STOP RUN. 00092205
  43. PRGM-PARA. 00092305
  44. IF (WS-MM = WS-MM1) 00092405
  45. SUBTRACT WS-DD FROM WS-DD1 GIVING WS-DATEDIFF2 00092505
  46. ADD 1 TO WS-DATEDIFF2 GIVING WS-DATEDIFF4 00092605
  47. DISPLAY WS-DATEDIFF4 00092705
  48. ELSE
  49. DIVIDE WS-YY BY 4 GIVING WS-VAR1 REMAINDER WS-REM
  50. PERFORM MONTH-DAYS THRU MONTH-DAYS-EXIT 00093005
  51. MOVE WS-MONTH-DAYS TO WS-MC 00093105
  52. DISPLAY 'WS-MC:' WS-MC 00093205
  53. SUBTRACT WS-DD FROM WS-MC GIVING WS-MC1 00093305
  54. DISPLAY 'WS-MC1:' WS-MC1 00093405
  55. ADD WS-MC1 TO WS-DD1 GIVING WS-DATEDIFF3
  56. DISPLAY 'THE DATE DIFFRANCE IS:' WS-DATEDIFF3 00093606
  57. PERFORM YEAR-PARA THRU YEAR-PARA-EXIT 00093706
  58. DISPLAY 'THE LEAVE APPROVED SUCCESSFUL' 00093906
  59. END-IF. 00104105
  60. PRGM-PARA-EXIT. 00104205
  61. EXIT. 00104305
  62. YEAR-PARA. 00104406
  63. IF WS-DATEDIFF3 > 5 00104506
  64. ADD 1 TO WS-YY GIVING WS-YYY 00104606
  65. PERFORM SAMEYR-PARA THRU SAMEYR-PARA-EXIT 00104706
  66. END-IF. 00105006
  67. YEAR-PARA-EXIT. 00105106
  68. EXIT. 00105206
  69. SAMEYR-PARA. 00105306
  70. IF WS-YY1 = WS-YY 00105406
  71. DISPLAY 'LEAVE APPROVED SUCCESFUL' 00105506
  72. END-IF. 00105606
  73. IF WS-YY1 = WS-YYY
  74. PERFORM LASTMNTH-PARA THRU LASTMNTH-PARA-EXIT
  75. END-IF.
  76. IF WS-YY1 NOT EQUAL TO WS-YYY
  77. DISPLAY 'ENTER VALID DATE'
  78. END-IF.
  79. SAMEYR-PARA-EXIT.
  80. EXIT.
  81. LASTMNTH-PARA.
  82. IF WS-MM = 12
  83. IF WS-MM1 = 01
  84. DISPLAY 'LEAVE APPROVED SUCCESFUL'
  85. ELSE
  86. DISPLAY 'ENTER VALID DATE'
  87. END-IF
  88. ELSE 00106206
  89. DISPLAY 'ENTER VALID DATE' 00106306
  90. END-IF. 00106406
  91. LASTMNTH-PARA-EXIT.
  92. EXIT.
  93. MONTH-DAYS. 00107005
  94. EVALUATE WS-MM 00107105
  95. WHEN 01 00107205
  96. MOVE 31 TO WS-MONTH-DAYS
  97. WHEN 02
  98. IF (WS-REM = 0)
  99. MOVE 29 TO WS-MONTH-DAYS
  100. ELSE
  101. MOVE 28 TO WS-MONTH-DAYS
  102. END-IF
  103. WHEN 03 00109605
  104. MOVE 31 TO WS-MONTH-DAYS 00109703
  105. WHEN 04 00109805
  106. MOVE 30 TO WS-MONTH-DAYS 00109903
  107. WHEN 05 00110005
  108. MOVE 31 TO WS-MONTH-DAYS 00111003
  109. WHEN 06 00112005
  110. MOVE 30 TO WS-MONTH-DAYS 00113003
  111. WHEN 07 00114005
  112. MOVE 31 TO WS-MONTH-DAYS 00115003
  113. WHEN 08 00116005
  114. MOVE 31 TO WS-MONTH-DAYS 00117003
  115. WHEN 09 00118003
  116. MOVE 30 TO WS-MONTH-DAYS 00119005
  117. WHEN 10 00119105
  118. MOVE 31 TO WS-MONTH-DAYS 00119205
  119. WHEN 11 00119305
  120. MOVE 30 TO WS-MONTH-DAYS 00119405
  121. WHEN 12 00119505
  122. MOVE 31 TO WS-MONTH-DAYS 00119605
  123. WHEN OTHER 00119705
  124. DISPLAY 'ENTER VALID DATE' 00119805
  125. END-EVALUATE. 00120005
  126. MONTH-DAYS-EXIT. 00121005
  127. EXIT.
  128. 
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cob:127: Warning: File not terminated by a newline
prog.cob:24: Error: Invalid picture string
prog.cob:24: Error: Invalid level number '0'
stdout
Standard output is empty