Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. UC2.
- ENVIRONMENT DIVISION.
- input-output section.
- file-control.
- select logboekF assign to "logboekF2txt"
- organization is line sequential.
- select logboekG assign to "logboekG2txt"
- organization
- EXEC SQL
- DECLARE crs CURSOR FOR
- SELECT studnr, naam, voornaam FROM student
- END-EXEC.
- EXEC SQL
- DECLARE crsafw CURSOR FOR
- SELECT * FROM afwezigheid WHERE studentenNr = studnr
- END-EXEC.
- 01 afwezigheid.
- 02 afwid pic 9(10).
- 02 datumVan.
- 05 D-JAAR PIC XXXX.
- 05 D-Mo PIC XX.
- 05 D-DD PIC XX.
- 05 D-HH PIC XX.
- 05 D-MM PIC XX.
- 05 D-SS PIC XX.
- 05 D-OVER PIC X(12).
- 02 datumTot pic x(26).
- 02 afwstatus pic 9.
- 02 afwstudnr pic x(9).
- 02 reden pic x(100).
- 01 student.
- 02 studnr pic x(9).
- 02 achternaam pic x(10).
- 02 naam pic x(10).
- 88 eindeStudenten value low-values.
- 88 eindeafw value low-values.
- 01 tellers.
- 02 aantal pic 99.
- 02 gewettigd pic 99.
- 02 ongewettigd pic 99.
- 02 wachtend pic 99.
- 02 datumTeller pic 9.
- 88 opTijd value low-values.
- 01 SYSTEM-DATE.
- 02 SYSTEM-YEAR PIC 99.
- 02 SYSTEM-MONTH PIC 99.
- 02 SYSTEM-DAY PIC 99.
- PROCEDURE DIVISION.
- main.
- ACCEPT SYSTEM-DATE FROM DATE
- perform do-connect
- perform lees-student
- if(eindeStudenten) then move "geen studenten in db" to logrekordF
- perform write-fout
- end-if
- perform until eindeStudenten
- perform lees-afwezigheid
- if(eindeafw) then
- move "geen afwezigheden" to logrekordG
- end-if
- perform write-goed
- perform until eindeafw
- evaluate afwstatus
- when 1
- add 1 to gewettigd
- when 2
- add 1 to ongewettigd
- when 3
- add 1 to wachtend
- perform datum-controle
- end-evaluate
- perform lees-afwezigheid
- if(wachtend = 0) then
- move "Geen openstaande afwezigheden" to logrekordG
- perform write-goed
- end-if
- end-perform
- perform lees-student
- end-perform
- perform do-work
- perform do-disconnect.
- lees-student.
- EXEC SQL
- OPEN crs
- FETCH crs INTO student
- END-EXEC
- evaluate SQLCODE
- when 0
- move "nieuwe student geselecteerd met studnr" to logrekordG
- perform write-goed
- perform tel-aantal-afwezigheden
- string "aantal ongewettigde afwezigheden: " aantal delimited
- by size into logrekordG
- perform write-goed
- when +100
- set eindeStudenten to true
- move "einde van studenten" to logrekordG
- perform write-goed
- when other
- string "Fout in de student cursor" SQLCODE delimited
- by size into logrekordF
- perform write-fout
- end-evaluate.
- lees-afwezigheid.
- EXEC SQL
- OPEN crsafw
- FETCH crsafw INTO afwezigheid
- END-EXEC
- evaluate SQLCODE
- when +100
- set eindeAfw to true
- when other
- string "Fout in de eindeafw cursor" SQLCODE delimited
- by size into logrekordF
- perform write-fout
- end-evaluate.
- datum-controle.
- perform until datumTeller > 6 and opTijd
- add 1 to datumTeller
- end-perform
- stop run.
- do-connect.
- EXEC SQL
- CONNECT
- TO "jdbc:mysql://localhost/project"
- USER "root"
- PASSWORD "test"
- DRIVER "com.mysql.jdbc.Driver"
- END-EXEC
- if(SQLSTATE not = "00000") then
- string "Kan niet connecteren met database" delimited
- by size into logrekordF
- perform write-fout.
- stop run.
- do-work.
- EXEC SQL
- commit work
- END-EXEC.
- do-disconnect.
- EXEC SQL
- DISCONNECT ALL
- END-EXEC
- stop run.
- write-fout.
- open output logboekF
- write logrekordF.
- move spaces to logrekordF
- close logboekF.
- write-goed.
- open output logboekG
- write logrekordG
- move spaces to logrekordG
- close logboekG.
- tel-aantal-afwezigheden.
- EXEC SQL
- SELECT count(afwezigheidsId) INTO :aantal
- FROM afwezigheid
- WHERE studentenNr = :studnr and status = '2'
- END-EXEC.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement