app/schulis/2.2.1/src/0.raumgruppen bearbeiten

Raw file
Back to index

PACKET erfraumgruppenDEFINES erfassungraumgruppen:LET maskenname=
"ms erf raumgruppen",fnrkennung=2,fnrletztesfeld=17,trenner=" = ",maxraeume=
15,laengeraumgruppe=4,laengeeinerraumangabe=4;TEXT VAR raeume:="";TEXT VAR 
raum:="";INT VAR anzraeume;TEXT VAR gueltigeraeume:="";LET postrenner="�";
LET meldnrungueltigerraum=55,meldnrraumgruppezulang=60;LET sachgebietraum=
"c02 raeume"PROC erfassungraumgruppen(INT CONST proznr):systemdboff;
reinitparsing;SELECT proznrOF CASE 1:setzeerfassungsparameterCASE 2:
zeigeraumgruppezurbearbeitungCASE 3:pruefeplausibilitaetCASE 4:
setzewertefuerdbspeicherungCASE 5:setzeidentiobjektfuerobjektlisteCASE 6:
raumgruppelesenCASE 7:raumgruppeaendernCASE 8:raumgruppeeinfuegenCASE 9:
raumgruppeloeschenEND SELECT END PROC erfassungraumgruppen;PROC 
setzeerfassungsparameter:gueltigeraeume:="";setzeerfassungsparameter(
dnrraumgruppen,maskenname,fnrletztesfeld)END PROC setzeerfassungsparameter;
PROC zeigeraumgruppezurbearbeitung:setzeerfassungsfeld(wert(fnrrgraumgrp),
fnrkennung);raeume:=wert(fnrrgraeume);anzraeume:=(length(raeume))DIV 
laengeeinerraumangabe;INT VAR i:=1;WHILE i<=anzraeumeREP raum:=subtext(raeume
,1,laengeeinerraumangabe);raeume:=subtext(raeume,laengeeinerraumangabe+1);
setzeerfassungsfeld(compress(raum),i+fnrkennung);iINCR 1PER ;WHILE i<=
maxraeumeREP setzeerfassungsfeld("",i+fnrkennung);iINCR 1PER ;END PROC 
zeigeraumgruppezurbearbeitung;PROC pruefeplausibilitaet:LET leer="",null=0;
IF gueltigeraeume=""THEN holealleraeumeingueltigeraeumeFI ;INT VAR 
fehlerstatus;pruefe(1,erfassungsmaske,PROC erfassungswert,fnrkennung,null,
null,leer,fehlerstatus);IF fehlerstatus<>0THEN setzefehlerstatus(fehlerstatus
);LEAVE pruefeplausibilitaetELIF length(erfassungswert(fnrkennung))>
laengeraumgruppeTHEN meldeauffaellig(erfassungsmaske,meldnrraumgruppezulang);
setzefehlerstatus(fnrkennung);LEAVE pruefeplausibilitaetFI ;INT VAR i;FOR i
FROM 1UPTO maxraeumeREP INT VAR fnrraum:=i+fnrkennung;IF erfassungswert(
fnrraum)<>""THEN IF ungueltigeraumangabeTHEN setzefehlerstatus(fnrraum);
meldeauffaellig(erfassungsmaske,meldnrungueltigerraum);LEAVE 
pruefeplausibilitaetFI ;FI ;PER .ungueltigeraumangabe:pos(gueltigeraeume,
suchwert)=0.suchwert:postrenner+compress(erfassungswert(fnrraum))+postrenner.
END PROC pruefeplausibilitaet;PROC holealleraeumeingueltigeraeume:
gueltigeraeume:=postrenner;statleseschleife(dnrschluessel,sachgebietraum,"",
fnrschlsachgebiet,fnrschlschluessel,PROC raumlesen);END PROC 
holealleraeumeingueltigeraeume;PROC raumlesen(BOOL VAR b):IF dbstatus<>0COR 
wert(fnrschlsachgebiet)>sachgebietraumTHEN b:=TRUE ELSE gueltigeraeumeCAT 
wert(fnrschlschluessel)+postrennerFI END PROC raumlesen;PROC 
setzewertefuerdbspeicherung:putwert(fnrrgraumgrp,erfassungswert(fnrkennung));
INT VAR i;raeume:="";FOR iFROM fnrkennung+1UPTO fnrletztesfeldREP raum:=
erfassungswert(i);IF raum<>""THEN raeumeCAT text(raum,laengeeinerraumangabe)
FI PER ;putwert(fnrrgraeume,raeume)END PROC setzewertefuerdbspeicherung;PROC 
setzeidentiobjektfuerobjektliste:LET trennsymbolfuerobli="$";TEXT VAR 
identizeile;identizeile:=wert(fnrrgraumgrp)+trenner+wert(fnrrgraeume);
setzeidentiwert(identizeilemitschluesselanhang).
identizeilemitschluesselanhang:identizeile+trennsymbolfuerobli+wert(
fnrrgraumgrp).END PROC setzeidentiobjektfuerobjektliste;PROC raumgruppelesen:
putwert(fnrrgraumgrp,schluessel);search(dnrraumgruppen,TRUE );IF dbstatus=ok
THEN saveupdateposition(dnrraumgruppen)FI END PROC raumgruppelesen;PROC 
raumgruppeaendern:restoreupdateposition(dnrraumgruppen);update(dnrraumgruppen
)END PROC raumgruppeaendern;PROC raumgruppeeinfuegen:insert(dnrraumgruppen)
END PROC raumgruppeeinfuegen;PROC raumgruppeloeschen:delete(dnrraumgruppen)
END PROC raumgruppeloeschen;TEXT PROC schluessel:erfassungswert(fnrkennung)
END PROC schluessel;END PACKET erfraumgruppen;