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;
|