1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
PACKET erffaecherDEFINES erfassungfaecher:LET maskenname="ms erf faecher",
fnrletztesfeld=5,fnrkennung=2,fnrlangtext=3,fnrgruppe=4,fnrbereich=5,trenner=
" = ";LET maxlaengefach=2;LET meldnrfachzulang=60;PROC erfassungfaecher(INT
CONST proznr):systemdboff;reinitparsing;SELECT proznrOF CASE 1:
setzeerfassungsparameterCASE 2:zeigefachzurbearbeitungCASE 3:
pruefeplausibilitaetCASE 4:setzewertefuerdbspeicherungCASE 5:
setzeidentiobjektfuerobjektlisteCASE 6:faecherlesenCASE 7:faecheraendernCASE
8:faechereinfuegenCASE 9:faecherloeschenEND SELECT END PROC erfassungfaecher;
PROC setzeerfassungsparameter:setzeerfassungsparameter(dnrfaecher,maskenname,
fnrletztesfeld)END PROC setzeerfassungsparameter;PROC zeigefachzurbearbeitung
:setzeerfassungsfeld(wert(fnrffach),fnrkennung);setzeerfassungsfeld(wert(
fnrffachbez),fnrlangtext);setzeerfassungsfeld(textnichtnull(wert(fnrffachgrp)
),fnrgruppe);setzeerfassungsfeld(wert(fnrffachbereich),fnrbereich);END PROC
zeigefachzurbearbeitung;PROC pruefeplausibilitaet:LET leer="",null=0;INT VAR
fehlerstatus;pruefe(1,erfassungsmaske,PROC erfassungswert,fnrkennung,null,
null,leer,fehlerstatus);IF fehlerstatus<>0THEN setzefehlerstatus(fehlerstatus
);LEAVE pruefeplausibilitaetELIF length(erfassungswert(fnrkennung))>
maxlaengefachTHEN meldeauffaellig(erfassungsmaske,meldnrfachzulang);
setzefehlerstatus(fnrkennung);LEAVE pruefeplausibilitaetFI ;pruefe(1,
erfassungsmaske,PROC erfassungswert,fnrlangtext,null,null,leer,fehlerstatus);
IF fehlerstatus<>0THEN setzefehlerstatus(fehlerstatus);FI ;END PROC
pruefeplausibilitaet;PROC setzewertefuerdbspeicherung:putwert(fnrffach,
compress(erfassungswert(fnrkennung)));putwert(fnrffachbez,erfassungswert(
fnrlangtext));putwert(fnrffachgrp,erfassungswert(fnrgruppe));putwert(
fnrffachbereich,erfassungswert(fnrbereich));END PROC
setzewertefuerdbspeicherung;PROC setzeidentiobjektfuerobjektliste:LET
trennsymbolfuerobli="$";TEXT VAR identizeile;identizeile:=wert(fnrffach)+
trenner+wert(fnrffachbez);setzeidentiwert(identizeilemitschluesselanhang).
identizeilemitschluesselanhang:identizeile+trennsymbolfuerobli+wert(fnrffach)
.END PROC setzeidentiobjektfuerobjektliste;PROC faecherlesen:putwert(fnrffach
,compress(schluessel));search(dnrfaecher,TRUE );IF dbstatus=okTHEN
saveupdateposition(dnrfaecher)FI END PROC faecherlesen;PROC faecheraendern:
restoreupdateposition(dnrfaecher);update(dnrfaecher)END PROC faecheraendern;
PROC faechereinfuegen:insert(dnrfaecher)END PROC faechereinfuegen;PROC
faecherloeschen:delete(dnrfaecher)END PROC faecherloeschen;TEXT PROC
schluessel:erfassungswert(fnrkennung)END PROC schluessel;END PACKET
erffaecher
|