summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer')
-rw-r--r--app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer137
1 files changed, 137 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer b/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer
new file mode 100644
index 0000000..9c695d8
--- /dev/null
+++ b/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer
@@ -0,0 +1,137 @@
+PACKET anschrunterrichtsvertlgfuerlehrerDEFINES
+unterrichtsvertlgfuerlehrereingang,unterrichtsvertlgfuerlehrerstarten,
+unterrichtsvertlgfuerlehrersonderwerte,unterrichtsvertlgfuerlehrermultistop,
+unterrichtsvertlgfuerlehrerdruckdateibauen:LET maske=
+"ms unterrichtsverteilung fuer lehrer drucken",fnrparaphe=2,fnrzeitwuensche=3
+,fnraktsj=4,fnrbsausgabe=5,fnrdrausgabe=6,mnrbittewarten=69,
+mnrkeinegueltigeparaphe=344,mnrlistewirdaufbereitet=190,trenner="/",blank=" "
+,niltext="";TEXT CONST v1datlehrer:="vordruck1 unterrichtsvertlg fuer lehrer"
+,v2datlehrveranstgn:="vordruck2 unterrichtsvertlg fuer lehrer",
+v3dataktschuelergr:="vordruck4 auskunft lehrer",v4datzeitwuensche:=
+"vordruck5 auskunft lehrer",bestandnamepersoenlermaessigung:=
+"c02 persoenl ermaess";LET swsj=520,swhj=521,swanrede=522,
+swermaessgrund1langtext=530,swermaessgrund2langtext=531,
+swermaessgrund3langtext=532,swermaessgrund4langtext=533,swfach=534,swkennung=
+535,swwstd=536,swdummy=526,ganztage=520,ganzgew=521,vormtage=522,vormgew=523,
+nachtage=524,nachgew=525;BOOL VAR bildschirmausgabe,mitzeitwuenschen,
+einzelbearbeitung,aktsj;TEXT VAR angegebeneparaphe:="",aktparaphe,halbjahr,
+schuljahr,wochstdn,fachkennung;INT VAR gemerkterdbstatus,status,sollstdn,
+differenz,summewochstdn:=0,zeilenhilfszahl,zeilenzahl,zusatzzeilen,
+swaktklassenleiter,swaktstellvertreter;BOOL PROC paraphevorhanden:putwert(
+fnrlparaphe,angegebeneparaphe);search(dnrlehrer,TRUE );IF dbstatus=0THEN
+TRUE ELSE FALSE FI END PROC paraphevorhanden;PROC
+unterrichtsvertlgfuerlehrereingang:standardvproc(maske)END PROC
+unterrichtsvertlgfuerlehrereingang;PROC unterrichtsvertlgfuerlehrerstarten:
+standardpruefe(5,fnrbsausgabe,fnrdrausgabe,0,"",status);IF status<>0THEN
+infeld(status);return(1);ELSE angegebeneparaphe:=standardmaskenfeld(
+fnrparaphe);IF angegebeneparaphe=niltextCOR paraphevorhandenTHEN
+bildschirmausgabe:=standardmaskenfeld(fnrbsausgabe)<>niltext;
+einzelbearbeitung:=standardmaskenfeld(fnrparaphe)<>niltext;mitzeitwuenschen:=
+standardmaskenfeld(fnrzeitwuensche)<>niltext;aktsj:=standardmaskenfeld(
+fnraktsj)<>niltext;aktparaphe:=angegebeneparaphe;startenausfuehrenELSE
+standardmeldung(mnrkeinegueltigeparaphe,niltext);return(1)FI ;FI .
+startenausfuehren:halbjahr:=schulkenndatum("Schulhalbjahr");schuljahr:=
+schulkenndatum("Schuljahr");IF NOT (aktsj)THEN geplanteshjundsjberechnen(
+halbjahr,schuljahr);FI ;setzesonderwerteschulkenndaten;setzewerte;
+standardmeldung(mnrbittewarten,niltext);zusammengesetztesanschreiben(
+dnrlehrer,bildschirmausgabe,einzelbearbeitung,BOOL PROC
+unterrichtsvertlgfuerlehrersonderwerte,BOOL PROC
+unterrichtsvertlgfuerlehrermultistop,TEXT PROC
+unterrichtsvertlgfuerlehrerdruckdateibauen).setzewerte:putwert(fnrlparaphe,
+aktparaphe)END PROC unterrichtsvertlgfuerlehrerstarten;BOOL PROC
+unterrichtsvertlgfuerlehrermultistop:BOOL VAR ok;IF einzelbearbeitungTHEN ok
+:=angegebeneparaphe=wert(fnrlparaphe)AND dbstatus=0ELSE ok:=dbstatus=0FI ;ok
+END PROC unterrichtsvertlgfuerlehrermultistop;BOOL PROC
+unterrichtsvertlgfuerlehrersonderwerte:TEXT VAR grund1,grund2,grund3,grund4;
+initialisieresonderwerte;aktparaphe:=wert(fnrlparaphe);adressat(aktparaphe);
+gemerkterdbstatus:=dbstatus;setzesonderwert(swsj,subtext(schuljahr,1,2)+
+trenner+subtext(schuljahr,3,4));setzesonderwert(swhj,halbjahr);TEXT VAR
+anredetext;IF wert(fnrlgeschlecht)="m"THEN anredetext:="Herrn"ELSE anredetext
+:="Frau";FI ;setzesonderwert(swanrede,anredetext);grund1:=wert(fnrlermgrund1)
+;grund2:=wert(fnrlermgrund2);grund3:=wert(fnrlermgrund3);grund4:=wert(
+fnrlermgrund4);sollstdn:=intwert(fnrlsollstd);inittupel(dnrschluessel);
+putwert(fnrschlsachgebiet,bestandnamepersoenlermaessigung);putwert(
+fnrschlschluessel,grund1);search(dnrschluessel,TRUE );IF dbstatus=0THEN
+setzesonderwert(swermaessgrund1langtext,wert(fnrschllangtext))ELSE
+setzesonderwert(swermaessgrund1langtext,blank)FI ;putwert(fnrschlschluessel,
+grund2);search(dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert(
+swermaessgrund2langtext,wert(fnrschllangtext));ELSE setzesonderwert(
+swermaessgrund2langtext,blank);FI ;putwert(fnrschlschluessel,grund3);search(
+dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert(
+swermaessgrund3langtext,wert(fnrschllangtext))ELSE setzesonderwert(
+swermaessgrund3langtext,blank)FI ;putwert(fnrschlschluessel,grund4);search(
+dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert(
+swermaessgrund4langtext,wert(fnrschllangtext))ELSE setzesonderwert(
+swermaessgrund4langtext,blank)FI ;inittupel(dnrlehrveranstaltungen);putwert(
+fnrlvsj,schuljahr);putwert(fnrlvhj,halbjahr);putwert(fnrlvparaphe,aktparaphe)
+;search(ixlvsjhjpar,TRUE );IF dbstatus=0THEN fachkennung:=wert(
+fnrlvfachkennung);wochstdn:=wert(fnrlvwochenstd);setzesonderwert(swfach,
+subtext(fachkennung,1,2));setzesonderwert(swkennung,subtext(fachkennung,3,6))
+;setzesonderwert(swwstd,wochstdn);summewochstdn:=int(wochstdn);ELSE
+setzesonderwert(swfach,blank);setzesonderwert(swkennung,blank);
+setzesonderwert(swwstd,blank);summewochstdn:=0;FI ;dbstatus(gemerkterdbstatus
+);TRUE END PROC unterrichtsvertlgfuerlehrersonderwerte;TEXT PROC
+unterrichtsvertlgfuerlehrerdruckdateibauen:LET druckdatei="liste.1",
+hilfsdatei="hilfsdatei";TEXT VAR zeile;zeilenzahl:=0;zusatzzeilen:=0;
+vordruckeholen;setzemitseitennummern(TRUE );druckvorbereiten;standardmeldung(
+mnrlistewirdaufbereitet,niltext);briefalternative(v1datlehrer,hilfsdatei);
+hilfsdateiindruckdatei(hilfsdatei);vordruck2ggfxmalindruckdatei;zeile:=blank;
+druckzeileschreiben(zeile);zeilenzahlINCR 1;zeile:=42*blank+"Wstd. Summe: "+
+text(summewochstdn,2);druckzeileschreiben(zeile);zeilenzahlINCR 1;IF sollstdn
+<>summewochstdnTHEN differenz:=sollstdn-summewochstdn;IF differenz<0THEN
+zeile:=43*blank+"Mehrarbeit: "+text(-differenz,2)+" Std.";ELSE zeile:=24*
+blank+"Sollstunden unterschritten um: "+text(differenz,2)+" Std.";FI ;
+druckzeileschreiben(zeile);zeilenzahlINCR 1;FI ;zeilenzahl:=5;
+vordruck3ggfindruckdatei;IF mitzeitwuenschenTHEN zeilenzahl:=17;
+vordruck4ggfindruckdatei;FI ;drucknachbereitenohneausdrucken;
+vordruckeloeschen;druckdatei.vordruckeholen:fetch(v1datlehrer,/
+"anschreiben server");fetch(v2datlehrveranstgn,/"anschreiben server");fetch(
+v3dataktschuelergr,/"anschreiben server");fetch(v4datzeitwuensche,/
+"anschreiben server");.vordruckeloeschen:forget(v1datlehrer,quiet);forget(
+v2datlehrveranstgn,quiet);forget(v3dataktschuelergr,quiet);forget(
+v4datzeitwuensche,quiet);END PROC unterrichtsvertlgfuerlehrerdruckdateibauen;
+PROC vordruck2ggfxmalindruckdatei:TEXT VAR hilfsdatei:="hilfsdatei";BOOL VAR
+hilfsdateida:=FALSE ;succ(ixlvsjhjpar);WHILE dbstatus=0AND wert(fnrlvparaphe)
+=aktparapheREP fachkennung:=wert(fnrlvfachkennung);wochstdn:=subtext(wert(
+fnrlvwochenstd),1,2);setzesonderwert(swfach,subtext(fachkennung,1,2));
+setzesonderwert(swkennung,subtext(fachkennung,3,6));setzesonderwert(swwstd,
+wochstdn);summewochstdnINCR int(wochstdn);briefalternative(v2datlehrveranstgn
+,hilfsdatei);succ(ixlvsjhjpar);hilfsdateida:=TRUE ;PER ;IF hilfsdateidaTHEN
+hilfsdateiindruckdatei(hilfsdatei)FI ;END PROC vordruck2ggfxmalindruckdatei;
+PROC vordruck3ggfindruckdatei:LET hilfsdatei="hilfsdatei";TEXT VAR aufberwert
+:=niltext;BOOL VAR hilfsdateiangelegt:=FALSE ;setzesonderwert(swdummy,blank);
+swaktklassenleiter:=580;swaktstellvertreter:=581;gemerkterdbstatus:=dbstatus;
+inittupel(dnraktschuelergruppen);putwert(fnrsgrpsj,schuljahr);putwert(
+fnrsgrphj,halbjahr);search(dnraktschuelergruppen,FALSE );WHILE dbstatus=0AND
+wert(fnrsgrphj)=halbjahrREP IF wert(fnrsgrplehrer)=aktparapheAND
+swaktklassenleiter<590THEN aufberwert:=wert(fnrsgrpjgst);aufberwertCAT wert(
+fnrsgrpkennung);setzesonderwert(swaktklassenleiter,aufberwert);
+swaktklassenleiterINCR 2;hilfsdateiangelegt:=TRUE ;ELSE IF wert(
+fnrsgrpstellvlehrer)=aktparapheAND swaktstellvertreter<591THEN aufberwert:=
+wert(fnrsgrpjgst);aufberwertCAT wert(fnrsgrpkennung);setzesonderwert(
+swaktstellvertreter,aufberwert);swaktstellvertreterINCR 2;hilfsdateiangelegt
+:=TRUE ;FI ;FI ;succ(dnraktschuelergruppen)PER ;IF hilfsdateiangelegtTHEN
+briefalternative(v3dataktschuelergr,hilfsdatei);hilfsdateiindruckdatei(
+hilfsdatei);FI ;dbstatus(gemerkterdbstatus)END PROC vordruck3ggfindruckdatei;
+PROC vordruck4ggfindruckdatei:gemerkterdbstatus:=dbstatus;LET hilfsdatei=
+"hilfsdatei";TEXT VAR zeitwuensche;initialisieresonderwerte;INT VAR
+aktswzeitwunsch:=531,position:=1,i;setzesonderwert(swdummy,blank);inittupel(
+dnrzeitwuensche);putwert(fnrzwsj,schuljahr);putwert(fnrzwhj,halbjahr);putwert
+(fnrzwbezug,"P");putwert(fnrzwbezugsobjekt,aktparaphe);search(dnrzeitwuensche
+,TRUE );IF dbstatus=0THEN zeitwuensche:=wert(fnrzwunbestimmtewuensche);
+setzesonderwert(ganztage,zeitwuenscheSUB 1);setzesonderwert(ganzgew,
+zeitwuenscheSUB 3);setzesonderwert(vormtage,zeitwuenscheSUB 4);
+setzesonderwert(vormgew,zeitwuenscheSUB 6);setzesonderwert(nachtage,
+zeitwuenscheSUB 7);setzesonderwert(nachgew,zeitwuenscheSUB 9);zeitwuensche:=
+wert(fnrzwbestimmtewuensche);FOR iFROM 1UPTO 66REP setzesonderwert(
+aktswzeitwunsch,subtext(zeitwuensche,position,position+1));aktswzeitwunsch
+INCR 1;positionINCR 2PER ;briefalternative(v4datzeitwuensche,hilfsdatei);
+hilfsdateiindruckdatei(hilfsdatei);FI ;dbstatus(gemerkterdbstatus)END PROC
+vordruck4ggfindruckdatei;PROC hilfsdateiindruckdatei(TEXT CONST hilfsdatei):
+FILE VAR f;INT VAR i;TEXT VAR zeile;f:=sequentialfile(input,hilfsdatei);
+zeilenhilfszahl:=lines(f);IF zeilenzahl+zeilenhilfszahl+zusatzzeilen>=
+drucklaengeTHEN seitenwechsel;zeilenzahl:=0;FI ;FOR iFROM 1UPTO
+zeilenhilfszahlREP getline(f,zeile);druckzeileschreiben(zeile)PER ;forget(
+hilfsdatei,quiet);zeilenzahlINCR zeilenhilfszahlEND PROC
+hilfsdateiindruckdatei;END PACKET anschrunterrichtsvertlgfuerlehrer
+