PACKET zeitwuenschebearbeitenDEFINES zeitwuenschebearbeiten, zeitwuenschekopieren,zeitwuenschespeichern:LET bearbmaske= "ms zeitwuensche bearb",zulgewichte="�-3�-2�-1�-0�+0�+1�+2�+3�",fldkzlehrer=2 ,fldparaphe=3,fldkzsugrup=4,fldjgst=5,fldkenn=6,fldkzraeume=7,fldraeume=8, fldkzfaecher=9,fldfaecher=10,fldkzkopp=11,fldkopp=12,fldhjkz=13,bearbfldbez=2 ,bearbfldmo1=3,bearbfldmo12=14,bearbflddi12=26,bearbfldmi12=38,bearbflddo12= 50,bearbfldfr12=62,bearbfldsa6=68,bearbfldutanz=69,bearbfldutgew=70, bearbfldvmanz=71,bearbfldvmgew=72,bearbfldnmanz=73,bearbfldnmgew=74,posanzut= 1,posgewut=3,posanzvm=4,posgewvm=6,posanznm=7,posgewnm=9,laengeallezeitw=132, laengejgst=2,laengeparaphe=4,laengefach=2,laengesugrup=6,laengesugrupkenn=4, laengeraum=4,laengebezfeld=22,meldungwarten=69,meldungobjektunbek=55, meldungfalschekz=56,meldungkeinelehrer=337,meldungkeinelv=321, meldungkeinefaecher=68,meldungkeinesugrup=332,meldungkeineraeume=365, meldungwertfalsch=34,meldungwertfehlt=129,meldungpruefen=329,meldungspeichern =50,meldungnichtsp=63,trenner="�",leererunbestwunsch=" ", raumkenndaten="c02 raeume",schuljahr="Schuljahr",halbjahr="Schulhalbjahr", kennpar="P",kennsugrup="S",kennraum="R",kennfach="F",kennkopp="K",minus="-", plus="+";INT VAR i;INT VAR prueffeld:=2,fall,objektlaenge:=0,anztage,anzvm, anznm,dbstatusbeimholen,hjkenn:=-1;TEXT VAR schj:="",schhj:="",hjkennz:="", startobjekt,allefaecher:=trenner,alleraeume:=trenner,alleparaphen:=trenner, allesugruppen:=trenner;TEXT VAR bearbfolge:="",bezug,bsbestzw:="",bsunbestzw :="",dbbestzw:="",dbunbestzw:="";TEXT VAR leererbestwunsch:= " "+ " ";LET logbucheintrag="Anw. 4.1.4 Zeitwünsche Lehrer geändert";PROC zeitwuenschebearbeiten:standardmeldung(meldungwarten,""); pruefeingmaskeundsetzewerte;standardstartproc(bearbmaske); standardkopfmaskeaktualisieren(text(vergleichsknoten)+" "+schhj+"."+" "+text( schj,2)+"/"+subtext(schj,3));zeitwuenscheausgeben(startobjekt,bezug); standardnproc.pruefeingmaskeundsetzewerte:hjkennz:=standardmaskenfeld(fldhjkz );IF (hjkenn=0CAND hjkennz="")COR (hjkenn=1CAND hjkennz<>"")COR hjkenn=-1 THEN ermittlehalbjahrFI ;IF standardmaskenfeld(fldkzlehrer)<>""THEN fall:= fldkzlehrer;bezug:=kennpar;IF restleer(fall)THEN startobjekt:= standardmaskenfeld(fldparaphe);IF startobjekt<>""THEN startobjekt:=text( startobjekt,laengeparaphe);IF bestandsfehlerTHEN IF alleparaphen<>trenner THEN standardmeldung(meldungobjektunbek,"");infeld(fall+1);return(1)FI ; LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(alleparaphen,pos( alleparaphen,trenner+startobjekt+trenner)+laengeparaphe+2);FI ;ELSE IF alleparaphen=trennerTHEN holalleparaphenFI ;IF alleparaphen=trennerTHEN standardmeldung(meldungkeinelehrer,"");infeld(fall+1);return(1);LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(alleparaphen,laengeparaphe+3); startobjekt:=subtext(alleparaphen,2,2+laengeparaphe-1)FI ;FI ;objektlaenge:= laengeparaphe;ELSE standardmeldung(meldungfalschekz,"");infeld(prueffeld); return(1);LEAVE zeitwuenschebearbeitenFI ELIF standardmaskenfeld(fldkzsugrup) <>""THEN fall:=fldkzsugrup;bezug:=kennsugrup;IF restleer(fall)THEN objektlaenge:=laengejgst+laengesugrupkenn;startobjekt:=standardmaskenfeld( fldjgst);IF startobjekt<>""THEN startobjekt:=jgstaufber(startobjekt); startobjektCAT text(standardmaskenfeld(fldkenn),laengesugrupkenn);IF bestandsfehlerTHEN IF allesugruppen<>trennerTHEN standardmeldung( meldungobjektunbek,"");infeld(fall+1);return(1)FI ;LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(allesugruppen,pos( allesugruppen,trenner+startobjekt+trenner)+objektlaenge+2);FI ;ELSE IF allesugruppen=trennerTHEN holallesugruppen;FI ;IF allesugruppen=trennerTHEN standardmeldung(meldungobjektunbek,"");infeld(fall+1);return(1);LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(allesugruppen,laengesugrup+3); startobjekt:=subtext(allesugruppen,2,2+laengesugrup-1)FI ;FI ;ELSE standardmeldung(meldungfalschekz,"");infeld(prueffeld);return(1);LEAVE zeitwuenschebearbeitenFI ELIF standardmaskenfeld(fldkzraeume)<>""THEN fall:= fldkzraeume;bezug:=kennraum;IF restleer(fall)THEN startobjekt:= standardmaskenfeld(fldraeume);IF startobjekt<>""THEN startobjekt:=text( startobjekt,laengeraum);IF bestandsfehlerTHEN IF alleraeume<>trennerTHEN standardmeldung(meldungobjektunbek,"");infeld(fall+1);return(1)FI ;LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(alleraeume,pos(alleraeume, trenner+startobjekt+trenner)+laengeraum+2);FI ;ELSE IF alleraeume=trenner THEN holalleraeumeFI ;IF alleraeume=trennerTHEN standardmeldung( meldungkeineraeume,"");infeld(fall+1);return(1);LEAVE zeitwuenschebearbeiten ELSE bearbfolge:=subtext(alleraeume,laengeraum+3);startobjekt:=subtext( alleraeume,2,2+laengeraum-1)FI ;FI ;objektlaenge:=laengeraum;ELSE standardmeldung(meldungfalschekz,"");infeld(prueffeld);return(1);LEAVE zeitwuenschebearbeitenFI ELIF standardmaskenfeld(fldkzfaecher)<>""THEN fall:= fldkzfaecher;bezug:=kennfach;IF restleer(fall)THEN startobjekt:= standardmaskenfeld(fldfaecher);IF startobjekt<>""THEN startobjekt:=text( startobjekt,laengefach);IF bestandsfehlerTHEN IF allefaecher<>trennerTHEN standardmeldung(meldungobjektunbek,"");infeld(fall+1);return(1);FI ;LEAVE zeitwuenschebearbeitenELSE bearbfolge:=subtext(allefaecher,pos(allefaecher, trenner+startobjekt+trenner)+laengefach+2);FI ;ELSE IF allefaecher=trenner THEN holallefaecherFI ;IF allefaecher=trennerTHEN standardmeldung( meldungkeinefaecher,"");infeld(fall+1);return(1);LEAVE zeitwuenschebearbeiten ELSE bearbfolge:=subtext(allefaecher,laengefach+3);startobjekt:=subtext( allefaecher,2,2+laengefach-1)FI ;FI ;objektlaenge:=laengefach;ELSE standardmeldung(meldungfalschekz,"");infeld(prueffeld);return(1);LEAVE zeitwuenschebearbeitenFI ELIF standardmaskenfeld(fldkzkopp)<>""THEN fall:= fldkzkopp;bezug:=kennkopp;IF restleer(fall)THEN startobjekt:= standardmaskenfeld(fldkopp);IF startobjekt<>""THEN IF bestandsfehlerTHEN IF wert(fnrlvsj)=schjCAND wert(fnrlvhj)=schhjTHEN standardmeldung( meldungobjektunbek,"");infeld(fall+1);return(1)FI ;LEAVE zeitwuenschebearbeitenFI ;ELSE holestartobjektFI ;ELSE standardmeldung( meldungfalschekz,"");infeld(prueffeld);return(1);LEAVE zeitwuenschebearbeiten FI ELSE standardmeldung(meldungwertfehlt,"");infeld(fldkzlehrer);return(1); LEAVE zeitwuenschebearbeitenFI .ermittlehalbjahr:allesugruppen:=trenner;schhj :=schulkenndatum(halbjahr);schj:=schulkenndatum(schuljahr);IF hjkennz=""THEN geplanteshjundsjberechnen(schhj,schj);hjkenn:=1ELSE hjkenn:=0FI . holestartobjekt:inittupel(dnrlehrveranstaltungen);putwert(fnrlvsj,schj); putwert(fnrlvhj,schhj);putwert(fnrlvkopplung,"");search(ixlvsjhjkopp,FALSE ); IF wert(fnrlvsj)=schjCAND wert(fnrlvhj)=schhjCAND dbstatus<2THEN startobjekt :=wert(fnrlvkopplung)ELSE standardmeldung(meldungkeinelv,"");infeld(fall); return(1);LEAVE zeitwuenschebearbeitenFI .END PROC zeitwuenschebearbeiten; PROC zeitwuenscheausgeben(TEXT CONST objekt,bez):IF fall=fldkzlehrerTHEN standardmaskenfeld(text("Lehrer: "+objekt,laengebezfeld),bearbfldbez)ELIF fall=fldkzsugrupTHEN standardmaskenfeld(text("Schülergruppe: "+startobjekt, laengebezfeld),bearbfldbez)ELIF fall=fldkzraeumeTHEN standardmaskenfeld(text( "Raum: "+objekt,laengebezfeld),bearbfldbez)ELIF fall=fldkzfaecherTHEN standardmaskenfeld(text("Fach: "+objekt,laengebezfeld),bearbfldbez)ELSE standardmaskenfeld(text("Kopplung: "+objekt,laengebezfeld),bearbfldbez)FI ; infeld(1);loeschebildschirm;zeitwunschholen;IF dbstatus=0THEN zeitwunschausgebenELSE setzedbwerteFI ;standardfelderausgeben;infeld( bearbfldmo1).loeschebildschirm:FOR iFROM bearbfldmo1UPTO bearbfldnmgewREP standardmaskenfeld("",i)PER .zeitwunschholen:inittupel(dnrzeitwuensche); putwert(fnrzwsj,schj);putwert(fnrzwhj,schhj);putwert(fnrzwbezug,bez);putwert( fnrzwbezugsobjekt,compress(objekt));search(dnrzeitwuensche,TRUE ); dbstatusbeimholen:=dbstatus.zeitwunschausgeben:dbbestzw:=wert( fnrzwbestimmtewuensche);dbunbestzw:=wert(fnrzwunbestimmtewuensche); gibbestwuenscheaus(dbbestzw);gibunbestwuenscheaus(dbunbestzw).setzedbwerte: dbbestzw:=leererbestwunsch;dbunbestzw:=leererunbestwunsch.END PROC zeitwuenscheausgeben;PROC gibbestwuenscheaus(TEXT CONST bestwunsch):INT VAR suchpos:=1;TEXT VAR wunsch:="";WHILE suchpos<>0REP suchpos:=pos(bestwunsch, minus,suchpos);IF suchpos<>0THEN wunsch:=subtext(bestwunsch,suchpos,suchpos+1 );standardmaskenfeld(wunsch,suchposDIV 2+3);suchposINCR 1FI ;PER ;suchpos:=1; WHILE suchpos<>0REP suchpos:=pos(bestwunsch,plus,suchpos);IF suchpos<>0THEN wunsch:=subtext(bestwunsch,suchpos,suchpos+1);standardmaskenfeld(wunsch, suchposDIV 2+3);suchposINCR 1FI ;PER .END PROC gibbestwuenscheaus;PROC gibunbestwuenscheaus(TEXT CONST unbestwunsch):TEXT VAR datum;IF unbestwunsch <>leererunbestwunschTHEN datum:=unbestwunschSUB posanzut;IF datum<>" "THEN standardmaskenfeld(datum,bearbfldutanz);FI ;datum:=unbestwunschSUB posgewut; IF datum<>" "THEN standardmaskenfeld(datum,bearbfldutgew);FI ;datum:= unbestwunschSUB posanzvm;IF datum<>" "THEN standardmaskenfeld(datum, bearbfldvmanz)FI ;datum:=unbestwunschSUB posgewvm;IF datum<>" "THEN standardmaskenfeld(datum,bearbfldvmgew)FI ;datum:=unbestwunschSUB posanznm; IF datum<>" "THEN standardmaskenfeld(datum,bearbfldnmanz)FI ;datum:= unbestwunschSUB posgewnm;IF datum<>" "THEN standardmaskenfeld(datum, bearbfldnmgew)FI ;FI END PROC gibunbestwuenscheaus;BOOL PROC bestandsfehler: IF fall=fldkzlehrerTHEN pruefparapheELIF fall=fldkzsugrupTHEN pruefsugrup ELIF fall=fldkzraeumeTHEN pruefraumELIF fall=fldkzfaecherTHEN prueffachELIF fall=fldkzkoppTHEN pruefkoppELSE FALSE FI .pruefparaphe:IF alleparaphen= trennerTHEN holalleparaphen;IF alleparaphen=trennerTHEN standardmeldung( meldungkeinelehrer,"");return(1);LEAVE bestandsfehlerWITH TRUE FI FI ;pos( alleparaphen,trenner+startobjekt+trenner)=0.pruefsugrup:IF allesugruppen= trennerTHEN holallesugruppen;IF allesugruppen=trennerTHEN standardmeldung( meldungkeinesugrup,"");return(1);LEAVE bestandsfehlerWITH TRUE FI FI ;pos( allesugruppen,trenner+startobjekt+trenner)=0.pruefraum:IF alleraeume=trenner THEN holalleraeume;IF alleraeume=trennerTHEN standardmeldung( meldungkeineraeume,"");return(1);LEAVE bestandsfehlerWITH TRUE FI FI ;pos( alleraeume,trenner+startobjekt+trenner)=0.prueffach:IF allefaecher=trenner THEN holallefaecher;IF allefaecher=trennerTHEN standardmeldung( meldungkeinefaecher,"");return(1);LEAVE bestandsfehlerWITH TRUE FI FI ;pos( allefaecher,trenner+startobjekt+trenner)=0.pruefkopp:inittupel( dnrlehrveranstaltungen);putwert(fnrlvsj,schj);putwert(fnrlvhj,schhj);putwert( fnrlvkopplung,startobjekt);search(ixlvsjhjkopp,TRUE );dbstatus<>ok.END PROC bestandsfehler;PROC holalleparaphen:inittupel(dnrlehrer);statleseschleife( dnrlehrer,"","",fnrlparaphe,fnrlfamname,PROC lehrer).END PROC holalleparaphen ;PROC holalleraeume:inittupel(dnrschluessel);statleseschleife(dnrschluessel, raumkenndaten,"",fnrschlsachgebiet,fnrschlschluessel,PROC raeume).END PROC holalleraeume;PROC holallesugruppen:inittupel(dnraktschuelergruppen); statleseschleife(dnraktschuelergruppen,schj,schhj,fnrsgrpsj,fnrsgrphj,PROC sugruppen).END PROC holallesugruppen;PROC holallefaecher:inittupel(dnrfaecher );statleseschleife(dnrfaecher,"","",fnrffach,fnrffachbez,PROC faecher).END PROC holallefaecher;PROC lehrer(BOOL VAR b):IF dbstatus<>0THEN b:=TRUE ELSE alleparaphenCAT text(wert(fnrlparaphe),laengeparaphe);alleparaphenCAT trenner FI END PROC lehrer;PROC sugruppen(BOOL VAR b):IF dbstatus<>0COR wert( fnrsgrpsj)<>schjCOR wert(fnrsgrphj)<>schhjTHEN b:=TRUE ELSE allesugruppenCAT jgstaufber(wert(fnrsgrpjgst));allesugruppenCAT text(wert(fnrsgrpkennung), laengesugrupkenn);allesugruppenCAT trennerFI END PROC sugruppen;PROC raeume( BOOL VAR b):IF dbstatus<>0COR wert(fnrschlsachgebiet)>raumkenndatenTHEN b:= TRUE ELSE alleraeumeCAT text(wert(fnrschlschluessel),laengeraum);alleraeume CAT trennerFI END PROC raeume;PROC faecher(BOOL VAR b):IF dbstatus<>0THEN b:= TRUE ELSE allefaecherCAT text(wert(fnrffach),laengefach);allefaecherCAT trennerFI END PROC faecher;BOOL PROC restleer(INT CONST fall):IF fall= fldkzlehrerTHEN FOR iFROM fldkzsugrupUPTO fldkoppREP IF standardmaskenfeld(i) <>""THEN prueffeld:=i;LEAVE restleerWITH FALSE FI PER ELIF fall=fldkzsugrup THEN IF standardmaskenfeld(fldkzlehrer)<>""THEN prueffeld:=fldkzlehrer;LEAVE restleerWITH FALSE FI ;IF standardmaskenfeld(fldparaphe)<>""THEN prueffeld:= fldparaphe;LEAVE restleerWITH FALSE FI ;FOR iFROM fldkzraeumeUPTO fldkoppREP IF standardmaskenfeld(i)<>""THEN prueffeld:=i;LEAVE restleerWITH FALSE FI PER ELIF fall=fldkzraeumeCOR fall=fldkzfaecherTHEN FOR iFROM fldkzlehrerUPTO fall-1REP IF standardmaskenfeld(i)<>""THEN prueffeld:=i;LEAVE restleerWITH FALSE FI PER ;FOR iFROM fall+2UPTO fldkoppREP IF standardmaskenfeld(i)<>"" THEN prueffeld:=i;LEAVE restleerWITH FALSE FI PER ;ELIF fall=fldkzkoppTHEN FOR iFROM fldkzlehrerUPTO fldfaecherREP IF standardmaskenfeld(i)<>""THEN prueffeld:=i;LEAVE restleerWITH FALSE FI PER ;FI ;TRUE END PROC restleer; PROC zeitwuenschekopieren:INT VAR aktfld:=infeld;TEXT VAR wunsch;IF aktfld>= bearbfldmo1CAND aktfld<=bearbfldsa6THEN kopierfeldinhaltaufrestzeileFI ; return(1).kopierfeldinhaltaufrestzeile:wunsch:=standardmaskenfeld(aktfld);IF aktfld<=bearbfldmo12THEN FOR iFROM aktfldUPTO bearbfldmo12REP standardmaskenfeld(wunsch,i)PER ELIF aktfld<=bearbflddi12THEN FOR iFROM aktfldUPTO bearbflddi12REP standardmaskenfeld(wunsch,i)PER ELIF aktfld<= bearbfldmi12THEN FOR iFROM aktfldUPTO bearbfldmi12REP standardmaskenfeld( wunsch,i)PER ELIF aktfld<=bearbflddo12THEN FOR iFROM aktfldUPTO bearbflddo12 REP standardmaskenfeld(wunsch,i)PER ELIF aktfld<=bearbfldfr12THEN FOR iFROM aktfldUPTO bearbfldfr12REP standardmaskenfeld(wunsch,i)PER ELSE FOR iFROM aktfldUPTO bearbfldsa6REP standardmaskenfeld(wunsch,i)PER FI ; standardfelderausgeben;infeld(aktfld).END PROC zeitwuenschekopieren;PROC zeitwuenschespeichern(BOOL CONST speichern):TEXT VAR zw:="";BOOL VAR aenderung:=FALSE ;IF speichernTHEN standardmeldung(meldungpruefen,"");anztage :=0;anzvm:=0;anznm:=0;bsbestzw:="";bsunbestzw:="";FOR iFROM bearbfldmo1UPTO bearbfldsa6REP zw:=standardmaskenfeld(i);IF zw=""THEN bsbestzwCAT " "ELIF zw ="-0"THEN bsbestzwCAT " "ELIF zw="+0"THEN bsbestzwCAT " "ELSE bsbestzwCAT zwFI PER ;FOR iFROM bearbfldutanzUPTO bearbfldnmgewREP zw:=standardmaskenfeld (i);IF length(zw)>1THEN infeld(i);fehlermeldungFI ;IF iMOD 2=0THEN bearbeitegewichtELSE bearbeiteanzahlFI PER ;IF dbbestzw<>bsbestzwTHEN aenderung:=TRUE ;pruefebestzwFI ;IF dbunbestzw<>bsunbestzwTHEN aenderung:= TRUE ;pruefeunbestzwFI ;IF aenderungTHEN standardmeldung(meldungspeichern,"") ;logeintrag(logbucheintrag);datenspeichernFI ;ELSE standardmeldung( meldungnichtsp,"")FI ;naechsterbildschirm.bearbeitegewicht:IF zw=""THEN bsunbestzwCAT " "ELSE bsunbestzwCAT "-";bsunbestzwCAT zwFI .bearbeiteanzahl: IF zw=""THEN bsunbestzwCAT " "ELSE bsunbestzwCAT zwFI .pruefebestzw:i:=1; WHILE izwTHEN pruefeeintragFI ;iINCR 2PER .pruefeeintrag:IF zw=" "THEN LEAVE pruefeeintragFI ;IF pos(zulgewichte,trenner+zw+trenner)=0THEN infeld(iDIV 2+3 );fehlermeldungFI .pruefeunbestzw:IF eingabefalsch(1,1,5)THEN infeld( bearbfldutanz);fehlermeldungFI ;IF eingabefalsch(4,1,6)THEN infeld( bearbfldvmanz);fehlermeldungFI ;IF eingabefalsch(7,1,5)THEN infeld( bearbfldnmanz);fehlermeldungFI ;IF eingabefalsch(3,1,3)THEN infeld( bearbfldutgew);fehlermeldungFI ;IF eingabefalsch(6,1,3)THEN infeld( bearbfldvmgew);fehlermeldungFI ;IF eingabefalsch(9,1,3)THEN infeld( bearbfldnmgew);fehlermeldungFI ;IF anztage+anzvm>6THEN infeld(bearbfldutanz); fehlermeldungnichtmöglichELIF anztage+anznm>6THEN infeld(bearbfldutanz); fehlermeldungnichtmöglichELIF anztage*2+anzvm+anznm>11THEN infeld( bearbfldutanz);fehlermeldungnichtmöglichFI ;FOR iFROM 1UPTO 3REP IF ( bsunbestzwSUB (i*3-2))=" "CAND (bsunbestzwSUB (i*3))<>" "THEN infeld( bearbfldutanz+((i-1)*2));fehlermeldungfehlenderwertELIF (bsunbestzwSUB (i*3-2 ))<>" "CAND (bsunbestzwSUB (i*3))=" "THEN infeld(bearbfldutgew+((i-1)*2)); fehlermeldungfehlenderwertFI PER .fehlermeldungnichtmöglich:return(1); standardmeldung(meldungfalschekz,"");LEAVE zeitwuenschespeichern. fehlermeldungfehlenderwert:return(1);standardmeldung(meldungwertfehlt,""); LEAVE zeitwuenschespeichern.fehlermeldung:return(1);standardmeldung( meldungwertfalsch,"");LEAVE zeitwuenschespeichern.naechsterbildschirm:IF fall =fldkzkoppTHEN WHILE wert(fnrlvkopplung)=startobjektCAND dbstatus<>3REP succ( ixlvsjhjkopp);PER ;IF wert(fnrlvsj)=schjCAND wert(fnrlvhj)=schhjCAND dbstatus <>3THEN startobjekt:=wert(fnrlvkopplung);zeitwuenscheausgeben(startobjekt, bezug);return(1)ELSE enter(2)FI ELIF bearbfolge=""THEN enter(2)ELSE startobjekt:=text(bearbfolge,objektlaenge);bearbfolge:=subtext(bearbfolge, objektlaenge+2);zeitwuenscheausgeben(startobjekt,bezug);return(1)FI . datenspeichern:putwert(fnrzwbestimmtewuensche,bsbestzw);putwert( fnrzwunbestimmtewuensche,bsunbestzw);IF dbstatusbeimholen=0THEN update( dnrzeitwuensche)ELSE insert(dnrzeitwuensche)FI ;IF dbstatus<>0THEN fehlermeldungbeimspeichernFI .fehlermeldungbeimspeichern:return(1); standardmeldung(meldungnichtsp,"");LEAVE zeitwuenschespeichern.END PROC zeitwuenschespeichern;BOOL PROC eingabefalsch(INT CONST charpos,ugr,ogr): TEXT VAR datum:=bsunbestzwSUB charpos;INT VAR dat;IF datum=" "THEN FALSE ELSE dat:=int(datum);IF charpos=1THEN anztage:=datELIF charpos=4THEN anzvm:= datELIF charpos=7THEN anznm:=datFI ;IF lastconversionokTHEN dat ogrELSE TRUE FI FI END PROC eingabefalsch;END PACKET zeitwuenschebearbeiten