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 --- app/schulis/2.2.1/src/3.listenweise lehrer erf | 95 ++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 app/schulis/2.2.1/src/3.listenweise lehrer erf (limited to 'app/schulis/2.2.1/src/3.listenweise lehrer erf') diff --git a/app/schulis/2.2.1/src/3.listenweise lehrer erf b/app/schulis/2.2.1/src/3.listenweise lehrer erf new file mode 100644 index 0000000..9715e4d --- /dev/null +++ b/app/schulis/2.2.1/src/3.listenweise lehrer erf @@ -0,0 +1,95 @@ +PACKET listenweiselehrererfDEFINES bearbeitunglehrer,lehrerspeichern:LET +tofather=1,tograndfather=2,niltext="",blank=" ",trennerfuerimbestand="�", +dateinameschluessel="Schlüssel",null=0;LET maskeerm="ms lehrer erm bearb", +maskespr="ms lehrer spr bearb",lehrerproseite=18,felderprozeileerm=11, +felderprozeilespr=3,fnrparapheeingangsmaske=2,fnrersteparaphe=2,fnrersteerm=5 +,fnrersterermgrund=6,fnrerstespr=4,anzermprolehrer=4;LET untergrenze=0, +obergrenze=99,bestandermgrund="c02 persoenl ermaess",meldungbestleer=59, +meldungnichtspeichern=63,meldungplausi=57,meldungwarten=69,meldungspeicherung +=132,meldungspeicherfehler=179,meldungzumbestand=55,meldungzusollstunden=175, +hell="#";ROW lehrerproseiteSTRUCT (TEXT paraphe,sprechzeiten,pflichtstunden, +sollstunden,ROW anzermprolehrerTEXT erm,grund)VAR altelehrer;BOOL VAR +bearbeitungdererm,nochwelcheda;INT VAR lehrerzahl,felderprozeile, +fnrerstesbearbeitungsfeld;TEXT VAR paraphe,bearbeitungsmaske;LET +logbucheintragerm="Anw. 3.1.2 Änderungen der Stundenermäßigung", +logbucheintragspr="Anw. 3.1.3 Änderungen der Sprechzeiten";PROC neuerblock: +IF lehrerzahl=lehrerproseiteTHEN succ(dnrlehrer);nochwelcheda:=dbstatus=null; +putwert(fnrlparaphe,paraphe);changeindex;FI ;blocklesenundausgeben;IF +nochwelchedaTHEN return(tofather)ELSE enter(tograndfather)FI END PROC +neuerblock;PROC blocklesenundausgeben:IF nochwelchedaTHEN standardmeldung( +meldungwarten,niltext);lehrerzahl:=null;bildschirmblock(PROC zeilezeigen, +BOOL PROC (INT CONST )leerepruefung,null);nochwelcheda:=(lehrerzahl>null);IF +nochwelchedaTHEN paraphe:=wert(fnrlparaphe);restlichefelderloeschen;infeld(1) +;standardfelderausgeben;infeld(fnrerstesbearbeitungsfeld);FI FI . +restlichefelderloeschen:INT VAR zeilenfeld;FOR zeilenfeldFROM fnrersteparaphe ++lehrerzahl*felderprozeileUPTO lehrerproseite*felderprozeile+1REP +standardmaskenfeld(standardfeldlaenge(zeilenfeld)*blank,zeilenfeld); +feldschutz(zeilenfeld)PER .END PROC blocklesenundausgeben;PROC zeilezeigen: +INT VAR i,aktuellesfeld;aktuellesfeld:=fnrersteparaphe+felderprozeile* +lehrerzahl;lehrerzahlINCR 1;altelehrer(lehrerzahl).paraphe:=wert(fnrlparaphe) +;standardmaskenfeld(wert(fnrlparaphe),aktuellesfeld);aktuellesfeldINCR 1; +standardmaskenfeld(wert(fnrlfamname),aktuellesfeld);aktuellesfeldINCR 1;IF +bearbeitungderermTHEN altelehrer(lehrerzahl).pflichtstunden:=wert( +fnrlpflichtstd);standardmaskenfeld(wert(fnrlpflichtstd),aktuellesfeld); +aktuellesfeldINCR 1;FOR iFROM 1UPTO anzermprolehrerREP altelehrer(lehrerzahl) +.erm(i):=wert(fnrlerm1+2*(i-1));standardmaskenfeld(wert(fnrlerm1+2*(i-1)), +aktuellesfeld);aktuellesfeldINCR 1;altelehrer(lehrerzahl).grund(i):=wert( +fnrlermgrund1+2*(i-1));standardmaskenfeld(wert(fnrlermgrund1+2*(i-1)), +aktuellesfeld);aktuellesfeldINCR 1;PER ELSE altelehrer(lehrerzahl). +sprechzeiten:=wert(fnrlsprechzeit);standardmaskenfeld(wert(fnrlsprechzeit), +aktuellesfeld);aktuellesfeldINCR 1;FI END PROC zeilezeigen;BOOL PROC +leerepruefung(INT CONST dummy):TRUE END PROC leerepruefung;PROC +bearbeitunglehrer(INT CONST programm):reinitparsing; +initialisierungenvornehmen;pruefeobimbestand;IF dbstatus<>nullTHEN +standardmeldung(meldungbestleer,niltext);return(tofather);LEAVE +bearbeitunglehrerFI ;nochwelcheda:=TRUE ;standardstartproc(bearbeitungsmaske) +;startebildschirmblock(dnrlehrer,lehrerproseite-1);blocklesenundausgeben; +standardnproc.initialisierungenvornehmen:bearbeitungdererm:=programm=1;IF +bearbeitungderermTHEN bearbeitungsmaske:=maskeerm;felderprozeile:= +felderprozeileerm;fnrerstesbearbeitungsfeld:=fnrersteerm;ELSE +bearbeitungsmaske:=maskespr;felderprozeile:=felderprozeilespr; +fnrerstesbearbeitungsfeld:=fnrerstespr;FI ;standardmeldung(meldungwarten, +niltext).pruefeobimbestand:inittupel(dnrlehrer);putwert(fnrlparaphe, +standardmaskenfeld(fnrparapheeingangsmaske));search(dnrlehrer,FALSE ).END +PROC bearbeitunglehrer;PROC lehrerspeichern(BOOL CONST speichern):INT VAR +fehlerstatus:=0,i,j,sollstunden;BOOL VAR lehrerdatengeaendert;INT VAR aktfnr; +IF speichernTHEN pruefeplausibilitaet;IF fehlerstatus<>0THEN infeld( +fehlerstatus);return(tofather);LEAVE lehrerspeichernELSE +speicherungdurchführenFI ELSE standardmeldung(meldungnichtspeichern,niltext) +FI ;putwert(fnrlparaphe,paraphe);changeindex;neuerblock;.pruefeplausibilitaet +:IF bearbeitungderermTHEN standardmeldung(meldungplausi,niltext);FOR jFROM 1 +UPTO lehrerzahlREP pruefeeinezeilePER FI .pruefeeinezeile:sollstunden:=int( +altelehrer(j).pflichtstunden);FOR iFROM 0UPTO anzermprolehrer-1REP aktfnr:= +fnrersteerm+(j-1)*felderprozeile+2*i;IF standardmaskenfeld(aktfnr)<>""THEN +standardpruefe(2,aktfnr,null,null,niltext,fehlerstatus);IF fehlerstatus<>0 +THEN LEAVE pruefeplausibilitaetFI ;standardpruefe(3,aktfnr,untergrenze, +obergrenze,niltext,fehlerstatus);IF fehlerstatus<>0THEN LEAVE +pruefeplausibilitaetFI ;FI ;sollstunden:=sollstunden-int(standardmaskenfeld( +aktfnr));IF sollstunden<0THEN standardmeldung(meldungzusollstunden,niltext); +fehlerstatus:=aktfnr;LEAVE pruefeplausibilitaetELSE altelehrer(j).sollstunden +:=text(sollstunden)FI ;aktfnr:=fnrersterermgrund+(j-1)*felderprozeile+2*i;IF +standardmaskenfeld(aktfnr)<>""THEN IF NOT imbestand(bestandermgrund+ +trennerfuerimbestand+standardmaskenfeld(aktfnr),dateinameschluessel)THEN +standardmeldung(meldungzumbestand,niltext);fehlerstatus:=aktfnr;LEAVE +pruefeplausibilitaetFI FI PER .speicherungdurchführen:IF bearbeitungdererm +THEN logeintrag(logbucheintragerm)ELSE logeintrag(logbucheintragspr)FI ;FOR j +FROM 0UPTO lehrerzahl-1REP IF lehrerdatenwurdengeaendertTHEN putwert( +fnrlparaphe,altelehrer(j+1).paraphe);search(dnrlehrer,true); +speicherfehlerabfangen;IF bearbeitungderermTHEN FOR iFROM 0UPTO +anzermprolehrer-1REP putwert(fnrlerm1+2*i,standardmaskenfeld(fnrersteerm+j* +felderprozeile+2*i));putwert(fnrlermgrund1+2*i,standardmaskenfeld( +fnrersterermgrund+j*felderprozeile+2*i));PER ;putwert(fnrlsollstd,altelehrer( +j+1).sollstunden)ELSE putwert(fnrlsprechzeit,standardmaskenfeld(fnrerstespr+j +*felderprozeile));FI ;update(dnrlehrer);speicherfehlerabfangen; +standardmeldung(meldungspeicherung,altelehrer(j+1).paraphe+hell)FI PER . +lehrerdatenwurdengeaendert:lehrerdatengeaendert:=FALSE ;IF bearbeitungdererm +THEN i:=0;WHILE NOT lehrerdatengeaendertCAND i +altelehrer(j+1).erm(i+1)COR standardmaskenfeld(fnrersterermgrund+j* +felderprozeile+2*i)<>altelehrer(j+1).grund(i+1);iINCR 1PER ELSE +lehrerdatengeaendert:=standardmaskenfeld(fnrerstespr+j*felderprozeile)<> +altelehrer(j+1).sprechzeitenFI ;lehrerdatengeaendert.speicherfehlerabfangen: +IF dbstatus<>nullTHEN standardmeldung(meldungspeicherfehler,altelehrer(j+1). +paraphe+hell);return(tofather);LEAVE lehrerspeichernFI .END PROC +lehrerspeichern;END PACKET listenweiselehrererf + -- cgit v1.2.3