app/schulis/2.2.1/src/1.auskunft.betroffene

Raw file
Back to index

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;