summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/1.auskunft.betroffene
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/1.auskunft.betroffene')
-rw-r--r--app/schulis/2.2.1/src/1.auskunft.betroffene259
1 files changed, 259 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/1.auskunft.betroffene b/app/schulis/2.2.1/src/1.auskunft.betroffene
new file mode 100644
index 0000000..bfa245d
--- /dev/null
+++ b/app/schulis/2.2.1/src/1.auskunft.betroffene
@@ -0,0 +1,259 @@
+PACKET auskbetroffenDEFINES auskbetroffeneingang,auskbetroffenstarten,
+auskbetroffensonderwerte:TEXT VAR schuelerschluessel1,schuelerschluessel2,
+schuelerschluessel3;LET swiort=511,swiwohntbei=512,swilangtextortsteil=513,
+swilangtexterzber=514,swiorterzber=515,swilangtextstaatsan=516,
+swilangtextsprache=517,swilangtextspaetaus=518,swilangtextgeschl=519,
+swilangtextrelizug=520,swilangtextrelizeugnis=521,swiortletzteschule=522,
+swilangtextschulform=523,swiaufbschuljeintrsek2=524,swilangtextzugang=525,
+swilangtextabgang=526,swilangtextabschluss=527,swiortneueschule=528,
+swilangtextfremdspr1=537,swiaufbhjafremdspr1=538,swiaufbhjefremdspr1=539,
+swilangtextfremdspr2=540,swiaufbhjafremdspr2=541,swiaufbhjefremdspr2=542,
+swilangtextfremdspr3=543,swiaufbhjafremdspr3=544,swiaufbhjefremdspr3=545,
+swilangtextfremdspr4=546,swiaufbhjafremdspr4=547,swiaufbhjefremdspr4=548,
+swilangtextreliunt=549,swilangtextkumu=550,swilangtextwpf191=551,
+swilangtextwpf291=552,swilangtextwpf192=553,swilangtextwpf292=554,
+swilangtextwpf1101=555,swilangtextwpf2101=556,swilangtextwpf1102=557,
+swilangtextwpf2102=558,swilangtextag1=559,swiaufbhjaag1=560,swiaufbhjeag1=561
+,swilangtextag2=562,swiaufbhjaag2=563,swiaufbhjeag2=564,swilangtextag3=565,
+swiaufbhjaag3=566,swiaufbhjeag3=567,swistrasseerz=568,switelerz=569,
+swinameletzte=570,swistrasseletzte=571,swinameneue=572,swistrasseneue=573,
+swischulform=582,swilangtextstatus=583;LET suffix1="c02 ortsteil",suffix2=
+"c02 verwandtschaft",suffix3="c02 staaten",suffix4="c02 sprachen",suffix5=
+"c02 relizugehoerigkeit",suffix6="c02 schulart",suffix7="c02 zugang",suffix8=
+"c02 abgang",suffix9="c02 abschluss",suffix12="c02 blauer brief",suffix13=
+"c02 bemerkungen",suffix14="c02 versetzung",namefeldnr=2,vornamefeldnr=3,
+geburtsdatumfeldnr=4,niltext="",null=0,blank=" ",punkt=".",kla="(",klz=")",
+fehlermeld1=56,fehlermeld2=157,wartemeldnr=69,vater=1,maske=
+"ms auswahl schueler o. klasse mit bestand";TEXT VAR aktjgsthj;INT VAR
+aktuellesschuljahr,aktuelleshalbjahr,jahr,halbjahr,eingabestatus;INT VAR
+gewindex;BOOL CONST anschreibenzeigen:=FALSE ;PROC auskbetroffeneingang:
+standardvproc(maske)END PROC auskbetroffeneingang;PROC auskbetroffenstarten:
+lesemaskenwerte;IF schluesselmitdatumangegebenTHEN IF datumseingabekorrekt
+THEN fortfahrenELSE meldungdatumnichtkorrekt;zurueckzumdialogFI ;ELSE IF
+schlüsselohnedatumkorrektTHEN fortfahrenELSE meldungauswahlnichtsinnvoll;
+zurueckzumdialogFI ;FI .schluesselmitdatumangegeben:schuelerschluessel1<>
+niltextCAND schuelerschluessel2<>niltextCAND schuelerschluessel3<>niltext.
+datumseingabekorrekt:standardpruefe(6,4,0,0,niltext,eingabestatus);
+eingabestatus=0.schlüsselohnedatumkorrekt:schuelerschluessel3=niltextCAND
+schuelerschluessel1<>niltext.fortfahren:setzemitseitennummern(TRUE );gewindex
+:=dnrschueler;startenausfuehren.lesemaskenwerte:schuelerschluessel1:=
+standardmaskenfeld(namefeldnr);schuelerschluessel2:=standardmaskenfeld(
+vornamefeldnr);schuelerschluessel3:=standardmaskenfeld(geburtsdatumfeldnr).
+meldungauswahlnichtsinnvoll:standardmeldung(fehlermeld1,niltext).
+meldungdatumnichtkorrekt:standardmeldung(fehlermeld2,niltext).
+zurueckzumdialog:return(vater).startenausfuehren:BOOL CONST einzelbearbeitung
+:=TRUE ;reinitparsing;standardmeldung(wartemeldnr,niltext);#dr20.08.87#
+aktjgsthj:=schulkenndatum("Schulhalbjahr");aktuelleshalbjahr:=int(aktjgsthj);
+aktuellesschuljahr:=int(schulkenndatum("Schuljahr"));convertierehalbjahr;
+setzesonderwerteschulkenndaten;setzewerte;zusammengesetztesanschreiben(
+gewindex,anschreibenzeigen,einzelbearbeitung,BOOL PROC
+auskbetroffensonderwerte,BOOL PROC multistopauskunft,TEXT PROC
+druckdateiauskzusammenstellen).setzewerte:putwert(fnrsufamnames,
+schuelerschluessel1);putwert(fnrsurufnames,schuelerschluessel2);putwert(
+fnrsugebdatums,datumskonversion(schuelerschluessel3)).convertierehalbjahr:IF
+aktuelleshalbjahr=1THEN jahr:=int(subtext(wert(2),1,2));halbjahr:=2ELSE jahr
+:=int(subtext(wert(2),3,4));halbjahr:=1FI .END PROC auskbetroffenstarten;
+BOOL PROC auskbetroffensonderwerte:LET nein="n",ja="j",langtextnein="nein",
+langtextja="ja";initialisieresonderwerte;holediffdaten;adressat((wert(
+fnrsurufnames)SUB 1)+punkt+blank+wert(fnrsufamnames));setzesonderwert(swiort,
+wert(fnrsuplzorts));setzesonderwert(swiorterzber,wert(fnrsuplzorte));
+setzesonderwert(swistrasseerz,wert(fnrsustrnre));setzesonderwert(switelerz,
+wert(fnrsutelnre));sucheadressezurschule(wert(fnrsuskennlschule));
+setzesonderwert(swiortletzteschule,wert(fnrschplzort));setzesonderwert(
+swischulform,wert(fnrschart));setzesonderwert(swilangtextschulform,langtext(
+suffix6,wert(fnrschart)));setzesonderwert(swinameletzte,wert(fnrschname));
+setzesonderwert(swistrasseletzte,wert(fnrschstrnr));sucheadressezurschule(
+wert(fnrsuskennnschule));setzesonderwert(swiortneueschule,wert(fnrschplzort))
+;setzesonderwert(swinameneue,wert(fnrschname));setzesonderwert(swistrasseneue
+,wert(fnrschstrnr));setzesonderwert(swiwohntbei,wohntbei);setzesonderwert(
+swilangtextgeschl,langtextgeschl);setzesonderwert(swilangtextspaetaus,
+langtextspaetaus);setzesonderwert(swilangtextrelizeugnis,langtextrelizeugnis)
+;setzesonderwert(swilangtextstatus,langtextstatus);setzesonderwert(
+swilangtextortsteil,langtext(suffix1,wert(fnrsuortsteils)));setzesonderwert(
+swilangtexterzber,langtext(suffix2,wert(fnrsuverhes)));setzesonderwert(
+swilangtextstaatsan,langtext(suffix3,wert(fnrsustaatsangs)));setzesonderwert(
+swilangtextsprache,langtext(suffix4,wert(fnrsumuttersprache)));
+setzesonderwert(swilangtextrelizug,langtext(suffix5,wert(fnrsureligionsz)));
+setzesonderwert(swilangtextzugang,langtext(suffix7,wert(fnrsuartzugang)));
+setzesonderwert(swilangtextabgang,langtext(suffix8,wert(fnrsuabggrund)));
+setzesonderwert(swilangtextabschluss,langtext(suffix9,wert(fnrsuabschluss)));
+setzesonderwert(swilangtextfremdspr1,langtextfach(wert(fnrdd1fremdfach)));
+setzesonderwert(swilangtextfremdspr2,langtextfach(wert(fnrdd2fremdfach)));
+setzesonderwert(swilangtextfremdspr3,langtextfach(wert(fnrdd3fremdfach)));
+setzesonderwert(swilangtextfremdspr4,langtextfach(wert(fnrdd4fremdfach)));
+setzesonderwert(swilangtextreliunt,langtextfach(wert(fnrddreliunter)));
+setzesonderwert(swilangtextkumu,langtextfach(wert(fnrddkunstmusik)));
+setzesonderwert(swilangtextwpf191,langtextfach(wert(fnrddfach091a)));
+setzesonderwert(swilangtextwpf291,langtextfach(wert(fnrddfach091b)));
+setzesonderwert(swilangtextwpf192,langtextfach(wert(fnrddfach092a)));
+setzesonderwert(swilangtextwpf292,langtextfach(wert(fnrddfach092b)));
+setzesonderwert(swilangtextwpf1101,langtextfach(wert(fnrddfach101a)));
+setzesonderwert(swilangtextwpf2101,langtextfach(wert(fnrddfach101b)));
+setzesonderwert(swilangtextwpf1102,langtextfach(wert(fnrddfach102a)));
+setzesonderwert(swilangtextwpf2102,langtextfach(wert(fnrddfach102b)));
+setzesonderwert(swilangtextag1,langtextfach(wert(fnrddagthema1)));
+setzesonderwert(swilangtextag2,langtextfach(wert(fnrddagthema2)));
+setzesonderwert(swilangtextag3,langtextfach(wert(fnrddagthema3)));
+setzesonderwert(swiaufbschuljeintrsek2,aufbschuljahr(fnrsueintrittinsek));
+setzesonderwert(swiaufbhjafremdspr1,aufbhalbjahr(fnrdd1fremdb));
+setzesonderwert(swiaufbhjefremdspr1,aufbhalbjahr(fnrdd1fremde));
+setzesonderwert(swiaufbhjafremdspr2,aufbhalbjahr(fnrdd2fremdb));
+setzesonderwert(swiaufbhjefremdspr2,aufbhalbjahr(fnrdd2fremde));
+setzesonderwert(swiaufbhjafremdspr3,aufbhalbjahr(fnrdd3fremdb));
+setzesonderwert(swiaufbhjefremdspr3,aufbhalbjahr(fnrdd3fremde));
+setzesonderwert(swiaufbhjafremdspr4,aufbhalbjahr(fnrdd4fremdb));
+setzesonderwert(swiaufbhjefremdspr4,aufbhalbjahr(fnrdd4fremde));
+setzesonderwert(swiaufbhjaag1,aufbhalbjahr(fnrddagthema1b));setzesonderwert(
+swiaufbhjeag1,aufbhalbjahr(fnrddagthema1e));setzesonderwert(swiaufbhjaag2,
+aufbhalbjahr(fnrddagthema2b));setzesonderwert(swiaufbhjeag2,aufbhalbjahr(
+fnrddagthema2e));setzesonderwert(swiaufbhjaag3,aufbhalbjahr(fnrddagthema3b));
+setzesonderwert(swiaufbhjeag3,aufbhalbjahr(fnrddagthema3e));TRUE .
+holediffdaten:readtid(dnrdiffdaten,zugriff(fnrsutiddiffdaten)).langtextstatus
+:IF wert(fnrsustatuss)="n05"THEN geklammert(
+"Neuangemeldet zur Jahrgangsstufe 5")ELIF wert(fnrsustatuss)="n011"THEN
+geklammert("Neuangemeldet zu jahrgangsstufe 11")ELIF wert(fnrsustatuss)="nso"
+THEN geklammert("Neuangemeldet")ELIF wert(fnrsustatuss)="abg"THEN geklammert(
+"Abgegangen")ELIF wert(fnrsustatuss)="ls"THEN geklammert(
+"Laufendes Schuljahr")ELSE geklammert("Kein Eintrag")FI .wohntbei:IF wert(
+fnrsuwohntbei)=niltextTHEN niltextELSE "bei: "+wert(fnrsuwohntbei)FI .
+langtextgeschl:LET weiblich="w",langtextweibl="weiblich",langtextmaennl=
+"männlich";IF wert(fnrsugeschlechts)=weiblichTHEN kla+langtextweibl+klzELSE
+kla+langtextmaennl+klzFI .langtextspaetaus:IF wert(fnrsuspaetaus)=neinTHEN
+langtextneinELIF wert(fnrsuspaetaus)=jaTHEN langtextjaELSE niltextFI .
+langtextrelizeugnis:IF wert(fnrsureligionsz)=neinTHEN langtextneinELIF wert(
+fnrsureligionsz)=jaTHEN langtextjaELSE niltextFI .END PROC
+auskbetroffensonderwerte;PROC sucheadressezurschule(TEXT CONST schulk):
+inittupel(dnrschulen);IF schulk<>""THEN putwert(fnrschkennung,schulk);search(
+dnrschulen,TRUE );FI ENDPROC sucheadressezurschule;TEXT PROC langtextfach(
+TEXT CONST kuerzel):inittupel(dnrfaecher);putwert(dnrfaecher+1,kuerzel);
+search(dnrfaecher,TRUE );geklammert(wert(dnrfaecher+2))END PROC langtextfach;
+TEXT PROC langtext(TEXT CONST bestand,bemerkungsschluessel):TEXT VAR
+gefundenerlangtext:="";INT VAR bestandsid:=0;putwert(fnrschlsachgebiet,
+bestand);putwert(fnrschlschluessel,bemerkungsschluessel);search(dnrschluessel
+,TRUE );IF dbstatus=okTHEN gefundenerlangtext:=wert(fnrschllangtext)ELSE
+dbstatus(ok);FI ;geklammert(gefundenerlangtext)END PROC langtext;TEXT PROC
+geklammert(TEXT CONST zuklammern):IF zuklammern=niltextTHEN niltextELSE kla+
+zuklammern+klzFI ENDPROC geklammert;TEXT PROC aufbschuljahr(INT CONST dbindex
+):LET trenner="/";IF wert(dbindex)=niltextOR wert(dbindex)="0"THEN niltext
+ELSE subtext(wert(dbindex),1,2)+trenner+subtext(wert(dbindex),3,4)FI END
+PROC aufbschuljahr;TEXT PROC aufbhalbjahr(INT CONST dbindex):LET trenner=".";
+IF wert(dbindex)=niltextTHEN niltextELSE subtext(wert(dbindex),1,2)+trenner+
+subtext(wert(dbindex),3,3)FI END PROC aufbhalbjahr;TEXT PROC aufbhalbjahr(
+INT CONST dbindex,ae):LET trenner=".";TEXT VAR hj:=subtext(wert(dbindex),(ae*
+3)-2,ae*3);IF hj=niltextTHEN niltextELSE subtext(hj,1,2)+trenner+subtext(hj,3
+,3)FI END PROC aufbhalbjahr;TEXT PROC druckdateiauskzusammenstellen:LET
+prevordruck="vordruck",postvordruck=" auskunft betroffene",vordruck1=
+"vordruck1 auskunft betroffene",vordruck2="vordruck2 auskunft betroffene",
+vordruck3="vordruck3 auskunft betroffene",vordruck4=
+"vordruck4 auskunft betroffene",vordruck5="vordruck5 auskunft betroffene",
+anzvordrucke=5,hilfsdatei1="hilfsdatei1",hilfsdatei2="hilfsdatei2",
+hilfsdateikopf="hilfsdatei kopf",druckdatei="liste.1",manager=
+"anschreiben server";INT VAR i,zeilenanz1,zeilenanz2,zeilenanzkopf,anzhj;
+TEXT VAR zeile,schuljahr;INT VAR neuesschuljahr;FILE VAR f,g,kopfspeicher;
+aktuellevordruckevommanagerholen;druckvorbereiten;
+allgemeineschuelerdatenindiedruckdateischreiben;
+halbjahresdatendesschuelersindiedruckdateischreiben;
+letztehilfsdateiindruckdateibringen;drucknachbereitenohneausdrucken;
+druckdatei.aktuellevordruckevommanagerholen:FOR iFROM 1UPTO anzvordruckeREP
+forget(prevordruck+text(i)+postvordruck,quiet);fetch(prevordruck+text(i)+
+postvordruck,/manager)PER .allgemeineschuelerdatenindiedruckdateischreiben:
+briefalternative(vordruck1,hilfsdatei1);f:=sequentialfile(input,hilfsdatei1);
+#limit(75);##"unerklärliche"Z eilenumbrüche#maxlinelength(f,75);zeilenanz1:=
+lines(f);FOR iFROM 1UPTO zeilenanz1REP getline(f,zeile);druckzeileschreiben(
+zeile)PER ;seitenwechsel;forget(hilfsdatei1,quiet);briefalternative(vordruck2
+,hilfsdatei1);vordruck2merkenfuerfolgeseiten;briefalternative(vordruck3,
+hilfsdatei1);f:=sequentialfile(output,hilfsdatei1);zeilenanz1:=lines(f).
+halbjahresdatendesschuelersindiedruckdateischreiben:bestimme5teshjvor;lesehjd
+;WHILE (dbstatus=ok)CAND gleicherschuelerREP initialisieresonderwerte;
+alteanweisungsfolge;succ(dnrhalbjahresdaten);PER .bestimme5teshjvor:anzhj:=-5
+;bestimmeentsprechendesschuljahr.bestimmeentsprechendesschuljahr:IF anzhj<0
+THEN anzhj:=anzhj*-1;neuesschuljahr:=jahr-(anzhjDIV 2);IF (anzhjMOD 2)=0CAND
+halbjahr=2THEN schuljahr:=text(neuesschuljahr)+text(neuesschuljahr+1);ELSE
+schuljahr:=text(neuesschuljahr-1)+text(neuesschuljahr);FI ELSE neuesschuljahr
+:=jahr+(anzhjDIV 2)+anzhjMOD 2;IF ((anzhjMOD 2)=1CAND halbjahr=2)COR (
+halbjahr=1)THEN schuljahr:=text(neuesschuljahr-1)+text(neuesschuljahr);ELSE
+schuljahr:=text(neuesschuljahr)+text(neuesschuljahr+1);FI FI .lesehjd:
+inittupel(dnrhalbjahresdaten);uebernehmenschuelerdaten;search(
+dnrhalbjahresdaten,FALSE ).uebernehmenschuelerdaten:putwert(fnrhjdfamnames,
+wert(fnrsufamnames));putwert(fnrhjdrufnames,wert(fnrsurufnames));putwert(
+fnrhjdgebdats,wert(fnrsugebdatums));putwert(fnrhjdsj,schuljahr);putintwert(
+fnrhjdhj,neueshalbjahr);.neueshalbjahr:IF aktuelleshalbjahr=1THEN 2ELSE 1FI .
+gleicherschueler:wert(fnrhjdfamnames)=wert(fnrsufamnames)CAND wert(
+fnrhjdrufnames)=wert(fnrsurufnames)CAND wert(fnrhjdgebdats)=wert(
+fnrsugebdatums).alteanweisungsfolge:teil1hjdaufbereiten(vordruck4,hilfsdatei2
+);aufbereitetedatenunterbringen;teil2hjdaufbereiten(vordruck5,hilfsdatei2);
+aufbereitetedatenunterbringen;.vordruck2merkenfuerfolgeseiten:copy(
+hilfsdatei1,hilfsdateikopf);kopfspeicher:=sequentialfile(input,hilfsdateikopf
+);zeilenanzkopf:=lines(kopfspeicher).aufbereitetedatenunterbringen:g:=
+sequentialfile(input,hilfsdatei2);#limit(75);##"unerklärliche"Z eilenumbrüche
+#maxlinelength(g,75);zeilenanz2:=lines(g);IF zeilenanz1+zeilenanz2>
+drucklaengeTHEN hilfsdatei1indruckdateibringenundloeschen;seitenwechsel;
+vordruckkopfnachhilfsdatei1;zeilenanz1:=zeilenanz2+zeilenanzkopf;ELSE
+zeilenanz1:=zeilenanz1+zeilenanz2;FI ;hilfsdatei2nachhilfsdatei1undloeschen;.
+hilfsdatei1indruckdateibringenundloeschen:input(f);FOR iFROM 1UPTO zeilenanz1
+REP getline(f,zeile);druckzeileschreiben(zeile);PER ;forget(hilfsdatei1,quiet
+).vordruckkopfnachhilfsdatei1:f:=sequentialfile(output,hilfsdatei1);input(
+kopfspeicher);FOR iFROM 1UPTO zeilenanzkopfREP getline(kopfspeicher,zeile);
+putline(f,zeile)PER .hilfsdatei2nachhilfsdatei1undloeschen:FOR iFROM 1UPTO
+zeilenanz2REP getline(g,zeile);putline(f,zeile)PER ;forget(hilfsdatei2,quiet)
+.letztehilfsdateiindruckdateibringen:input(f);FOR iFROM 1UPTO zeilenanz1REP
+getline(f,zeile);druckzeileschreiben(zeile)PER ;forget(hilfsdateikopf,quiet);
+forget(hilfsdatei1,quiet).END PROC druckdateiauskzusammenstellen;PROC
+teil1hjdaufbereiten(TEXT CONST vordruck,hilfsdatei):LET wiederholung=
+" Wiederholung",zuwiederholen=" zu wiederholen",wirdwiederholt=
+" wird wiederholt",swiaufbschuljahr=511,swiwarnung1=512,swibemnr1=513,
+swilangtextbemnr1=514,swiwarnung2=515,swibemnr2=516,swilangtextbemnr2=517,
+swiversetzung=518,swilangtextversetzung=519,swistartnachpruefungen=520,
+swinotenachpruef=527,swistartzeugnisbemerk=528,swistartversaeumtverspaetet=
+534,swilangtextbemerknachpruefung=537;INT VAR hilfsindex,i,swi;TEXT VAR wie;
+wie:=wert(fnrhjdversetzung);setzesonderwert(swiaufbschuljahr,aufbschuljahr(
+fnrhjdsj));setzesonderwert(swiwarnung1,wert(fnrhjdvermblau));setzesonderwert(
+swibemnr1,wert(fnrhjdbemblau));setzesonderwert(swilangtextbemnr1,langtext(
+suffix12,wert(fnrhjdbemblau)));setzesonderwert(swiwarnung2,wert(
+fnrhjdvermnachwarn));setzesonderwert(swibemnr2,wert(fnrhjdbemnachwarn));
+setzesonderwert(swilangtextbemnr2,langtext(suffix13,wert(fnrhjdbemnachwarn)))
+;setzesonderwert(swiversetzung,wert(fnrhjdversetzung));setzesonderwert(
+swilangtextversetzung,langtext(suffix14,wert(fnrhjdversetzung)));
+setzesonderwert(swilangtextbemerknachpruefung,langtext("Bemerkungen",
+geklammert(wert(fnrhjdbemnach))));swi:=swistartnachpruefungen;FOR iFROM 1
+UPTO 3REP setzesonderwert(swi,wert(fnrhjdnachfach1+i-1));swiINCR 1;
+setzesonderwert(swi,langtextfach(wert(fnrhjdnachfach1+i-1)));swiINCR 1;
+hilfsindexINCR 1PER ;setzesonderwert(swi,wert(fnrhjdnachfach));
+setzesonderwert(swinotenachpruef,wert(fnrhjdnacherg));swi:=
+swistartzeugnisbemerk;FOR iFROM 1UPTO 3REP setzesonderwert(swi,wert(
+fnrhjdbemzeug1+i-1));swiINCR 1;setzesonderwert(swi,langtext(suffix13,wert(
+fnrhjdbemzeug1+i-1)));swiINCR 1;hilfsindexINCR 1PER ;swi:=
+swistartversaeumtverspaetet;FOR iFROM 1UPTO 3REP setzesonderwert(swi,wert(
+fnrhjdversstdm+i-1));swiINCR 1;hilfsindexINCR 1PER ;briefalternative(vordruck
+,hilfsdatei).END PROC teil1hjdaufbereiten;PROC teil2hjdaufbereiten(TEXT
+CONST vordruck,hilfsdatei):LET swifach=538,swiart=539,swiklau=541,swiknr=542,
+swiwarn=543,swinote=544,swibem=545;setzesonderwert(swifach,aufbereiteterwert(
+fnrhjdfach,2));setzesonderwert(swiart,aufbereiteterwert(fnrhjdkursart,2));
+setzesonderwert(swiklau,aufbereiteterwert(fnrhjdklausurteiln,1));
+setzesonderwert(swiknr,aufbereiteterwert(fnrhjdlerngrpkenn,4));
+setzesonderwert(swiwarn,aufbereiteterwert(fnrhjdvermwarnung,1));
+setzesonderwert(swinote,aufbereiteterwert(fnrhjdnotepunkte,2));
+setzesonderwert(swibem,aufbereiteterwert(fnrhjdbemerk,3));fuellebemerkungen;
+briefalternative(vordruck,hilfsdatei).fuellebemerkungen:LET kuerzelbreite=3;
+INT VAR i,l:=length(wert(fnrhjdbemerk))DIV kuerzelbreite,von,bis;TEXT VAR
+kuerzel;INT VAR swib:=546;FOR iFROM 1UPTO lREP von:=((i-1)*kuerzelbreite)+1;
+bis:=i*kuerzelbreite;kuerzel:=subtext(wert(fnrhjdbemerk),von,bis);
+setzesonderwert(swib,kuerzel);swibINCR 1;setzesonderwert(swib,langtext(
+suffix13,kuerzel));swibINCR 1PER .END PROC teil2hjdaufbereiten;TEXT PROC
+aufbereiteterwert(INT CONST fnr,kuerzelbreite):LET doppelpunkt=":",anzspalten
+=13,spaltenbreitetab=4;INT VAR i,l:=length(wert(fnr))DIV kuerzelbreite,von,
+bis,blankanz;TEXT VAR zeile:="",kuerzel;#IF l>nullTHEN #FOR iFROM 1UPTO #l#
+anzspaltenREP von:=((i-1)*kuerzelbreite)+1;bis:=i*kuerzelbreite;kuerzel:=
+subtext(wert(fnr),von,bis);zeile:=zeile+aufbkuerzelPER ;#ELSE zeile:=
+anzspalten*(doppelpunkt+spaltenbreitetab*blank)FI ;#zeile.aufbkuerzel:IF
+length(kuerzel)<>nullTHEN blankanz:=spaltenbreitetab-length(kuerzel);
+doppelpunkt+preblankanz*blank+kuerzel+postblankanz*blankELSE doppelpunkt+
+spaltenbreitetab*blankFI .preblankanz:blankanzDIV 2.postblankanz:blankanz-
+preblankanz.ENDPROC aufbereiteterwert;BOOL PROC multistopauskunft:(
+schuelerschluessel1=wert(fnrsufamnames))CAND (schuelerschluessel2=wert(
+fnrsurufnames)COR schuelerschluessel2="")CAND (schuelerschluessel3=
+datumrekonversion(wert(fnrsugebdatums))COR schuelerschluessel3="")END PROC
+multistopauskunft;TEXT PROC leerintintext(TEXT CONST t):IF t="0"THEN ""ELSE t
+FI END PROC leerintintext;TEXT PROC kurz(TEXT CONST t):TEXT VAR txt:=niltext;
+IF t<>niltextTHEN txt:=t+blankFI ;txtEND PROC kurz;END PACKET auskbetroffen;
+