app/schulis/2.2.1/src/1.hoeherstufen anw do.prog

Raw file
Back to index

PACKET hoeherstufenanwdoprogDEFINES halbjahreswechselbearbeitung,
hochsetzeneingangsbehandlung,hochsetzenbearbeitung,hochsetzenprotokolldrucken
:#LET schuljahreswechsel="isp.hoeherstufen local.sj",halbjahreswechsel=
"isp.hoeherstufen local.hj";#LET niltext="",tofather=1,tograndfather=2,
maxjahr=100,minjahr="00";LET zumschuljahresende=1,zumhalbjahresende=0;LET 
schluesselschuljahr="Schuljahr",schluesselhalbjahr="Schulhalbjahr",
schuljahresfeld=2,infofeld=3;LET meldende=110,melddruck=58,meldwarten=156;
LET protname="Fehlerprotokoll";LET rcodeprot=1001;DATASPACE VAR ds;INT VAR 
kanal:=channel,rcode;TAG VAR aktuellemaske;TEXT VAR aktschuljahr,akthalbjahr,
kommendesschuljahr;LET logbucheintragsjwechsel="Anw. 1.5.1 Hochsetzen ",
logbucheintraghjwechsel="Anw. 1.5.2 Halbjahreswechsel ";TEXT VAR 
logbuchtextanfang;PROC hochsetzeneingangsbehandlung:reinitparsing;
eingangsbildschirmzeigen;schuljahrzeigen;aufaktionwarten.
eingangsbildschirmzeigen:initmaske(aktuellemaske,maske(vergleichsknoten));
standardstartproc(maske(vergleichsknoten)).schuljahrzeigen:schuljahrIN 
schuljahresfeld.schuljahr:aktschuljahr:=schulkenndatum(schluesselschuljahr);
akthalbjahr:=schulkenndatum(schluesselhalbjahr);kommendesschuljahr:=subtext(
aktschuljahr,3,4);kommendesschuljahrCAT (jahrestext(int(kommendesschuljahr)+1
));aktschuljahr.aufaktionwarten:infeld(infofeld);standardnproc.END PROC 
hochsetzeneingangsbehandlung;PROC halbjahreswechselbearbeitung:
logbuchtextanfang:=logbucheintraghjwechsel;logeintrag(logbucheintraghjwechsel
+"gestartet");abschnittsendebearbeitung(zumhalbjahresende)END PROC 
halbjahreswechselbearbeitung;PROC hochsetzenbearbeitung:logbuchtextanfang:=
logbucheintragsjwechsel;logeintrag(logbucheintragsjwechsel+"gestartet");
abschnittsendebearbeitung(zumschuljahresende)END PROC hochsetzenbearbeitung;
PROC abschnittsendebearbeitung(INT CONST zeitpunkt):meldewarten;
fehlerbehandlungvorbereiten;verarbeitung;reinitparsing;fehlerauswertung.
meldewarten:standardmeldung(meldwarten,niltext).fehlerbehandlungvorbereiten:
forget(protname,quiet);disablestop.verarbeitung:kanal:=channel;#17.10.88dr#
putsndparam(1,text(kanal));break(quiet);IF zeitpunkt=zumschuljahresendeTHEN 
doonserver("schuljahreswechsel",rcode)ELSE doonserver("halbjahreswechsel",
rcode)FI ;continue(kanal).fehlerauswertung:loeschemeldung(aktuellemaske);IF 
rcode=rcodeprotTHEN ds:=getrcvds;copy(ds,protname);forget(ds);logeintrag(
logbuchtextanfang+"beendet mit Fehlern");zeigefehlerprotokollELSE logeintrag(
logbuchtextanfang+"beendet ohne Fehler");fertigmeldungFI .
zeigefehlerprotokoll:store(FALSE );clearerror;enablestop;editiere(protname).
fertigmeldung:IF NOT iserrorTHEN standardmeldung(meldende,niltext);FI ;return
(tofather).END PROC abschnittsendebearbeitung;PROC hochsetzenprotokolldrucken
:print(protname);forget(protname,quiet);reorganizescreen;standardmeldung(
melddruck,niltext);return(tograndfather)END PROC hochsetzenprotokolldrucken;
TEXT PROC jahrestext(INT CONST jahr):IF jahr=maxjahrTHEN minjahrELSE text(
jahr)FI END PROC jahrestext;END PACKET hoeherstufenanwdoprog