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/0.schulkenndaten bearbeiten | 109 ++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 app/schulis/2.2.1/src/0.schulkenndaten bearbeiten (limited to 'app/schulis/2.2.1/src/0.schulkenndaten bearbeiten') diff --git a/app/schulis/2.2.1/src/0.schulkenndaten bearbeiten b/app/schulis/2.2.1/src/0.schulkenndaten bearbeiten new file mode 100644 index 0000000..d82c587 --- /dev/null +++ b/app/schulis/2.2.1/src/0.schulkenndaten bearbeiten @@ -0,0 +1,109 @@ +PACKET schulkenndatenbearbeitenDEFINES schulkenndatenbearbeiten, +schulkenndatenspeichern:LET maske="ms erf schulkenndaten";LET sachgebiet= +"c02 schulkenndaten";LET schuljahr="Schuljahr",schulhalbjahr="Schulhalbjahr", +anfangschulhj="Anfang Schulhalbjahr",endeschulhj="Ende Schulhalbjahr", +schulname="Schulname",schulleiter="Schulleiter",schulort="Schulort", +schulstrasse="Schulstraße",schulrufnummer="Schulrufnummer";LET fnrschuljahr=2 +,fnrschulhalbjahr=3,fnranfangschulhj=4,fnrendeschulhj=5,fnrschulname=6, +fnrschulleiter=7,fnrschulort=8,fnrschulstrasse=9,fnrschulrufnummer=10;LET +melddatenwerdengespeichert=50,meldfehlendesdatum=52,melddatennichtspeichern= +63,meldkeinupdatemoeglich=73,meldungueltigesdatum=157,meldungueltigeangabe= +162;INT VAR ifnr;LET maxfelder=10;ROW maxfelderTEXT VAR alterwert;LET +laengeschuljahr=4;INT VAR erstesjahr,zweitesjahr;LET zwischenpunkt=".", +logbucheintrag="Anw. 10.3.1 Änderung an den Schulkenndaten";PROC +schulkenndatenbearbeiten:standardstartproc(maske);zeigeschulkenndaten;infeld( +fnrschuljahr);standardnproc.zeigeschulkenndaten:alterwert(fnrschuljahr):= +schulkenndatum(schuljahr);alterwert(fnrschulhalbjahr):=schulkenndatum( +schulhalbjahr);alterwert(fnranfangschulhj):=kurzdatum(schulkenndatum( +anfangschulhj));alterwert(fnrendeschulhj):=kurzdatum(schulkenndatum( +endeschulhj));alterwert(fnrschulname):=schulkenndatum(schulname);alterwert( +fnrschulleiter):=schulkenndatum(schulleiter);alterwert(fnrschulort):= +schulkenndatum(schulort);alterwert(fnrschulstrasse):=schulkenndatum( +schulstrasse);alterwert(fnrschulrufnummer):=schulkenndatum(schulrufnummer); +FOR ifnrFROM fnrschuljahrUPTO maxfelderREP standardmaskenfeld(alterwert(ifnr) +,ifnr)PER ;infeld(fnrschuljahr);standardfelderausgeben.END PROC +schulkenndatenbearbeiten;PROC schulkenndatenspeichern(BOOL CONST speichern): +IF NOT speichernTHEN standardmeldung(melddatennichtspeichern,"");pause(10); +return(2)ELSE INT VAR fehlerstatus:=0;dbstatus(0);pruefeplausibilitaet( +fehlerstatus);IF fehlerstatus=0THEN datenspeichern;logeintrag(logbucheintrag) +;IF dbstatus<>0THEN standardmeldung(meldkeinupdatemoeglich,"");return(1)ELSE +return(2)FI ELSE infeld(fehlerstatus);return(1)FI FI .datenspeichern: +standardmeldung(melddatenwerdengespeichert,"");IF standardmaskenfeld( +fnrschuljahr)<>alterwert(fnrschuljahr)THEN putwert(fnrschlsachgebiet, +sachgebiet);putwert(fnrschlschluessel,schuljahr);search(dnrschluessel,TRUE ); +putwert(fnrschllangtext,standardmaskenfeld(fnrschuljahr));IF dbstatus=0THEN +update(dnrschluessel);IF dbstatus<>0THEN infeld(fnrschuljahr);LEAVE +datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld( +fnrschulhalbjahr)<>alterwert(fnrschulhalbjahr)THEN putwert(fnrschlsachgebiet, +sachgebiet);putwert(fnrschlschluessel,schulhalbjahr);search(dnrschluessel, +TRUE );putwert(fnrschllangtext,standardmaskenfeld(fnrschulhalbjahr));IF +dbstatus=0THEN update(dnrschluessel);IF dbstatus<>0THEN infeld( +fnrschulhalbjahr);LEAVE datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF +standardmaskenfeld(fnranfangschulhj)<>alterwert(fnranfangschulhj)THEN putwert +(fnrschlsachgebiet,sachgebiet);putwert(fnrschlschluessel,anfangschulhj); +search(dnrschluessel,TRUE );putwert(fnrschllangtext,langdatum( +standardmaskenfeld(fnranfangschulhj)));IF dbstatus=0THEN update(dnrschluessel +);IF dbstatus<>0THEN infeld(fnranfangschulhj);LEAVE datenspeichernFI ELSE +insert(dnrschluessel)FI FI ;IF standardmaskenfeld(fnrendeschulhj)<>alterwert( +fnrendeschulhj)THEN putwert(fnrschlsachgebiet,sachgebiet);putwert( +fnrschlschluessel,endeschulhj);search(dnrschluessel,TRUE );putwert( +fnrschllangtext,langdatum(standardmaskenfeld(fnrendeschulhj)));IF dbstatus=0 +THEN update(dnrschluessel);IF dbstatus<>0THEN infeld(fnrendeschulhj);LEAVE +datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld( +fnrschulname)<>alterwert(fnrschulname)THEN putwert(fnrschlsachgebiet, +sachgebiet);putwert(fnrschlschluessel,schulname);search(dnrschluessel,TRUE ); +putwert(fnrschllangtext,standardmaskenfeld(fnrschulname));IF dbstatus=0THEN +update(dnrschluessel);IF dbstatus<>0THEN infeld(fnrschulname);LEAVE +datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld( +fnrschulleiter)<>alterwert(fnrschulleiter)THEN putwert(fnrschlsachgebiet, +sachgebiet);putwert(fnrschlschluessel,schulleiter);search(dnrschluessel,TRUE +);putwert(fnrschllangtext,standardmaskenfeld(fnrschulleiter));IF dbstatus=0 +THEN update(dnrschluessel);IF dbstatus<>0THEN infeld(fnrschulleiter);LEAVE +datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld( +fnrschulort)<>alterwert(fnrschulort)THEN putwert(fnrschlsachgebiet,sachgebiet +);putwert(fnrschlschluessel,schulort);search(dnrschluessel,TRUE );putwert( +fnrschllangtext,standardmaskenfeld(fnrschulort));IF dbstatus=0THEN update( +dnrschluessel);IF dbstatus<>0THEN infeld(fnrschulort);LEAVE datenspeichernFI +ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld(fnrschulstrasse)<> +alterwert(fnrschulstrasse)THEN putwert(fnrschlsachgebiet,sachgebiet);putwert( +fnrschlschluessel,schulstrasse);search(dnrschluessel,TRUE );putwert( +fnrschllangtext,standardmaskenfeld(fnrschulstrasse));IF dbstatus=0THEN update +(dnrschluessel);IF dbstatus<>0THEN infeld(fnrschulstrasse);LEAVE +datenspeichernFI ELSE insert(dnrschluessel)FI FI ;IF standardmaskenfeld( +fnrschulrufnummer)<>alterwert(fnrschulrufnummer)THEN putwert( +fnrschlsachgebiet,sachgebiet);putwert(fnrschlschluessel,schulrufnummer); +search(dnrschluessel,TRUE );putwert(fnrschllangtext,standardmaskenfeld( +fnrschulrufnummer));IF dbstatus=0THEN update(dnrschluessel);IF dbstatus<>0 +THEN infeld(fnrschulrufnummer);LEAVE datenspeichernFI ELSE insert( +dnrschluessel)FI FI .END PROC schulkenndatenspeichern;PROC +pruefeplausibilitaet(INT VAR fstatus):TEXT VAR pruefwert;pruefwert:= +standardmaskenfeld(fnrschuljahr);IF length(pruefwert)<>laengeschuljahrTHEN +standardmeldung(meldungueltigeangabe,"");fstatus:=fnrschuljahr;LEAVE +pruefeplausibilitaetFI ;erstesjahr:=int(pruefwert);IF NOT lastconversionok +THEN standardmeldung(meldungueltigeangabe,"");fstatus:=fnrschuljahr;LEAVE +pruefeplausibilitaetELIF erstesjahr<0THEN standardmeldung( +meldungueltigeangabe,"");fstatus:=fnrschuljahr;LEAVE pruefeplausibilitaetFI ; +erstesjahr:=int(subtext(pruefwert,1,2));zweitesjahr:=int(subtext(pruefwert,3, +4));IF ((erstesjahr+1)MOD 100)<>zweitesjahrTHEN standardmeldung( +meldungueltigeangabe,"");fstatus:=fnrschuljahr;LEAVE pruefeplausibilitaetFI ; +IF standardmaskenfeld(fnrschulhalbjahr)<>"1"AND standardmaskenfeld( +fnrschulhalbjahr)<>"2"THEN standardmeldung(meldungueltigeangabe,"");fstatus:= +fnrschulhalbjahr;LEAVE pruefeplausibilitaetFI ;IF fehlerhaftesdatum( +standardmaskenfeld(fnranfangschulhj))THEN standardmeldung( +meldungueltigesdatum,"");fstatus:=fnranfangschulhj;LEAVE pruefeplausibilitaet +FI ;IF fehlerhaftesdatum(standardmaskenfeld(fnrendeschulhj))THEN +standardmeldung(meldungueltigesdatum,"");fstatus:=fnrendeschulhj;LEAVE +pruefeplausibilitaetFI ;IF subtext(standardmaskenfeld(fnrendeschulhj),5,6)<> +"00"AND NOT (datum(standardmaskenfeld(fnrendeschulhj))>datum( +standardmaskenfeld(fnranfangschulhj)))THEN standardmeldung( +meldungueltigesdatum,"");fstatus:=fnrendeschulhj;LEAVE pruefeplausibilitaet +FI ;IF standardmaskenfeld(fnrschulname)=""THEN standardmeldung( +meldfehlendesdatum,"");fstatus:=fnrschulname;LEAVE pruefeplausibilitaetFI . +END PROC pruefeplausibilitaet;BOOL PROC fehlerhaftesdatum(TEXT CONST +testdatum):datum(testdatum)=nildatumEND PROC fehlerhaftesdatum;TEXT PROC +kurzdatum(TEXT CONST langdatum):subtext(langdatum,1,2)+subtext(langdatum,4,5) ++subtext(langdatum,7,8)END PROC kurzdatum;TEXT PROC langdatum(TEXT CONST +kurzdatum):subtext(kurzdatum,1,2)+zwischenpunkt+subtext(kurzdatum,3,4)+ +zwischenpunkt+subtext(kurzdatum,5,6)END PROC langdatum;END PACKET +schulkenndatenbearbeiten + -- cgit v1.2.3