From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- .../2.2.1/src/4.halbjahreswechsel zum stundenplan | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 app/schulis/2.2.1/src/4.halbjahreswechsel zum stundenplan (limited to 'app/schulis/2.2.1/src/4.halbjahreswechsel zum stundenplan') diff --git a/app/schulis/2.2.1/src/4.halbjahreswechsel zum stundenplan b/app/schulis/2.2.1/src/4.halbjahreswechsel zum stundenplan new file mode 100644 index 0000000..5955533 --- /dev/null +++ b/app/schulis/2.2.1/src/4.halbjahreswechsel zum stundenplan @@ -0,0 +1,120 @@ +PACKET halbjahreswechselzumstundenplanDEFINES +halbjahreswechselzumstundenplanvorbereiten, +halbjahreswechselzumstundenplanstarten,halbjahreswechselzumstundenplandrucken +:LET maske="ms halbjahreswechsel zum stundenplan";INT VAR fnraktsj:=2, +fnrakthj:=3,fnrgeplsj:=4,fnrgeplhj:=5,fnrauskunft:=6;LET +meldnrhalbjahreswechsellaeuft=156,meldnrinbearbeitung=352;FILE VAR prot;LET +protname="Protokoll zum Halbjahreswechsel";LET schuljahr="Schuljahr", +schulhalbjahr="Schulhalbjahr",schulname="Schulname",schulort="Schulort";LET +aenderungsvermerk="c02 aenderungsvermerk",wertaktuell="aktuell",wertgeplant= +"geplant";LET erstessj=1,letztessj=9900,naechstessj=101,ersteshj=1,letzteshj= +2;TEXT CONST meldtextanfang:="Daten für ",meldtextexist:=" existieren.", +meldtextexistnicht:=" existierten nicht.",meldtextgeloescht:= +" wurden gelöscht.",ueberschrift:= +"Schulhalbjahreswechsel in Daten der Unterrichtsorganisation",untertitel1:= +"Wechsel von Schuljahr ",untertitel2:=" zum Schuljahr ",halbjahr:= +". Halbjahr",namestundenplan:="Stundenplan";LET strich="-",schraegstrich="/", +doppelpunkt=":",kennzhell="#";LET laengedatname=30;TEXT VAR aktsj:="",akthj:= +"",geplsj,geplhj;INT VAR bearbsj,bearbhj,gelesensj,gelesenhj,intaktsj, +intakthj,intgeplsj,intgeplhj;INT VAR dateinummer;TEXT VAR auszeile,dateiname; +LET logbucheintraghjwechsel= +"Anw. 4.7.1 Halbjahreswechsel z. Unterrichtsorg. ";PROC +halbjahreswechselzumstundenplanvorbereiten:standardstartproc(maske);IF aktsj= +""THEN aktsj:=schulkenndatum(schuljahr);akthj:=schulkenndatum(schulhalbjahr) +FI ;geplsj:=aktsj;geplhj:=akthj;geplanteshjundsjberechnen(geplhj,geplsj); +standardmaskenfeld(aktsj,fnraktsj);standardmaskenfeld(akthj,fnrakthj); +standardmaskenfeld(geplsj,fnrgeplsj);standardmaskenfeld(geplhj,fnrgeplhj); +infeld(fnraktsj);standardfelderausgeben;infeld(fnrauskunft);standardnprocEND +PROC halbjahreswechselzumstundenplanvorbereiten;PROC +halbjahreswechselzumstundenplanstarten:standardmeldung( +meldnrhalbjahreswechsellaeuft,"");logeintrag(logbucheintraghjwechsel+ +"gestartet");protokollvorbereiten;ausgabekopfaufbereiten; +halbjahreswechselvorbereiten;wechselfuerbestand(dnraktschuelergruppen); +wechselfuerbestand(dnrzeitraster);wechselfuerbestand(dnraufsichtszeiten); +wechselfuerbestand(dnrzeitwuensche);wechselfuerbestand(dnrfaecherangebot); +wechselfuerbestand(dnrlehrveranstaltungen);wechselfuerbestandstundenplan; +wechselfuerbestand(dnraufsichtsplan);logeintrag(logbucheintraghjwechsel+ +"beendet");aenderungsvermerkfuerstundenplansetzen;zeigedatei(protname,""). +protokollvorbereiten:forget(protname,quiet);prot:=sequentialfile(output, +protname).ausgabekopfaufbereiten:putline(prot,schulkenndatum(schulname)); +putline(prot,text(schulkenndatum(schulort),65)+date);line(prot);putline(prot, +ueberschrift);putline(prot,length(ueberschrift)*strich);line(prot);auszeile:= +untertitel1;auszeileCAT subtext(aktsj,1,2);auszeileCAT schraegstrich;auszeile +CAT subtext(aktsj,3,4);auszeileCAT " , ";auszeileCAT akthj;auszeileCAT +halbjahr;putline(prot,auszeile);auszeile:=untertitel2;auszeileCAT subtext( +geplsj,1,2);auszeileCAT schraegstrich;auszeileCAT subtext(geplsj,3,4); +auszeileCAT " , ";auszeileCAT geplhj;auszeileCAT halbjahr;putline(prot, +auszeile);line(prot).halbjahreswechselvorbereiten:intaktsj:=int(aktsj); +intakthj:=int(akthj);intgeplsj:=int(geplsj);intgeplhj:=int(geplhj); +dateinummer:=0.aenderungsvermerkfuerstundenplansetzen:inittupel(dnrschluessel +);putwert(fnrschlsachgebiet,aenderungsvermerk);putwert(fnrschlschluessel, +wertaktuell);search(dnrschluessel,TRUE );IF dbstatus=0THEN delete( +dnrschluessel);FI ;putwert(fnrschlsachgebiet,aenderungsvermerk);putwert( +fnrschlschluessel,wertgeplant);search(dnrschluessel,TRUE );IF dbstatus=0THEN +putwert(fnrschlschluessel,wertaktuell);update(dnrschluessel);FI .END PROC +halbjahreswechselzumstundenplanstarten;PROC wechselfuerbestand(INT CONST +dateinr):standardmeldung(meldnrinbearbeitung,name(dateinr)+kennzhell); +dateinamefuerausgabevorbereiten;erstensatzlesen;WHILE +geleseneshalbjahrkleineraktuelleshalbjahrREP IF wechselliegtvorTHEN +zeilezuhalbjahrausgeben(meldtextgeloescht,gelesensj,gelesenhj)FI ; +satzloeschen;satzlesenPER ;IF geleseneshalbjahrgleichaktuelleshalbjahrTHEN +zeilezuhalbjahrausgeben(meldtextgeloescht,gelesensj,gelesenhj);REP +satzloeschen;satzlesenUNTIL NOT geleseneshalbjahrgleichaktuelleshalbjahrPER +ELSE zeilezuhalbjahrausgeben(meldtextexistnicht,intaktsj,intakthj)FI ;IF +geleseneshalbjahrgleichgeplanteshalbjahrTHEN zeilezuhalbjahrausgeben( +meldtextexist,intgeplsj,intgeplhj)ELSE zeilezuhalbjahrausgeben( +meldtextexistnicht,intgeplsj,intgeplhj)FI ;bearbsj:=gelesensj;bearbhj:= +gelesenhj;WHILE nochsaetzedaREP IF wechselliegtvorTHEN +zeilezuhalbjahrausgeben(meldtextexist,gelesensj,gelesenhj)FI ; +naechsteshalbjahrsuchenPER .dateinamefuerausgabevorbereiten:line(prot); +dateinummerINCR 1;dateiname:=text(dateinummer);dateinameCAT ". ";dateiname +CAT name(dateinr);dateinameCAT doppelpunkt;dateiname:=text(dateiname, +laengedatname).geleseneshalbjahrkleineraktuelleshalbjahr:dbstatus=0AND (( +gelesensjgelesensjOR bearbhj<>gelesenhjTHEN bearbsj:= +gelesensj;bearbhj:=gelesenhj;TRUE ELSE FALSE FI .END PROC wechselfuerbestand; +PROC wechselfuerbestandstundenplan:INT VAR fstatusstuplan;standardmeldung( +meldnrinbearbeitung,namestundenplan+kennzhell); +dateinamefuerausgabevorbereiten;gelesensj:=erstessj;WHILE gelesensj<= +letztessjREP FOR gelesenhjFROM ersteshjUPTO letzteshjREP +stundenplanhalbjahrsetzen(text(gelesenhj),gelesensjaufbereitet);IF +geleseneshalbjahrkleineraktuelleshalbjahrTHEN IF stundenplandatenvorhanden +THEN stundenplanbasisundstundenplanloeschen(fstatusstuplan); +zeilezuhalbjahrausgeben(meldtextgeloescht,gelesensj,gelesenhj)FI ELIF +geleseneshalbjahrgleichaktuelleshalbjahrTHEN IF stundenplandatenvorhanden +THEN stundenplanbasisundstundenplanloeschen(fstatusstuplan); +zeilezuhalbjahrausgeben(meldtextgeloescht,gelesensj,gelesenhj)ELSE +zeilezuhalbjahrausgeben(meldtextexistnicht,gelesensj,gelesenhj)FI ELIF +geleseneshalbjahrgleichgeplanteshalbjahrTHEN IF stundenplandatenvorhanden +THEN zeilezuhalbjahrausgeben(meldtextexist,gelesensj,gelesenhj)ELSE +zeilezuhalbjahrausgeben(meldtextexistnicht,gelesensj,gelesenhj)FI ELSE IF +stundenplandatenvorhandenTHEN zeilezuhalbjahrausgeben(meldtextexist,gelesensj +,gelesenhj)FI FI PER ;gelesensj:=gelesensj+naechstessjPER . +geleseneshalbjahrkleineraktuelleshalbjahr:(gelesensj