app/schulis/2.2.1/src/0.schulkenndaten bearbeiten

Raw file
Back to index

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