PACKET isperfmeldungenDEFINES erfassungmeldungen:LET maskenname= "mu erf abkuerzungen",maxschluessellaenge=4,fnrschluessel=2,fnrletztesfeld=4, fnrlangtext=4,trenner=" = ",leer="";INT VAR dateinummer:=0;PROC erfassungmeldungen(INT CONST proznr):systemdbon;SELECT proznrOF CASE 1: setzeerfassungsparameterCASE 2:zeigeschluesselzurbearbeitungCASE 3: pruefeplausibilitaetCASE 4:setzewertefuerdbspeicherungCASE 5: setzeidentiobjektfuerobjektlisteCASE 6:meldunglesenCASE 7:meldungaendernCASE 8:meldungeinfuegenCASE 9:meldungloeschenENDSELECT ;END PROC erfassungmeldungen;PROC setzeerfassungsparameter:dateinummer:=dnrmeld; setzeerfassungsparameter(dateinummer,maxschluessellaenge,maskenname, fnrletztesfeld)END PROC setzeerfassungsparameter;PROC zeigeschluesselzurbearbeitung:setzeerfassungsfeld(wert(fnrmeldungstext), fnrlangtext)END PROC zeigeschluesselzurbearbeitung;PROC pruefeplausibilitaet: INT VAR fehlerstatus;pruefe(2,erfassungsmaske,TEXT PROC (INT CONST ) erfassungswert,fnrschluessel,1,9999,leer,fehlerstatus);IF fehlerstatus<>0 THEN setzefehlerstatus(fehlerstatus);FI END PROC pruefeplausibilitaet;PROC setzewertefuerdbspeicherung:putintwert(fnrmeldungsname,int(erfassungswert( fnrschluessel)));search(dnrmeld,TRUE );putwert(fnrmeldungstext,erfassungswert (fnrlangtext))END PROC setzewertefuerdbspeicherung;PROC setzeidentiobjektfuerobjektliste:LET trennsymbolfuerobli="$";TEXT VAR identizeile;identizeile:=text(intwert(fnrmeldungsname))+trenner+wert( fnrmeldungstext);identizeile:=subtext(identizeile,1,maxidentizeilenlaenge); setzeidentiwert(identizeilemitschluesselanhang). identizeilemitschluesselanhang:identizeile+trennsymbolfuerobli+text(intwert( fnrmeldungsname)).END PROC setzeidentiobjektfuerobjektliste;PROC meldunglesen :INT VAR fehlerstatus;pruefe(2,erfassungsmaske,TEXT PROC (INT CONST ) erfassungswert,fnrschluessel,1,9999,leer,fehlerstatus);IF fehlerstatus=0THEN inittupel(dnrmeld);putintwert(fnrmeldungsname,int(schluessel));search(dnrmeld ,TRUE );IF dbstatus=okTHEN saveupdateposition(dnrmeld)FI ELSE dbstatus( notfound)FI END PROC meldunglesen;PROC meldungaendern:restoreupdateposition( dnrmeld);update(dnrmeld);logbucheintrag("geändert")END PROC meldungaendern; PROC meldungeinfuegen:insert(dnrmeld);logbucheintrag("eingefügt")END PROC meldungeinfuegen;PROC meldungloeschen:putintwert(fnrmeldungsname,int( schluessel));search(dnrmeld,TRUE );IF dbstatus=okTHEN delete(dnrmeld); logbucheintrag("gelöscht")FI END PROC meldungloeschen;PROC logbucheintrag( TEXT CONST logergaenzung):TEXT VAR eintrag:="Meldung ";eintragCAT schluessel; eintragCAT " ";eintragCAT logergaenzung;logeintrag(eintrag)END PROC logbucheintrag;TEXT PROC schluessel:erfassungswert(fnrschluessel)END PROC schluessel;END PACKET isperfmeldungen