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.erf lehrer | 134 +++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 app/schulis/2.2.1/src/3.erf lehrer (limited to 'app/schulis/2.2.1/src/3.erf lehrer') diff --git a/app/schulis/2.2.1/src/3.erf lehrer b/app/schulis/2.2.1/src/3.erf lehrer new file mode 100644 index 0000000..47846ee --- /dev/null +++ b/app/schulis/2.2.1/src/3.erf lehrer @@ -0,0 +1,134 @@ +PACKET erflehrerDEFINES erfassunglehrer:LET trenner=" = ",komma=", ",leer="", +trennerfuerimbestand="�",dateinameschluessel="Schlüssel",dateinamefaecher= +"Fächer",null=0;LET maskenname="ms erf lehrer",fnrletztesfeld=32,fnrparaphe=2 +,fnrfamilienname=3,fnrrufname=4,fnrnamenszusatz=5,fnramtsbezeichnung=6, +fnrgeschlecht=7,fnrstrasseundnummer=8,fnrplzundort=9,fnrtelefon=10, +fnrlehrbeffach=11,fnrlehrbefart=12,fnrpflichtstunden=23,fnrermaessigung=24, +fnrermaessigungsgrund=25,fnrsprechzeiten=32,anzlehrbefprolehrer=6, +anzermprolehrer=4;LET untergrenze=0,obergrenze=99,paraphenlaenge=4, +bestandermgrund="c02 persoenl ermaess",bestandartlehrbef= +"c02 art lehrbefaehigung",meldungparaphezulang=178,meldungzugeschlecht=55, +meldungzumbestand=55,meldungzusollstunden=175,meldungzulehrbeffach=177, +meldungzufachdoppelt=176;ROW anzlehrbefprolehrerSTRUCT (TEXT fach,art)VAR +altelehrbefaehigungen;TEXT VAR alteparaphe;INT VAR sollstunden;PROC +erfassunglehrer(INT CONST proznr):reinitparsing;SELECT proznrOF CASE 1: +setzeerfassungsparameterCASE 2:zeigelehrerzurbearbeitungCASE 3: +pruefeplausibilitaetCASE 4:setzewertefuerdbspeicherungCASE 5: +setzeidentiobjektfuerobjektlisteCASE 6:lehrerlesenCASE 7:lehreraendernCASE 8: +lehrereinfuegenCASE 9:lehrerloeschenEND SELECT END PROC erfassunglehrer;PROC +setzeerfassungsparameter:systemdboff;setzeerfassungsparameter(dnrlehrer, +maskenname,fnrletztesfeld).END PROC setzeerfassungsparameter;PROC +zeigelehrerzurbearbeitung:INT VAR i;alteparaphe:=wert(fnrlparaphe); +setzeerfassungsfeld(wert(fnrlparaphe),fnrparaphe);setzeerfassungsfeld(wert( +fnrlfamname),fnrfamilienname);setzeerfassungsfeld(wert(fnrlrufname), +fnrrufname);setzeerfassungsfeld(wert(fnrlzusatz),fnrnamenszusatz); +setzeerfassungsfeld(wert(fnrlamtsbeztitel),fnramtsbezeichnung); +setzeerfassungsfeld(wert(fnrlgeschlecht),fnrgeschlecht);setzeerfassungsfeld( +wert(fnrlpflichtstd),fnrpflichtstunden);FOR iFROM 0UPTO anzermprolehrer-1REP +setzeerfassungsfeld(wert(fnrlerm1+2*i),fnrermaessigung+2*i); +setzeerfassungsfeld(wert(fnrlermgrund1+2*i),fnrermaessigungsgrund+2*i)PER ; +FOR iFROM 0UPTO 5REP setzeerfassungsfeld(altelehrbefaehigungen(i+1).fach, +fnrlehrbeffach+2*i);setzeerfassungsfeld(altelehrbefaehigungen(i+1).art, +fnrlehrbefart+2*i)PER ;setzeerfassungsfeld(wert(fnrlsprechzeit), +fnrsprechzeiten);setzeerfassungsfeld(wert(fnrlstrnr),fnrstrasseundnummer); +setzeerfassungsfeld(wert(fnrlplzort),fnrplzundort);setzeerfassungsfeld(wert( +fnrltelnr),fnrtelefon)END PROC zeigelehrerzurbearbeitung;PROC +pruefeplausibilitaet:INT VAR i,j,fehlerstatus;pruefe(1,erfassungsmaske,PROC +erfassungswert,fnrparaphe,null,null,leer,fehlerstatus);IF fehlerstatus<>0 +THEN setzefehlerstatus(fehlerstatus);LEAVE pruefeplausibilitaetFI ;IF length( +erfassungswert(fnrparaphe))>paraphenlaengeTHEN meldeauffaellig( +erfassungsmaske,meldungparaphezulang);setzefehlerstatus(fnrparaphe);LEAVE +pruefeplausibilitaetFI ;pruefe(1,erfassungsmaske,PROC erfassungswert, +fnrfamilienname,null,null,leer,fehlerstatus);IF fehlerstatus<>0THEN +setzefehlerstatus(fehlerstatus);LEAVE pruefeplausibilitaetFI ;IF +erfassungswert(fnrgeschlecht)<>"m"AND erfassungswert(fnrgeschlecht)<>"w"THEN +meldeauffaellig(erfassungsmaske,meldungzugeschlecht);setzefehlerstatus( +fnrgeschlecht);LEAVE pruefeplausibilitaetFI ;FOR iFROM 0UPTO +anzlehrbefprolehrer-1REP IF erfassungswert(fnrlehrbefart+2*i)<>""THEN IF +erfassungswert(fnrlehrbeffach+2*i)=""THEN meldeauffaellig(erfassungsmaske, +meldungzulehrbeffach);setzefehlerstatus(fnrlehrbeffach+2*i);LEAVE +pruefeplausibilitaetFI ;IF NOT imbestand(bestandartlehrbef+ +trennerfuerimbestand+erfassungswert(fnrlehrbefart+2*i),dateinameschluessel) +THEN meldeauffaellig(erfassungsmaske,meldungzumbestand);setzefehlerstatus( +fnrlehrbefart+2*i);LEAVE pruefeplausibilitaetFI FI ;IF erfassungswert( +fnrlehrbeffach+2*i)<>""THEN FOR jFROM i+1UPTO anzlehrbefprolehrer-1REP IF +erfassungswert(fnrlehrbeffach+2*i)=erfassungswert(fnrlehrbeffach+2*j)THEN +meldeauffaellig(erfassungsmaske,meldungzufachdoppelt);setzefehlerstatus( +fnrlehrbeffach+2*i);LEAVE pruefeplausibilitaetFI PER ;IF NOT imbestand( +erfassungswert(fnrlehrbeffach+2*i),dateinamefaecher)THEN meldeauffaellig( +erfassungsmaske,meldungzumbestand);setzefehlerstatus(fnrlehrbeffach+2*i); +LEAVE pruefeplausibilitaetFI FI PER ;IF erfassungswert(fnrpflichtstunden)<>"" +THEN pruefe(2,erfassungsmaske,PROC erfassungswert,fnrpflichtstunden,null,null +,leer,fehlerstatus);IF fehlerstatus<>0THEN setzefehlerstatus(fehlerstatus); +LEAVE pruefeplausibilitaetFI ;pruefe(3,erfassungsmaske,PROC erfassungswert, +fnrpflichtstunden,untergrenze,obergrenze,leer,fehlerstatus);IF fehlerstatus<> +0THEN setzefehlerstatus(fehlerstatus);LEAVE pruefeplausibilitaetFI ;FI ; +sollstunden:=int(erfassungswert(fnrpflichtstunden));FOR iFROM 0UPTO +anzermprolehrer-1REP IF erfassungswert(fnrermaessigung+2*i)<>""THEN pruefe(2, +erfassungsmaske,PROC erfassungswert,fnrermaessigung+2*i,null,null,leer, +fehlerstatus);IF fehlerstatus<>0THEN setzefehlerstatus(fehlerstatus);LEAVE +pruefeplausibilitaetFI ;pruefe(3,erfassungsmaske,PROC erfassungswert, +fnrermaessigung+2*i,untergrenze,obergrenze,leer,fehlerstatus);IF fehlerstatus +<>0THEN setzefehlerstatus(fehlerstatus);LEAVE pruefeplausibilitaetFI ;FI ; +sollstunden:=sollstunden-int(erfassungswert(fnrermaessigung+2*i));IF +sollstunden<0THEN meldeauffaellig(erfassungsmaske,meldungzusollstunden); +setzefehlerstatus(fnrermaessigung+2*i);LEAVE pruefeplausibilitaetFI ;IF +erfassungswert(fnrermaessigungsgrund+2*i)<>""THEN IF NOT imbestand( +bestandermgrund+trennerfuerimbestand+erfassungswert(fnrermaessigungsgrund+2*i +),dateinameschluessel)THEN meldeauffaellig(erfassungsmaske,meldungzumbestand) +;setzefehlerstatus(fnrermaessigungsgrund+2*i);LEAVE pruefeplausibilitaetFI +FI PER END PROC pruefeplausibilitaet;PROC setzewertefuerdbspeicherung:INT +VAR i;putwert(fnrlparaphe,erfassungswert(fnrparaphe));putwert(fnrlfamname, +erfassungswert(fnrfamilienname));putwert(fnrlrufname,erfassungswert( +fnrrufname));putwert(fnrlzusatz,erfassungswert(fnrnamenszusatz));putwert( +fnrlamtsbeztitel,erfassungswert(fnramtsbezeichnung));putwert(fnrlgeschlecht, +erfassungswert(fnrgeschlecht));putintwert(fnrlsollstd,sollstunden);putwert( +fnrlpflichtstd,erfassungswert(fnrpflichtstunden));FOR iFROM 0UPTO +anzermprolehrer-1REP putwert(fnrlerm1+2*i,erfassungswert(fnrermaessigung+2*i) +);putwert(fnrlermgrund1+2*i,erfassungswert(fnrermaessigungsgrund+2*i))PER ; +putwert(fnrlsprechzeit,erfassungswert(fnrsprechzeiten));putwert(fnrlstrnr, +erfassungswert(fnrstrasseundnummer));putwert(fnrlplzort,erfassungswert( +fnrplzundort));putwert(fnrltelnr,erfassungswert(fnrtelefon))END PROC +setzewertefuerdbspeicherung;PROC setzeidentiobjektfuerobjektliste:LET +trennsymbolfuerobli="$";TEXT VAR identizeile;identizeile:=wert(fnrlparaphe)+ +trenner+wert(fnrlfamname)+komma+wert(fnrlrufname);setzeidentiwert( +identizeilemitschluesselanhang).identizeilemitschluesselanhang:identizeile+ +trennsymbolfuerobli+wert(fnrlparaphe).END PROC +setzeidentiobjektfuerobjektliste;PROC lehrerlesen:INT VAR i,j;putwert( +fnrlparaphe,schluessel);search(dnrlehrer,TRUE );IF dbstatus=okTHEN +saveupdateposition(dnrlehrer);putwert(fnrlbparaphe,schluessel);putwert( +fnrlbfach,leer);search(ixlbpar);i:=0;WHILE dbstatus=okCAND i< +anzlehrbefprolehrerCAND wert(fnrlbparaphe)=schluesselREP i:=i+1; +altelehrbefaehigungen(i).fach:=wert(fnrlbfach);altelehrbefaehigungen(i).art:= +wert(fnrlbart);succ(ixlbpar);PER ;FOR jFROM i+1UPTO anzlehrbefprolehrerREP +altelehrbefaehigungen(j).fach:="";altelehrbefaehigungen(j).art:=""PER ; +dbstatus(ok)FI END PROC lehrerlesen;PROC lehreraendern:INT VAR i; +restoreupdateposition(dnrlehrer);update(dnrlehrer);logbucheintrag("Änderung") +;FOR iFROM 0UPTO anzlehrbefprolehrer-1REP IF alteparaphe<>schluesselCOR +erfassungswert(fnrlehrbeffach+2*i)<>altelehrbefaehigungen(i+1).fachCOR +erfassungswert(fnrlehrbefart+2*i)<>altelehrbefaehigungen(i+1).artTHEN IF +altelehrbefaehigungen(i+1).fach=leerCAND erfassungswert(fnrlehrbeffach+2*i)<> +leerTHEN putwert(fnrlbfach,erfassungswert(fnrlehrbeffach+2*i));putwert( +fnrlbart,erfassungswert(fnrlehrbefart+2*i));putwert(fnrlbparaphe,schluessel); +insert(dnrlehrbefaehigungen)ELSE putwert(fnrlbfach,altelehrbefaehigungen(i+1) +.fach);putwert(fnrlbparaphe,alteparaphe);putwert(fnrlbart, +altelehrbefaehigungen(i+1).art);IF erfassungswert(fnrlehrbeffach+2*i)=leer +THEN delete(dnrlehrbefaehigungen)ELSE search(dnrlehrbefaehigungen,TRUE );IF +dbstatus=okTHEN putwert(fnrlbfach,erfassungswert(fnrlehrbeffach+2*i));putwert +(fnrlbart,erfassungswert(fnrlehrbefart+2*i));putwert(fnrlbparaphe,schluessel) +;update(dnrlehrbefaehigungen)FI FI FI ;dbstatus(ok)FI PER END PROC +lehreraendern;PROC lehrereinfuegen:INT VAR i;insert(dnrlehrer);logbucheintrag +("Neueinfügen");FOR iFROM 0UPTO anzlehrbefprolehrer-1REP IF erfassungswert( +fnrlehrbeffach+2*i)<>""THEN putwert(fnrlbfach,erfassungswert(fnrlehrbeffach+2 +*i));putwert(fnrlbart,erfassungswert(fnrlehrbefart+2*i));putwert(fnrlbparaphe +,schluessel);insert(dnrlehrbefaehigungen)FI PER END PROC lehrereinfuegen; +PROC lehrerloeschen:delete(dnrlehrer);logbucheintrag("Entfernen");putwert( +fnrlbparaphe,schluessel);putwert(fnrlbfach,leer);search(ixlbpar);WHILE +dbstatus=okCAND wert(fnrlbparaphe)=schluesselREP delete(dnrlehrbefaehigungen) +;succ(ixlbpar);PER ;dbstatus(ok)END PROC lehrerloeschen;PROC logbucheintrag( +TEXT CONST logergaenzung):TEXT VAR eintrag:="Anw. 3.1.1 ";eintragCAT +logergaenzung;eintragCAT " """;eintragCAT schluessel;eintragCAT """ """; +eintragCAT wert(fnrlfamname);eintragCAT """";logeintrag(eintrag)END PROC +logbucheintrag;TEXT PROC schluessel:erfassungswert(fnrparaphe)END PROC +schluessel;END PACKET erflehrer + -- cgit v1.2.3