summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/4.listen.unterrichtsverteilung
blob: 39eaee2491a17a1453edd4e393d8ca7d7014638b (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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
PACKET unterrichtsverteilunglistenDEFINES unterrichtsverteilungspezielleteile
:LET AUSGFELD =ROW ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT ,
AUSGKOPFDRUCK =ROW ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR 
ausgkopf;AUSGKOPFDRUCK VAR ausgkopfdruck;LET maskeunterrichtsverteilung=
"ms liste unterrichtsverteilung eingang",ausgfeldlaenge=1,
anzahlderobjekteprobildschirm=17,ueberschriftenzeilen=2,ausgkopflaenge=2,
spaltentrenner=" ",zweierspaltenbreite=2,viererspaltenbreite=4,
fuenferspaltenbreite=5,achterspaltenbreite=8,neunerspaltenbreite=9,
zehnerspaltenbreite=10,unterrichtsverteilunganfpos=2,niltext="",blank=" ",
null=0,strich="-",mnrfachfalsch=305,mnrjgstfalsch=305,mnrbearbeitetwerden=352
,mnrparapheungueltig=344,mnrauswahlnichtsinnvoll=56;TEXT VAR 
neueranfbuchstabe,teiltextmeldung,unterrichtsverteilungueberschrift:="",
schuljahr,halbjahr,altejahrgangsstufe:="",alteparaphe:="",altekopplung:="",
altesfach,gewaehltejgst,gewaehlteparaphe,gewaehltesfach,bearbeitungsschuljahr
,bearbeitungshalbjahr,jahrgangsstufe:="",fach,kennung,kopplung,paraphe,
wochenstdn,klassengruppe1,klassengruppe2,klassengruppe3,klassengruppe4,
raumgruppe1,raumgruppe2,anfbuchstabe,auswahlnichtsinnvoll;TEXT CONST 
unterstreichung:=bildbreite*"-",leerzeile:=bildbreite*blank,textueb1:=
"Jgst. ",textueb2:="Fach Kenng.  ",textueb3:="Paraphe ",textueb4:="Kopplung "
,textueb5:="Wstd.  Klassengruppen        Räume   ";TEXT VAR textueberschrift
:="";INT VAR eingabestatus,bildanfang,spalte2druckbreite,druckzeilenzahl,
aktuelleindexnr:=dnrlehrveranstaltungen,feldnr,jgsthilfsvar;INT CONST 
groesstejgst:=13,kleinstejgst:=5;BOOL VAR geplanteshjgewaehlt,erstezeile:=
FALSE ,sortjgstalle,sortjgstbest,sortparaphenalle,sortparaphebest,
sortkopplungen,sortfaecher,sortbestfach;BOOL PROC multistop:BOOL VAR b;IF 
dbstatus=okTHEN IF sortjgstalleXOR sortparaphenalleXOR sortkopplungenXOR 
sortfaecherTHEN b:=bearbeitungshalbjahr=wert(fnrlvhj)ELIF sortjgstbestTHEN b
:=gewaehltejgst=wert(fnrlvjgst)AND bearbeitungshalbjahr=wert(fnrlvhj)ELIF 
sortparaphebestTHEN b:=gewaehlteparaphe=wert(fnrlvparaphe)AND 
bearbeitungshalbjahr=wert(fnrlvhj)ELIF sortbestfachTHEN b:=text(
gewaehltesfach,2)=text(wert(fnrlvfachkennung),2)AND bearbeitungshalbjahr=wert
(fnrlvhj)FI ;ELSE b:=FALSE FI ;bEND PROC multistop;BOOL PROC multistopsim:
setzebestandende(FALSE );BOOL VAR b:=multistop;setzebestandende(NOT b);bEND 
PROC multistopsim;PROC unterrichtsverteilungspezielleteile(INT CONST nr):
SELECT nrOF CASE 1:unterrichtsverteilungdialogvorbereitenCASE 2:
unterrichtsverteilungeingabenrichtigCASE 3:
unterrichtsverteilunglistenvorbereitenCASE 4:
unterrichtsverteilungdruckvorbereitenCASE 5:unterrichtsverteilungseitedrucken
CASE 6:unterrichtsverteilungbildschirmvorbereitenCASE 7:
unterrichtsverteilungseitezeigenENDSELECT .END PROC 
unterrichtsverteilungspezielleteile;PROC 
unterrichtsverteilungdialogvorbereiten:unterrichtsverteilungueberschrift:=
text(vergleichsknoten);setzeanfangswerte(maskeunterrichtsverteilung,
unterrichtsverteilunganfpos)END PROC unterrichtsverteilungdialogvorbereiten;
PROC unterrichtsverteilungeingabenrichtig:LET fnrlehrveranstgn=2,
fnrlehrveranstgnjgst=3,fnrkopplungen=4,fnrparaphen=5,fnrbestparaphe=6,
fnrfaecher=7,fnrfach=8,fnraktuelleshj=9,fnrausgbild=10,fnrausgdrucker=11;
sortjgstalle:=FALSE ;sortjgstbest:=FALSE ;sortparaphenalle:=FALSE ;
sortparaphebest:=FALSE ;sortkopplungen:=FALSE ;sortfaecher:=FALSE ;
sortbestfach:=FALSE ;IF ausgabemediumkorrektgewaehltTHEN setzeausgabedrucker(
standardmaskenfeld(fnrausgbild)=niltext);geplanteshjgewaehlt:=
standardmaskenfeld(fnraktuelleshj)=niltext;
sortierartpruefenundmerkenbzwfehlermeldungausgeben;ELSE 
meldefehlerauswahldruckerbildschirm;setzeeingabetest(FALSE )FI .
ausgabemediumkorrektgewaehlt:standardpruefe(5,fnrausgbild,fnrausgdrucker,null
,niltext,eingabestatus);eingabestatus=0.
sortierartpruefenundmerkenbzwfehlermeldungausgeben:IF (standardmaskenfeld(
fnrkopplungen)=niltextAND standardmaskenfeld(fnrparaphen)=niltextAND 
standardmaskenfeld(fnrbestparaphe)=niltextAND standardmaskenfeld(fnrfaecher)=
niltextAND standardmaskenfeld(fnrfach)=niltext)THEN IF standardmaskenfeld(
fnrlehrveranstgn)=niltextTHEN meldefehler;setzeeingabetest(FALSE )ELSE 
sortierungnachlehrveranstaltungenweiterpruefenFI ;ELSE IF NOT (
standardmaskenfeld(fnrlehrveranstgn)=niltextAND standardmaskenfeld(
fnrlehrveranstgnjgst)=niltext)THEN meldefehler;setzeeingabetest(FALSE )ELSE 
sortierungnachkopplungenparaphenoderfaechernpruefenFI ;FI .
sortierungnachlehrveranstaltungenweiterpruefen:IF standardmaskenfeld(
fnrlehrveranstgnjgst)=niltextTHEN sortjgstalle:=TRUE ;setzeeingabetest(TRUE )
ELSE IF jgstkorrektTHEN sortjgstbest:=TRUE ;setzeeingabetest(TRUE )ELSE 
meldefehlerjgst;setzeeingabetest(FALSE )FI ;FI ;.
sortierungnachkopplungenparaphenoderfaechernpruefen:IF standardmaskenfeld(
fnrkopplungen)<>niltextTHEN IF standardmaskenfeld(fnrparaphen)=niltextAND 
standardmaskenfeld(fnrbestparaphe)=niltextAND standardmaskenfeld(fnrfaecher)=
niltextAND standardmaskenfeld(fnrfach)=niltextTHEN sortkopplungen:=TRUE ;
setzeeingabetest(TRUE )ELSE meldefehler;setzeeingabetest(FALSE )FI ;ELSE IF 
standardmaskenfeld(fnrparaphen)<>niltextTHEN IF standardmaskenfeld(fnrfaecher
)=niltextAND standardmaskenfeld(fnrfach)=niltextTHEN 
weiterepruefungzursortierungparaphenELSE meldefehler;setzeeingabetest(FALSE )
FI ;ELSE IF standardmaskenfeld(fnrfaecher)<>niltextTHEN IF standardmaskenfeld
(fnrparaphen)=niltextAND standardmaskenfeld(fnrbestparaphe)=niltextTHEN 
weiterepruefungzursortierungfaecherELSE meldefehler;setzeeingabetest(FALSE )
FI ;FI ;FI ;FI ;.weiterepruefungzursortierungparaphen:IF standardmaskenfeld(
fnrbestparaphe)=niltextTHEN sortparaphenalle:=TRUE ;setzeeingabetest(TRUE )
ELSE gewaehlteparaphe:=standardmaskenfeld(fnrbestparaphe);IF paraphekorrekt
THEN sortparaphebest:=TRUE ;setzeeingabetest(TRUE )FI ;FI ;.
weiterepruefungzursortierungfaecher:IF standardmaskenfeld(fnrfach)=niltext
THEN sortfaecher:=TRUE ;setzeeingabetest(TRUE )ELSE gewaehltesfach:=
standardmaskenfeld(fnrfach);IF fachkorrektTHEN sortbestfach:=TRUE ;
setzeeingabetest(TRUE )FI ;FI ;.meldefehlerauswahldruckerbildschirm:infeld(
fnrausgbild);standardmeldung(mnrauswahlnichtsinnvoll,niltext).meldefehler:
meldungstext(mnrauswahlnichtsinnvoll,auswahlnichtsinnvoll);standardmeldung(
auswahlnichtsinnvoll,niltext).jgstkorrekt:gewaehltejgst:=standardmaskenfeld(
fnrlehrveranstgnjgst);jgsthilfsvar:=int(gewaehltejgst);IF NOT 
lastconversionokTHEN LEAVE jgstkorrektWITH FALSE FI ;IF jgsthilfsvar<10THEN 
gewaehltejgst:=text(jgsthilfsvar);FI ;jgsthilfsvar<=groesstejgstAND 
jgsthilfsvar>=kleinstejgst.paraphekorrekt:inittupel(dnrlehrer);putwert(
fnrlparaphe,gewaehlteparaphe);search(dnrlehrer,TRUE );dbstatus=ok.fachkorrekt
:inittupel(dnrfaecher);putwert(fnrffach,gewaehltesfach);search(dnrfaecher,
TRUE );dbstatus=ok.fehlerfalscheparaphe:standardmeldung(mnrparapheungueltig,
niltext);infeld(fnrbestparaphe);.meldefehlerjgst:standardmeldung(
mnrjgstfalsch,niltext);infeld(fnrlehrveranstgnjgst);.END PROC 
unterrichtsverteilungeingabenrichtig;PROC 
unterrichtsverteilunglistenvorbereiten:BOOL VAR b;initspalten;
setzespaltentrenner(spaltentrenner);bearbeitungshalbjahr:=schulkenndatum(
"Schulhalbjahr");bearbeitungsschuljahr:=schulkenndatum("Schuljahr");IF 
geplanteshjgewaehltTHEN geplanteshjundsjberechnen(bearbeitungshalbjahr,
bearbeitungsschuljahr);FI ;inittupel(dnrlehrveranstaltungen);setzeidentiwert(
"");initobli(anzahlderobjekteprobildschirm);putwert(fnrlvsj,
bearbeitungsschuljahr);putwert(fnrlvhj,bearbeitungshalbjahr);IF sortjgstalle
XOR sortjgstbestTHEN sortierungnachprimärindexvorbereitenELIF sortkopplungen
THEN sortierungnachsekindexlvkopplungvorbereitenELIF sortfaecherOR 
sortbestfachTHEN sortierungnachsekindexlvfachvorbereitenELSE 
sortierungnachsekindexlvparaphevorbereitenFI ;objektlistestarten(
aktuelleindexnr,bearbeitungsschuljahr,feldnr,TRUE ,b);setzebestandende(NOT 
multistopCOR b);.sortierungnachprimärindexvorbereiten:setzescanstartwert("");
setzescanendewert("�");textueberschrift:=(textueb1+textueb2+textueb4+2*blank+
textueb3+blank+textueb5);aktuelleindexnr:=dnrlehrveranstaltungen;IF 
sortjgstbestTHEN putwert(fnrlvjgst,gewaehltejgst);feldnr:=fnrlvfachkennung;
ELSE feldnr:=fnrlvjgst;setzescanendewert("255");FI ;.
sortierungnachsekindexlvkopplungvorbereiten:textueberschrift:=(textueb4+
textueb1+textueb2+2*blank+textueb3+2*blank+textueb5);aktuelleindexnr:=
ixlvsjhjkopp;feldnr:=fnrlvkopplung;.
sortierungnachsekindexlvparaphevorbereiten:textueberschrift:=(textueb3+
textueb1+textueb2+textueb4+2*blank+textueb5);aktuelleindexnr:=ixlvsjhjpar;IF 
sortparaphebestTHEN putwert(fnrlvparaphe,gewaehlteparaphe);feldnr:=
fnrlvfachkennung;ELSE feldnr:=fnrlvparapheFI ;.
sortierungnachsekindexlvfachvorbereiten:textueberschrift:=(textueb2+textueb1+
textueb4+textueb3+2*blank+textueb5);aktuelleindexnr:=ixlvsjhjkenn;IF 
sortbestfachTHEN feldnr:=fnrlvfachkennung;putwert(fnrlvfachkennung,
gewaehltesfach);setzescanstartwert(gewaehltesfach);setzescanendewert(text(
gewaehltesfach,2)+code(255));ELSE feldnr:=fnrlvfachkennung;FI ;END PROC 
unterrichtsverteilunglistenvorbereiten;PROC 
unterrichtsverteilungbildschirmvorbereiten:LET fnrausganf=2;
unterrichtsverteilungueberschrift:="Unterrichtsverteilung im Schuljahr "+(
text(bearbeitungsschuljahr,2)+"/"+text(bearbeitungsschuljahr,2,3)+", "+
bearbeitungshalbjahr+". Halbjahr");standardkopfmaskeaktualisieren(
unterrichtsverteilungueberschrift);bildanfang:=fnrausganf;
setzebildanfangsposition(bildanfang);INT VAR i;setzespaltenbreite(bildbreite)
;spaltenweise(textueberschrift);ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;
erhoeheausgabeposumeins;spaltenweise(length(textueberschrift)*strich);
ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;
setzebildanfangsposition(4);spaltendefinierenEND PROC 
unterrichtsverteilungbildschirmvorbereiten;PROC 
unterrichtsverteilungseitezeigen:altejahrgangsstufe:=niltext;alteparaphe:=
niltext;altekopplung:=niltext;altesfach:=niltext;blaettern(PROC (INT CONST )
unterrichtsverteilungzeigen,aktion,TRUE ,TRUE ,BOOL PROC multistop)END PROC 
unterrichtsverteilungseitezeigen;PROC unterrichtsverteilungzeigen(INT CONST x
):unterrichtsverteilungholen;unterrichtsverteilungaufbereitenbild;
unterrichtsverteilungaufbildschirm;END PROC unterrichtsverteilungzeigen;PROC 
unterrichtsverteilungaufbereitenbild:IF sortkopplungenTHEN kopplungausgeben;
spaltenweise(jahrgangsstufe);spaltenweise(fach);spaltenweise(kennung);
spaltenweise(blank);spaltenweise(paraphe);ELIF sortjgstalleXOR sortjgstbest
THEN jahrgangsstufeausgeben;spaltenweise(fach);spaltenweise(kennung);
spaltenweise(kopplung);spaltenweise(paraphe);ELIF sortparaphenalleXOR 
sortparaphebestTHEN parapheausgeben;spaltenweise(blank);spaltenweise(
jahrgangsstufe);spaltenweise(fach);spaltenweise(kennung);spaltenweise(
kopplung);ELIF sortfaecherXOR sortbestfachTHEN fachausgeben;spaltenweise(
kennung);spaltenweise(jahrgangsstufe);spaltenweise(kopplung);spaltenweise(
paraphe);FI ;spaltenweise(wochenstdn);spaltenweise(blank);spaltenweise(
klassengruppe1);spaltenweise(klassengruppe2);spaltenweise(klassengruppe3);
spaltenweise(klassengruppe4);spaltenweise(raumgruppe1);spaltenweise(
raumgruppe2);.jahrgangsstufeausgeben:IF altejahrgangsstufe<>jahrgangsstufe
THEN spaltenweise(jahrgangsstufe);altejahrgangsstufe:=jahrgangsstufe;ELSE 
spaltenweise(blank)FI ;.parapheausgeben:IF alteparaphe<>parapheTHEN 
spaltenweise(paraphe);alteparaphe:=parapheELSE spaltenweise(blank)FI ;.
fachausgeben:IF altesfach<>fachTHEN spaltenweise(fach);altesfach:=fachELSE 
spaltenweise(blank)FI ;.kopplungausgeben:IF altekopplung<>kopplungTHEN 
spaltenweise(kopplung);altekopplung:=kopplung;ELSE spaltenweise(blank)FI ;
END PROC unterrichtsverteilungaufbereitenbild;PROC 
unterrichtsverteilungaufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaenge
REP ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeins;PER ;
END PROC unterrichtsverteilungaufbildschirm;PROC 
unterrichtsverteilungdruckvorbereiten:setzebestandende(FALSE );anfbuchstabe:=
" ";druckvorbereiten;variablenfuerdrucksetzen;
unterrichtsverteilungueberschrift:="Unterrichtsverteilung im Schuljahr "+(
text(bearbeitungsschuljahr,2)+"/"+text(bearbeitungsschuljahr,2,3)+", "+
bearbeitungshalbjahr+". Halbjahr");initdruckkopf(zentriert(
unterrichtsverteilungueberschrift,druckbreite),zentriert(length(
unterrichtsverteilungueberschrift)*strich,druckbreite));spaltendefinieren;
initausgabekopfdruck;inittupel(dnrlehrveranstaltungen);putwert(fnrlvsj,
bearbeitungsschuljahr);putwert(fnrlvhj,bearbeitungshalbjahr);IF sortjgstbest
THEN putwert(fnrlvjgst,gewaehltejgst);ELIF sortparaphebestTHEN putwert(
fnrlvparaphe,gewaehlteparaphe);ELIF sortbestfachTHEN putwert(fnrlvfachkennung
,gewaehltesfach);FI ;lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT 
VAR )scanforward,BOOL PROC multistopsim);.variablenfuerdrucksetzen:
druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC 
unterrichtsverteilungdruckvorbereiten;PROC initausgabekopfdruck:ausgkopfdruck
(1):=textueberschrift;ausgkopfdruck(2):=unterstreichungEND PROC 
initausgabekopfdruck;PROC unterrichtsverteilungseitedrucken:
unterrichtsverteilungueberschriftdrucken;altejahrgangsstufe:=niltext;
alteparaphe:=niltext;altekopplung:=niltext;altesfach:=niltext;erstezeile:=
TRUE ;seitedrucken(PROC (INT VAR )unterrichtsverteilungdrucken,
druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistopsim);seitenwechsel.END 
PROC unterrichtsverteilungseitedrucken;PROC 
unterrichtsverteilungueberschriftdrucken:INT VAR i;druckkopfschreiben;FOR i
FROM 1UPTO ausgkopflaengeREP druckzeileschreiben(ausgkopfdruck(i))PER END 
PROC unterrichtsverteilungueberschriftdrucken;PROC 
unterrichtsverteilungdrucken(INT VAR zeilenzaehler):LET markiert="#";
unterrichtsverteilungholen;ggflmeldunganfbuchstabe;IF NOT (erstezeile)AND ((
sortjgstalleAND altejahrgangsstufe<>jahrgangsstufe)XOR (sortkopplungenAND 
altekopplung<>kopplung)XOR (sortparaphenalleAND alteparaphe<>paraphe)XOR (
sortfaecherAND altesfach<>fach))THEN leerzeileindruckdateiFI ;
unterrichtsverteilungaufbereitendruck;zeilenzaehlerINCR ausgfeldlaenge;
unterrichtsverteilungindruckdatei;erstezeile:=FALSE .leerzeileindruckdatei:
ausgfeld(1):=text(blank,druckbreite);druckzeileschreiben(ausgfeld(1));
zeilenzaehlerINCR ausgfeldlaenge;.ggflmeldunganfbuchstabe:IF 
anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert:IF 
sortjgstalleXOR sortjgstbestTHEN neueranfbuchstabe:=jahrgangsstufeSUB 1;
teiltextmeldung:="Jgst "ELIF sortparaphenalleXOR sortparaphebestTHEN 
neueranfbuchstabe:=parapheSUB 1;teiltextmeldung:=
"Paraphen mit Anfangsbuchstaben: "ELIF sortkopplungenTHEN neueranfbuchstabe:=
kopplungSUB 1;teiltextmeldung:="Kopplungen mit Anfangsbuchstaben: "ELIF 
sortfaecherXOR sortbestfachTHEN neueranfbuchstabe:=fach;teiltextmeldung:=
"Fach: "FI ;anfbuchstabe<>neueranfbuchstabe.meldunganfbuchstabe:
standardmeldung(mnrbearbeitetwerden,teiltextmeldung+neueranfbuchstabe+
markiert);anfbuchstabe:=neueranfbuchstabe.END PROC 
unterrichtsverteilungdrucken;PROC unterrichtsverteilungaufbereitendruck:
unterrichtsverteilungaufbereitenbild;ausgfeld(1):=zeile;END PROC 
unterrichtsverteilungaufbereitendruck;PROC unterrichtsverteilungindruckdatei:
INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))
PER END PROC unterrichtsverteilungindruckdatei;PROC spaltendefinieren:
initspalten;setzespaltentrenner(spaltentrenner);IF sortkopplungenTHEN 
setzespaltenbreite(neunerspaltenbreite);setzespaltenbreite(
fuenferspaltenbreite);setzespaltenbreite(zweierspaltenbreite);
setzespaltenbreite(achterspaltenbreite);setzespaltenbreite(
zweierspaltenbreite);setzespaltenbreite(achterspaltenbreite);ELIF 
sortjgstalleXOR sortjgstbestTHEN setzespaltenbreite(fuenferspaltenbreite);
setzespaltenbreite(zweierspaltenbreite);setzespaltenbreite(
neunerspaltenbreite);setzespaltenbreite(zehnerspaltenbreite);
setzespaltenbreite(achterspaltenbreite);ELIF sortparaphenalleXOR 
sortparaphebestTHEN setzespaltenbreite(viererspaltenbreite);
setzespaltenbreite(zweierspaltenbreite);setzespaltenbreite(
fuenferspaltenbreite);setzespaltenbreite(zweierspaltenbreite);
setzespaltenbreite(neunerspaltenbreite);setzespaltenbreite(
zehnerspaltenbreite);ELIF sortfaecherXOR sortbestfachTHEN setzespaltenbreite(
viererspaltenbreite);setzespaltenbreite(achterspaltenbreite);
setzespaltenbreite(viererspaltenbreite);setzespaltenbreite(
neunerspaltenbreite);setzespaltenbreite(neunerspaltenbreite);FI ;
setzespaltenbreite(viererspaltenbreite);setzespaltenbreite(
zweierspaltenbreite);setzespaltenbreite(viererspaltenbreite);
setzespaltenbreite(viererspaltenbreite);setzespaltenbreite(
viererspaltenbreite);setzespaltenbreite(fuenferspaltenbreite);
setzespaltenbreite(viererspaltenbreite);setzespaltenbreite(
viererspaltenbreite);END PROC spaltendefinieren;PROC 
unterrichtsverteilungholen:TEXT VAR fachkennung;halbjahr:=wert(fnrlvhj);
jahrgangsstufe:=text(intwert(fnrlvjgst),2);fachkennung:=wert(fnrlvfachkennung
);fach:=text(fachkennung,2);kennung:=subtext(fachkennung,3,6);kopplung:=wert(
fnrlvkopplung);paraphe:=wert(fnrlvparaphe);wochenstdn:=text(intwert(
fnrlvwochenstd),2);klassengruppe1:=wert(fnrlvklgrp1);klassengruppe2:=wert(
fnrlvklgrp2);klassengruppe3:=wert(fnrlvklgrp3);klassengruppe4:=wert(
fnrlvklgrp4);raumgruppe1:=wert(fnrlvraumgrp1);raumgruppe2:=wert(fnrlvraumgrp2
);END PROC unterrichtsverteilungholen;END PACKET unterrichtsverteilunglisten