PACKET isperfabkuerzungenDEFINES starterfassungallgemabkuerzungen,
erfassungallgemabkuerzungen,pruefungabkuerzungen:LET standardmaskenname=
"mu erf abkuerzungen",bestandallerbestaende="c02 bestand aller bestaende",
fnrletztesfeld=4,fnrschluessel=2,fnrlangtext=4,trenner=" = ";TEXT VAR
bestandname:="",aktmaskenname:="";TEXT VAR schluesselsicherung:="";INT VAR
maxschluessellaenge:=0,statistiknummer:=0;BOOL VAR gesamtbestand:=FALSE ,
erstesmalgelesen:=TRUE ;PROC starterfassungallgemabkuerzungen(TEXT CONST
bestand):starterfassungallgemabkuerzungen(bestand,standardmaskenname)ENDPROC
starterfassungallgemabkuerzungen;PROC starterfassungallgemabkuerzungen(TEXT
CONST bestand,maskenname):reinitparsing;bestandname:=bestand;gesamtbestand:=
bestandname=bestandallerbestaende;aktmaskenname:=maskenname;
holeschluessellaengediesesbestands;
erfassungsbildschirmaufbauenundvonerfassungsbildschirmeinlesen(PROC (INT
CONST )erfassungallgemabkuerzungen).holeschluessellaengediesesbestands:
systemdboff;inittupel(dnrschluessel);putwert(fnrschlsachgebiet,
bestandallerbestaende);putwert(fnrschlschluessel,bestandname);search(
dnrschluessel,TRUE );IF lesenfehlerfreiTHEN maxschluessellaenge:=int(wert(
fnrschllangtext));ELSE maxschluessellaenge:=0;FI ;putwert(fnrschlsachgebiet,
bestandname);.lesenfehlerfrei:dbstatus=0.ENDPROC
starterfassungallgemabkuerzungen;PROC erfassungallgemabkuerzungen(INT CONST
proznr):systemdboff;SELECT proznrOF CASE 1:setzeerfassungsparameterCASE 2:
zeigeschluesselzurbearbeitungCASE 3:pruefeplausibilitaetCASE 4:
setzewertefuerdbspeicherungCASE 5:setzeidentiobjektfuerobjektlisteCASE 6:
abkuerzunglesenCASE 7:abkuerzungaendernCASE 8:abkuerzungeinfuegenCASE 9:
abkuerzungloeschenENDSELECT ENDPROC erfassungallgemabkuerzungen;PROC
setzeerfassungsparameter:erstesmalgelesen:=TRUE ;setzeerfassungsparameter(
dnrschluessel,maxschluessellaenge,aktmaskenname,fnrletztesfeld)END PROC
setzeerfassungsparameter;PROC zeigeschluesselzurbearbeitung:
setzeerfassungsfeld(wert(fnrschlschluessel),fnrschluessel);
setzeerfassungsfeld(wert(fnrschllangtext),fnrlangtext)END PROC
zeigeschluesselzurbearbeitung;PROC pruefeplausibilitaet:INT VAR fehlerstatus
:=0;setzefehlerstatus(fehlerstatus)ENDPROC pruefeplausibilitaet;PROC
setzewertefuerdbspeicherung:putwert(fnrschlsachgebiet,bestandname);putwert(
fnrschlschluessel,compress(erfassungswert(fnrschluessel)));putwert(
fnrschllangtext,erfassungswert(fnrlangtext))ENDPROC
setzewertefuerdbspeicherung;PROC setzeidentiobjektfuerobjektliste:LET
trennsymbolfuerobli="$";TEXT VAR identizeile;identizeile:=wert(
fnrschlschluessel)+trenner+wert(fnrschllangtext);identizeile:=subtext(
identizeile,1,maxidentizeilenlaenge);setzeidentiwert(
identizeilemitschluesselanhang).identizeilemitschluesselanhang:identizeile+
trennsymbolfuerobli+wert(fnrschlschluessel).ENDPROC
setzeidentiobjektfuerobjektliste;PROC abkuerzunglesen:putwert(
fnrschlsachgebiet,bestandname);putwert(fnrschlschluessel,compress(
erfassungswert(fnrschluessel)));search(dnrschluessel,TRUE );IF dbstatus=ok
THEN saveupdateposition(dnrschluessel);IF erstesmalgelesenTHEN
schluesselsicherung:=wert(fnrschlschluessel);erstesmalgelesen:=FALSE ;FI FI
ENDPROC abkuerzunglesen;PROC abkuerzungaendern:restoreupdateposition(
dnrschluessel);update(dnrschluessel);#IF dbstatus=okCAND statistikbestand
CAND kuerzelgeaendertTHEN kuerzelnameinstatraumaendern(statistiknummer,
schluesselsicherung,schluessel)FI ;dr11.05.88#erstesmalgelesen:=dbstatus=ok.#
kuerzelgeaendert:schluesselsicherung<>schluessel.dr11.05.88#ENDPROC
abkuerzungaendern;PROC abkuerzungeinfuegen:insert(dnrschluessel);#IF dbstatus
=okCAND statistikbestandTHEN kuerzelnameinstatraumeinfuegen(statistiknummer,
wert(fnrschlschluessel))FI ;dr11.05.88#erstesmalgelesen:=dbstatus=okENDPROC
abkuerzungeinfuegen;PROC abkuerzungloeschen:delete(dnrschluessel);#IF
dbstatus=okCAND statistikbestandTHEN kuerzelnameausstatraumentfernen(
statistiknummer,wert(fnrschlschluessel))FI ;dr11.05.88#erstesmalgelesen:=
dbstatus=okEND PROC abkuerzungloeschen;TEXT PROC schluessel:erfassungswert(
fnrschluessel)END PROC schluessel;BOOL PROC pruefungabkuerzungen:wert(
fnrschlsachgebiet)=bestandnameEND PROC pruefungabkuerzungen;#dr11.05.88BOOL
PROC statistikbestand:LET anzstatistiken=8;ROW anzstatistikenTEXT CONST
statistikname:=ROW anzstatistikenTEXT :("","c02 schulart","c02 zugang",
"c02 versetzung","c02 relizugehoerigkeit","","c02 abgang","c02 abschluss");
FOR statistiknummerFROM 1UPTO anzstatistikenREP IF statistikname[
statistiknummer]=bestandnameTHEN LEAVE statistikbestandWITH TRUE FI PER ;
FALSE END PROC statistikbestand;#END PACKET isperfabkuerzungen;