summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/0.schulkenndaten bearbeiten
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/0.schulkenndaten bearbeiten')
-rw-r--r--app/schulis/2.2.1/src/0.schulkenndaten bearbeiten109
1 files changed, 109 insertions, 0 deletions
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
+