diff options
Diffstat (limited to 'app/schulis/2.2.1/src/1.auskunft.betroffene')
-rw-r--r-- | app/schulis/2.2.1/src/1.auskunft.betroffene | 259 |
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; + |