summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/3.anschr.betroffene lehrer
blob: 453a590b1c225f75746335ae6c8cb86d20b05d13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
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;