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/3.anschr.betroffene lehrer | 174 +++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 app/schulis/2.2.1/src/3.anschr.betroffene lehrer (limited to 'app/schulis/2.2.1/src/3.anschr.betroffene lehrer') diff --git a/app/schulis/2.2.1/src/3.anschr.betroffene lehrer b/app/schulis/2.2.1/src/3.anschr.betroffene lehrer new file mode 100644 index 0000000..453a590 --- /dev/null +++ b/app/schulis/2.2.1/src/3.anschr.betroffene lehrer @@ -0,0 +1,174 @@ +PACKET auskunftlehrerDEFINES lehrerauskunfteingang,lehrerauskunftstarten, +lehrerauskunftsonderwerte:LET anrede=511,nameaufbereitet=513;INT VAR x,index +:=dnrlehrer,aktuellesfach,aktuelleart,aktuelleartlehrbefaehigunglangtext;LET +schulj=526,halbj=527,ermaessgrund1langtext=550,ermaessgrund2langtext=551, +ermaessgrund3langtext=552,ermaessgrund4langtext=553;INT VAR +aktswklassenlehrer:=580,aktswstellvertreter:=581;LET ganztage=520,ganzgew=521 +,vormtage=522,vormgew=523,nachtage=524,nachgew=525;LET swdatum=520,swzeit=521 +,swart=522,swlv=523;LET maske="ms auskunft lehrer eingang",paraphenfeldnr=2, +trenner="/",niltext="",blank=" ",strich=" --- ",mnrbittewarten=69, +mnrkeinegueltigeparaphe=344;TEXT CONST dateimitvordruck1:= +"vordruck1 auskunft lehrer",dateimitvordruck2:="vordruck2 auskunft lehrer", +dateimitvordruck3:="vordruck3 auskunft lehrer",dateimitvordruck4:= +"vordruck4 auskunft lehrer",dateimitvordruck5:="vordruck5 auskunft lehrer", +dateimitvordruck6:="vordruck6 auskunft lehrer",dateimitvordruck7:= +"vordruck7 auskunft lehrer",bestandnameartlehrbefaehigung:= +"c02 art lehrbefaehigung",bestandnamepersoenlermaessigung:= +"c02 persoenl ermaess";TEXT VAR angegebeneparaphe:="",aktuelleshalbjahr, +aktuellesschuljahr,geplanteshalbjahr,geplantesschuljahr,schuljahr:="", +halbjahr:="";INT VAR zeilenzahl,zeilenhilfszahl,zusatzzeilen;BOOL PROC +paraphevorhanden:putwert(fnrlparaphe,angegebeneparaphe);search(dnrlehrer, +TRUE );IF dbstatus=0THEN TRUE ELSE FALSE FI END PROC paraphevorhanden;PROC +lehrerauskunfteingang:standardvproc(maske)END PROC lehrerauskunfteingang; +PROC lehrerauskunftstarten:angegebeneparaphe:=standardmaskenfeld( +paraphenfeldnr);IF angegebeneparaphe<>niltextTHEN startenausfuehrenELSE +meldeeingabefehler;zurueckzumdialogFI ;.meldeeingabefehler:standardmeldung( +mnrkeinegueltigeparaphe,niltext).zurueckzumdialog:return(1).startenausfuehren +:IF NOT (paraphevorhanden)THEN meldeeingabefehler;zurueckzumdialogELSE BOOL +CONST bildschirmausgabe:=FALSE ,einzelbearbeitung:=TRUE ;aktuelleshalbjahr:= +schulkenndatum("Schulhalbjahr");aktuellesschuljahr:=schulkenndatum( +"Schuljahr");geplanteshalbjahr:=aktuelleshalbjahr;geplantesschuljahr:= +aktuellesschuljahr;geplanteshjundsjberechnen(geplanteshalbjahr, +geplantesschuljahr);setzesonderwerteschulkenndaten;setzewerte;standardmeldung +(mnrbittewarten,niltext);zusammengesetztesanschreiben(index,bildschirmausgabe +,einzelbearbeitung,BOOL PROC lehrerauskunftsonderwerte,BOOL PROC +scanbedingung,TEXT PROC druckdateibauen);FI ;.setzewerte:putwert(fnrlparaphe, +angegebeneparaphe)END PROC lehrerauskunftstarten;BOOL PROC scanbedingung:IF +dbstatus=0THEN TRUE ELSE FALSE FI END PROC scanbedingung;BOOL PROC +lehrerauskunftsonderwerte:LET sechs=6;ROW sechsTEXT VAR artlehrbefaehigung; +initialisieresonderwerte;adressat(angegebeneparaphe);TEXT VAR anredetext:= +"Frau";IF wert(fnrlgeschlecht)="m"THEN anredetext:="Herrn"FI ;setzesonderwert +(anrede,anredetext);setzesonderwert(nameaufbereitet,wert(fnrlrufname)+" "+ +wert(fnrlzusatz)+" "+wert(fnrlfamname));TEXT VAR grund1,grund2,grund3,grund4; +grund1:=wert(fnrlermgrund1);grund2:=wert(fnrlermgrund2);grund3:=wert( +fnrlermgrund3);grund4:=wert(fnrlermgrund4);inittupel(dnrlehrbefaehigungen); +putwert(fnrlbparaphe,angegebeneparaphe);search(ixlbpar,FALSE );aktuellesfach +:=514;aktuelleart:=515;aktuelleartlehrbefaehigunglangtext:=554;FOR xFROM 1 +UPTO sechsREP IF dbstatus=0AND wert(fnrlbparaphe)=angegebeneparapheTHEN +setzesonderwert(aktuellesfach,wert(fnrlbfach));artlehrbefaehigung(x):=wert( +fnrlbart);setzesonderwert(aktuelleart,artlehrbefaehigung(x));ELSE +setzesonderwert(aktuellesfach,niltext);artlehrbefaehigung(x):=niltext; +setzesonderwert(aktuelleart,niltext);FI ;succ(ixlbpar);aktuellesfachINCR 2; +aktuelleartINCR 2PER ;inittupel(dnrschluessel);putwert(fnrschlsachgebiet, +bestandnamepersoenlermaessigung);putwert(fnrschlschluessel,grund1);search( +dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert(ermaessgrund1langtext, +wert(fnrschllangtext))ELSE setzesonderwert(ermaessgrund1langtext,blank)FI ; +putwert(fnrschlschluessel,grund2);search(dnrschluessel,TRUE );IF dbstatus=0 +THEN setzesonderwert(ermaessgrund2langtext,wert(fnrschllangtext));ELSE +setzesonderwert(ermaessgrund2langtext,blank);FI ;putwert(fnrschlschluessel, +grund3);search(dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert( +ermaessgrund3langtext,wert(fnrschllangtext))ELSE setzesonderwert( +ermaessgrund3langtext,blank)FI ;putwert(fnrschlschluessel,grund4);search( +dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert(ermaessgrund4langtext, +wert(fnrschllangtext))ELSE setzesonderwert(ermaessgrund4langtext,blank)FI ; +putwert(fnrschlsachgebiet,bestandnameartlehrbefaehigung);FOR xFROM 1UPTO 6 +REP putwert(fnrschlschluessel,artlehrbefaehigung(x));search(dnrschluessel, +TRUE );IF dbstatus=0THEN setzesonderwert(aktuelleartlehrbefaehigunglangtext, +wert(fnrschllangtext))ELSE setzesonderwert(aktuelleartlehrbefaehigunglangtext +,blank)FI ;aktuelleartlehrbefaehigunglangtextINCR 1PER ;TRUE END PROC +lehrerauskunftsonderwerte;TEXT PROC druckdateibauen:LET druckdatei="liste.1", +hilfsdatei="hilfsdatei";TEXT VAR zeile;INT VAR i;BOOL VAR mitdatendesgeplhjs +:=FALSE ;BOOL VAR weiteresaetzeda:=FALSE ;vordruckeholen; +setzemitseitennummern(TRUE );druckvorbereiten;zeilenzahl:=0;zusatzzeilen:=0; +briefalternative(dateimitvordruck1,hilfsdatei);hilfsdateiindruckdatei( +hilfsdatei);zusatzzeilen:=5;sonderwertsjundhjsetzen(aktuellesschuljahr, +aktuelleshalbjahr);ggfvordruck21malundvordruck3xmalindruckdatei( +mitdatendesgeplhjs);mitdatendesgeplhjs:=TRUE ;sonderwertsjundhjsetzen( +geplantesschuljahr,geplanteshalbjahr); +ggfvordruck21malundvordruck3xmalindruckdatei(mitdatendesgeplhjs);zusatzzeilen +:=4;vordruck4indruckdatei(aktuellesschuljahr,aktuelleshalbjahr); +vordruck4indruckdatei(geplantesschuljahr,geplanteshalbjahr);zusatzzeilen:=14; +vordruck5indruckdatei(aktuellesschuljahr,aktuelleshalbjahr); +vordruck5indruckdatei(geplantesschuljahr,geplanteshalbjahr);zusatzzeilen:=4; +ggf1malvordruck6undxmalvordruck7indruckdatei;drucknachbereitenohneausdrucken; +vordruckeloeschen;druckdatei.vordruckeholen:fetch(dateimitvordruck1,/ +"anschreiben server");fetch(dateimitvordruck2,/"anschreiben server");fetch( +dateimitvordruck3,/"anschreiben server");fetch(dateimitvordruck4,/ +"anschreiben server");fetch(dateimitvordruck5,/"anschreiben server");fetch( +dateimitvordruck6,/"anschreiben server");fetch(dateimitvordruck7,/ +"anschreiben server");.vordruckeloeschen:forget(dateimitvordruck1,quiet); +forget(dateimitvordruck2,quiet);forget(dateimitvordruck3,quiet);forget( +dateimitvordruck4,quiet);forget(dateimitvordruck5,quiet);forget( +dateimitvordruck6,quiet);forget(dateimitvordruck7,quiet);. +ggf1malvordruck6undxmalvordruck7indruckdatei:inittupel(dnrvertretungen); +putwert(fnrvparaphe,angegebeneparaphe);search(ixvpar,FALSE );IF dbstatus=0 +AND wert(fnrvparaphe)=angegebeneparapheTHEN swvertretungenfuellen; +briefalternative(dateimitvordruck6,hilfsdatei);hilfsdateiindruckdatei( +hilfsdatei);weiteresaetzeda:=FALSE ;succ(ixvpar);zusatzzeilen:=1;WHILE +dbstatus=0AND wert(fnrvparaphe)=angegebeneparapheREP weiteresaetzeda:=TRUE ; +swvertretungenfuellen;briefalternative(dateimitvordruck7,hilfsdatei);succ( +ixvpar);PER ;IF weiteresaetzedaTHEN hilfsdateiindruckdatei(hilfsdatei)FI ;FI +;END PROC druckdateibauen;PROC swvertretungenfuellen:TEXT VAR datum, +datumaufber,lehrveranstg,lvaufber,zeitaufber;INT VAR zeit,tag,std; +initialisieresonderwerte;datum:=wert(fnrvdatum);zeit:=intwert(fnrvtagstd); +lehrveranstg:=wert(fnrvveranstaltung);datumaufber:=subtext(datum,1,2)+"."; +datumaufberCAT subtext(datum,4,5)+".";datumaufberCAT subtext(datum,7,8);tag:= +(zeit-1)DIV 12;std:=zeitMOD 12;IF tag=0THEN zeitaufber:="Mo "ELIF tag=1THEN +zeitaufber:="Di "ELIF zeit=2THEN zeitaufber:="Mi "ELIF zeit=3THEN zeitaufber +:="Do "ELIF zeit=4THEN zeitaufber:="Fr "ELIF zeit=5THEN zeitaufber:="Sa "FI ; +zeitaufberCAT text(std,2);lvaufber:=subtext(lehrveranstg,1,2)+blank;lvaufber +CAT subtext(lehrveranstg,3,4)+blank;lvaufberCAT subtext(lehrveranstg,5,8); +setzesonderwert(swdatum,datumaufber);setzesonderwert(swzeit,zeitaufber); +setzesonderwert(swart,wert(fnrvanrechnung));setzesonderwert(swlv,lvaufber); +END PROC swvertretungenfuellen;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 1 +UPTO zeilenhilfszahlREP getline(f,zeile);druckzeileschreiben(zeile)PER ; +forget(hilfsdatei,quiet);zeilenzahlINCR zeilenhilfszahlEND PROC +hilfsdateiindruckdatei;PROC sonderwertsjundhjsetzen(TEXT VAR sj,hj): +setzesonderwert(schulj,subtext(sj,1,2)+trenner+subtext(sj,3,4)); +setzesonderwert(halbj,hj);END PROC sonderwertsjundhjsetzen;PROC +ggfvordruck21malundvordruck3xmalindruckdatei(BOOL VAR geplhj):LET aktjgst=528 +,aktfach=529,aktkurs=530,aktwochstd=531,hilfsdatei="hilfsdatei";TEXT VAR fach +,jgst:=blank,kennung;IF geplhjTHEN halbjahr:=geplanteshalbjahr;schuljahr:= +geplantesschuljahr;ELSE halbjahr:=aktuelleshalbjahr;schuljahr:= +aktuellesschuljahr;FI ;inittupel(dnrlehrveranstaltungen);putwert(fnrlvparaphe +,angegebeneparaphe);putwert(fnrlvsj,schuljahr);putwert(fnrlvhj,halbjahr); +search(ixlvsjhjpar,FALSE );IF dbstatus=0AND (wert(fnrlvparaphe)= +angegebeneparaphe)AND (wert(fnrlvhj)=halbjahr)AND (wert(fnrlvsj)=schuljahr) +THEN briefalternative(dateimitvordruck2,hilfsdatei); +sonderwertesetzenundinhilfsdateischreiben;hilfsdateiindruckdatei(hilfsdatei); +FI ;.sonderwertesetzenundinhilfsdateischreiben:WHILE dbstatus=0AND (wert( +fnrlvparaphe)=angegebeneparaphe)AND (wert(fnrlvhj)=halbjahr)AND (wert(fnrlvsj +)=schuljahr)REP fach:=subtext(wert(fnrlvfachkennung),1,2);setzesonderwert( +aktfach,fach);kennung:=subtext(wert(fnrlvfachkennung),3,6);setzesonderwert( +aktkurs,kennung);jgstCAT wert(fnrlvjgst);IF length(jgst)>2THEN +setzesonderwert(aktjgst,subtext(jgst,2,3));ELSE setzesonderwert(aktjgst,jgst) +;FI ;jgst:=blank;setzesonderwert(aktwochstd,wert(fnrlvwochenstd)); +briefalternative(dateimitvordruck3,hilfsdatei);succ(ixlvsjhjpar);PER ;END +PROC ggfvordruck21malundvordruck3xmalindruckdatei;PROC vordruck4indruckdatei( +TEXT VAR sj,hj):LET hilfsdatei="hilfsdatei";TEXT VAR aufberwert:=niltext; +BOOL VAR hilfsdateiangelegt:=FALSE ;TEXT VAR ueberschrift:="Schuljahr "; +initialisieresonderwerte;aktswklassenlehrer:=580;aktswstellvertreter:=581; +ueberschriftCAT subtext(sj,1,2)+"/"+subtext(sj,3,4);ueberschriftCAT ", "+hj+ +". Halbjahr";setzesonderwert(schulj,ueberschrift);inittupel( +dnraktschuelergruppen);putwert(fnrsgrpsj,sj);putwert(fnrsgrphj,hj);search( +dnraktschuelergruppen,FALSE );WHILE dbstatus=0AND wert(fnrsgrphj)=hjREP IF +wert(fnrsgrplehrer)=angegebeneparapheAND aktswklassenlehrer<590THEN +aufberwert:=wert(fnrsgrpjgst);aufberwertCAT wert(fnrsgrpkennung); +setzesonderwert(aktswklassenlehrer,aufberwert);aktswklassenlehrerINCR 2; +hilfsdateiangelegt:=TRUE ;ELSE IF wert(fnrsgrpstellvlehrer)=angegebeneparaphe +AND aktswstellvertreter<591THEN aufberwert:=wert(fnrsgrpjgst);aufberwertCAT +wert(fnrsgrpkennung);setzesonderwert(aktswstellvertreter,aufberwert); +aktswstellvertreterINCR 2;hilfsdateiangelegt:=TRUE ;FI ;FI ;succ( +dnraktschuelergruppen)PER ;IF hilfsdateiangelegtTHEN briefalternative( +dateimitvordruck4,hilfsdatei);hilfsdateiindruckdatei(hilfsdatei);FI ;END +PROC vordruck4indruckdatei;PROC vordruck5indruckdatei(TEXT VAR sj,hj):LET +hilfsdatei="hilfsdatei";TEXT VAR zeitwuensche,ueberschrift:="Schuljahr "; +initialisieresonderwerte;INT VAR aktswzeitwunsch:=531,position:=1,i; +ueberschriftCAT subtext(sj,1,2)+"/"+subtext(sj,3,4);ueberschriftCAT ", "+hj+ +". Halbjahr";setzesonderwert(schulj,ueberschrift);inittupel(dnrzeitwuensche); +putwert(fnrzwsj,sj);putwert(fnrzwhj,hj);putwert(fnrzwbezug,"P");putwert( +fnrzwbezugsobjekt,angegebeneparaphe);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));aktswzeitwunschINCR 1;position +INCR 2PER ;briefalternative(dateimitvordruck5,hilfsdatei); +hilfsdateiindruckdatei(hilfsdatei);FI ;END PROC vordruck5indruckdatei;END +PACKET auskunftlehrer; + -- cgit v1.2.3