app/schulis/2.2.1/src/4.listen.unterrichtsverteilung

Raw file
Back to index

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