diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2019-02-04 13:09:03 +0100 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2019-02-04 13:09:03 +0100 |
commit | 04e68443040c7abad84d66477e98f93bed701760 (patch) | |
tree | 2b6202afae659e773bf6916157d23e83edfa44e3 /app/schulis/2.2.1/src/4.zeitwuensche bearbeiten | |
download | eumel-src-04e68443040c7abad84d66477e98f93bed701760.tar.gz eumel-src-04e68443040c7abad84d66477e98f93bed701760.tar.bz2 eumel-src-04e68443040c7abad84d66477e98f93bed701760.zip |
Initial import
Diffstat (limited to 'app/schulis/2.2.1/src/4.zeitwuensche bearbeiten')
-rw-r--r-- | app/schulis/2.2.1/src/4.zeitwuensche bearbeiten | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/4.zeitwuensche bearbeiten b/app/schulis/2.2.1/src/4.zeitwuensche bearbeiten new file mode 100644 index 0000000..c52a4a9 --- /dev/null +++ b/app/schulis/2.2.1/src/4.zeitwuensche bearbeiten @@ -0,0 +1,243 @@ +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 i<laengeallezeitwREP zw:=subtext(bsbestzw,i,i+1);IF subtext(dbbestzw,i, +i+1)<>zwTHEN 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<ugrCOR dat> +ogrELSE TRUE FI FI END PROC eingabefalsch;END PACKET zeitwuenschebearbeiten + |