Advertisement
Guest User

Untitled

a guest
Aug 9th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.21 KB | None | 0 0
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. UC2.
  3.  
  4. ENVIRONMENT DIVISION.
  5. input-output section.
  6. file-control.
  7. select logboekF assign to "logboekF2txt"
  8. organization is line sequential.
  9. select logboekG assign to "logboekG2txt"
  10. organization is line sequential.
  11. DATA DIVISION.
  12. file section.
  13. FD logboekF.
  14. 01 logrekordF.
  15. 02 loglijnF pic x(150).
  16. FD logboekG.
  17. 01 logrekordG.
  18. 02 loglijnG pic x(150).
  19. working-storage section.
  20. EXEC SQL
  21. INCLUDE sq
  22. END-EXEC.
  23. EXEC SQL
  24. DECLARE crs CURSOR FOR
  25. SELECT studnr, naam, voornaam FROM student
  26. END-EXEC.
  27. EXEC SQL
  28. DECLARE crsafw CURSOR FOR
  29. SELECT * FROM afwezigheid WHERE studentenNr = studnr
  30. END-EXEC.
  31. 01 afwezigheid.
  32. 02 afwid pic 9(10).
  33. 02 datumVan.
  34. 05 D-JAAR PIC XXXX.
  35. 05 D-Mo PIC XX.
  36. 05 D-DD PIC XX.
  37. 05 D-HH PIC XX.
  38. 05 D-MM PIC XX.
  39. 05 D-SS PIC XX.
  40. 05 D-OVER PIC X(12).
  41. 02 datumTot pic x(26).
  42. 02 afwstatus pic 9.
  43. 02 afwstudnr pic x(9).
  44. 02 reden pic x(100).
  45. 01 student.
  46. 02 studnr pic x(9).
  47. 02 achternaam pic x(10).
  48. 02 naam pic x(10).
  49. 88 eindeStudenten value low-values.
  50. 88 eindeafw value low-values.
  51. 01 tellers.
  52. 02 aantal pic 99.
  53. 02 gewettigd pic 99.
  54. 02 ongewettigd pic 99.
  55. 02 wachtend pic 99.
  56. 02 datumTeller pic 9.
  57. 88 opTijd value low-values.
  58. 01 SYSTEM-DATE.
  59. 02 SYSTEM-YEAR PIC 99.
  60. 02 SYSTEM-MONTH PIC 99.
  61. 02 SYSTEM-DAY PIC 99.
  62.  
  63. PROCEDURE DIVISION.
  64. main.
  65. ACCEPT SYSTEM-DATE FROM DATE
  66. perform do-connect
  67. perform lees-student
  68. if(eindeStudenten) then move "geen studenten in db" to logrekordF
  69. perform write-fout
  70. end-if
  71. perform until eindeStudenten
  72. perform lees-afwezigheid
  73. if(eindeafw) then
  74. move "geen afwezigheden" to logrekordG
  75. end-if
  76. perform write-goed
  77. perform until eindeafw
  78. evaluate afwstatus
  79. when 1
  80. add 1 to gewettigd
  81. when 2
  82. add 1 to ongewettigd
  83. when 3
  84. add 1 to wachtend
  85. perform datum-controle
  86. end-evaluate
  87. perform lees-afwezigheid
  88. if(wachtend = 0) then
  89. move "Geen openstaande afwezigheden" to logrekordG
  90. perform write-goed
  91. end-if
  92. end-perform
  93. perform lees-student
  94. end-perform
  95. perform do-work
  96. perform do-disconnect.
  97.  
  98. lees-student.
  99. EXEC SQL
  100. OPEN crs
  101. FETCH crs INTO student
  102. END-EXEC
  103. evaluate SQLCODE
  104. when 0
  105. move "nieuwe student geselecteerd met studnr" to logrekordG
  106. perform write-goed
  107. perform tel-aantal-afwezigheden
  108. string "aantal ongewettigde afwezigheden: " aantal delimited
  109. by size into logrekordG
  110. perform write-goed
  111. when +100
  112. set eindeStudenten to true
  113. move "einde van studenten" to logrekordG
  114. perform write-goed
  115. when other
  116. string "Fout in de student cursor" SQLCODE delimited
  117. by size into logrekordF
  118. perform write-fout
  119. end-evaluate.
  120.  
  121. lees-afwezigheid.
  122. EXEC SQL
  123. OPEN crsafw
  124. FETCH crsafw INTO afwezigheid
  125. END-EXEC
  126. evaluate SQLCODE
  127. when +100
  128. set eindeAfw to true
  129. when other
  130. string "Fout in de eindeafw cursor" SQLCODE delimited
  131. by size into logrekordF
  132. perform write-fout
  133. end-evaluate.
  134.  
  135. datum-controle.
  136. perform until datumTeller > 6 and opTijd
  137.  
  138.  
  139. add 1 to datumTeller
  140. end-perform
  141. stop run.
  142.  
  143.  
  144. do-connect.
  145. EXEC SQL
  146. CONNECT
  147. TO "jdbc:mysql://localhost/project"
  148. USER "root"
  149. PASSWORD "test"
  150. DRIVER "com.mysql.jdbc.Driver"
  151. END-EXEC
  152. if(SQLSTATE not = "00000") then
  153. string "Kan niet connecteren met database" delimited
  154. by size into logrekordF
  155. perform write-fout.
  156. stop run.
  157.  
  158. do-work.
  159. EXEC SQL
  160. commit work
  161. END-EXEC.
  162.  
  163. do-disconnect.
  164. EXEC SQL
  165. DISCONNECT ALL
  166. END-EXEC
  167. stop run.
  168.  
  169. write-fout.
  170. open output logboekF
  171. write logrekordF.
  172. move spaces to logrekordF
  173. close logboekF.
  174.  
  175. write-goed.
  176. open output logboekG
  177. write logrekordG
  178. move spaces to logrekordG
  179. close logboekG.
  180.  
  181. tel-aantal-afwezigheden.
  182. EXEC SQL
  183. SELECT count(afwezigheidsId) INTO :aantal
  184. FROM afwezigheid
  185. WHERE studentenNr = :studnr and status = '2'
  186. END-EXEC.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement