diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2019-02-04 13:09:03 +0100 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2019-02-04 13:09:03 +0100 |
commit | 04e68443040c7abad84d66477e98f93bed701760 (patch) | |
tree | 2b6202afae659e773bf6916157d23e83edfa44e3 /app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten | |
download | eumel-src-04e68443040c7abad84d66477e98f93bed701760.tar.gz eumel-src-04e68443040c7abad84d66477e98f93bed701760.tar.bz2 eumel-src-04e68443040c7abad84d66477e98f93bed701760.zip |
Initial import
Diffstat (limited to 'app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten')
-rw-r--r-- | app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten b/app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten new file mode 100644 index 0000000..4443395 --- /dev/null +++ b/app/schulis/2.2.1/src/2.halbjahreswechsel fuer kursdaten @@ -0,0 +1,77 @@ +PACKET halbjahreswechselfuerkursdatenDEFINES +halbjahreswechselfuerkursdatenvorbereiten, +halbjahreswechselfuerkursdatenstarten,halbjahreswechselfuerkursdatendrucken: +LET maske="ms halbjahreswechsel fuer kursdaten";INT VAR fnraktsj:=2,fnrakthj +:=3,fnrgeplsj:=4,fnrgeplhj:=5,fnrauskunft:=6;LET +meldnrhalbjahreswechsellaeuft=156,meldnrinbearbeitung=352, +meldnrkurswahlfehler=416;FILE VAR prot;LET protname= +"Protokoll zum Halbjahreswechsel";FILE VAR f,faus;LET datei="Ausgangsliste", +bearbdatei="Bearbeitungsliste";LET schuljahr="Schuljahr",schulhalbjahr= +"Schulhalbjahr",schulname="Schulname",schulort="Schulort";LET ueberschrift= +"Schulhalbjahreswechsel für Kursdaten Sek. 2",untertitel1= +"Wechsel von Schuljahr ",untertitel2=" zum Schuljahr ",halbjahr= +". Halbjahr",protokollanfang="Planblockschema und Hilfsdateien zu";LET strich +="-",schraegstrich="/",kennzhell="#";LET beginnjgst=12,beginnhj=15,beginnsj= +17,beginnjgstsort=6,beginndateiname=8;LET kurswahlpraefix="Kurswahl-", +kurswahl2praefix="Kurswahl-2",sperrepraefix="Sperre Kurswahl-";TEXT VAR aktsj +:="",akthj:="",geplsj,geplhj;TEXT VAR vergleichshj:="",vergleichsjgst, +aktuelleshj;TEXT VAR zeile,neuezeile,auszeile;LET tasknameserver= +"kurswahl server";TASK VAR kurswahlserver;THESAURUS VAR thes;LET +logbucheintraghjwechsel="Anw. 2.2.4.1 Halbjahreswechsel für Kursdaten Sek. 2" +;PROC halbjahreswechselfuerkursdatenvorbereiten: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 halbjahreswechselfuerkursdatenvorbereiten;PROC +halbjahreswechselfuerkursdatenstarten:IF NOT existstask(tasknameserver)THEN +standardmeldung(meldnrkurswahlfehler,"");return(1)ELSE kurswahlserver:=/ +tasknameserver;standardmeldung(meldnrhalbjahreswechsellaeuft,"");logeintrag( +logbucheintraghjwechsel+" Start");dateienverzeichnissortierterstellen; +dateienverzeichnisbehandeln;logeintrag(logbucheintraghjwechsel+" Ende"); +zeigedatei(protname,"")FI .dateienverzeichnissortierterstellen:forget(datei, +quiet);forget(bearbdatei,quiet);thes:=ALL kurswahlserver;dateiFILLBY thes;f:= +sequentialfile(input,datei);faus:=sequentialfile(output,bearbdatei);WHILE +NOT eof(f)REP getline(f,zeile);IF pos(zeile,kurswahlpraefix)=1THEN +sortierkriterienanzeilenanfangkopierenELSE neuezeile:=zeileFI ;putline(faus, +neuezeile)PER ;forget(datei,quiet);sort(bearbdatei). +sortierkriterienanzeilenanfangkopieren:neuezeile:=subtext(zeile,beginnsj); +neuezeileCAT (zeileSUB beginnhj);neuezeileCAT subtext(zeile,beginnjgst, +beginnjgst+1);neuezeileCAT zeile.dateienverzeichnisbehandeln:aktuelleshj:= +aktsj;aktuelleshjCAT akthj;f:=sequentialfile(input,bearbdatei);forget( +protname,quiet);prot:=sequentialfile(output,protname); +kopfinausgabedateischreiben;commanddialogue(FALSE );WHILE NOT eof(f)REP +getline(f,zeile);zeileuntersuchenPER ;forget(bearbdatei,quiet); +commanddialogue(TRUE ).zeileuntersuchen:IF pos(zeile,kurswahlpraefix)=0THEN +erase(zeile,kurswahlserver)ELIF pos(zeile,sperrepraefix)>0THEN erase(zeile, +kurswahlserver)ELSE IF subtext(zeile,1,5)<>vergleichshjTHEN vergleichshj:= +subtext(zeile,1,5);vergleichsjgst:="";line(prot);standardmeldung( +meldnrinbearbeitung,(vergleichshjSUB 5)+". "+subtext(vergleichshj,1,2)+ +schraegstrich+subtext(vergleichshj,3,4)+kennzhell)FI ;IF vergleichshj<= +aktuelleshjTHEN meldeloeschung(zeile,TRUE );erase(subtext(zeile, +beginndateiname),kurswahlserver)ELIF pos(zeile,kurswahl2praefix)>0THEN erase( +subtext(zeile,beginndateiname),kurswahlserver)ELSE meldeloeschung(zeile, +FALSE )FI FI .kopfinausgabedateischreiben: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;auszeileCAT 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);putline(prot,protokollanfang)END PROC +halbjahreswechselfuerkursdatenstarten;PROC meldeloeschung(TEXT CONST +ausdatname,BOOL CONST loeschen):IF vergleichsjgst<>jgstinausdatnameTHEN +vergleichsjgst:=jgstinausdatname;TEXT VAR auszeile:="Jgst. ";auszeileCAT +vergleichsjgst;auszeileCAT " in ";auszeileCAT subtext(vergleichshj,1,2); +auszeileCAT "/";auszeileCAT subtext(vergleichshj,3,4);auszeileCAT " "; +auszeileCAT (vergleichshjSUB 5);auszeileCAT ". Halbjahr ";IF loeschenTHEN +auszeileCAT "wurden gelöscht"ELSE auszeileCAT "existieren"FI ;putline(prot, +auszeile)FI .jgstinausdatname:subtext(ausdatname,beginnjgstsort, +beginnjgstsort+1).END PROC meldeloeschung;PROC +halbjahreswechselfuerkursdatendrucken(BOOL CONST drucken):IF druckenTHEN +print(protname)FI ;forget(protname,quiet);enter(2)END PROC +halbjahreswechselfuerkursdatendrucken;END PACKET +halbjahreswechselfuerkursdaten + |