summaryrefslogtreecommitdiff
path: root/app/baisy/2.2.1-schulis/src/erf.auskuenfte
blob: f83876877970947b24a88e5ea6b1c8e5b31c39cf (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
PACKET erfauskuenfteDEFINES erfassungauskuenfte,sicherungauskunftsname,
sicherungauskunftstext,zwischenspeicherungdestextes:LET maskenname=
"mb erf auskuenfte",fnrletztesfeld=5,fnrschluessel=2,fnrmaskenname=3,
fnrmaskenfeldnr=4,fnrschluesselverzeichnis=5,trenner=" = ",leer="";TEXT VAR 
auskmaskenname,auskunftsname:="",auskunftstext:="",sicherungdestextes:="";
INT VAR dateinummer:=0;TAG VAR auskmaske;PROC erfassungauskuenfte(INT CONST 
proznr):systemdbon;SELECT proznrOF CASE 1:setzeerfassungsparameterCASE 2:
zeigeschluesselzurbearbeitungCASE 3:pruefeplausibilitaetCASE 4:
setzewertefuerdbspeicherungCASE 5:setzeidentiobjektfuerobjektlisteCASE 6:
auskunftlesenCASE 7:auskunftaendernCASE 8:auskunfteinfuegenCASE 9:
auskunftloeschenENDSELECT ;END PROC erfassungauskuenfte;PROC 
setzeerfassungsparameter:dateinummer:=dnrausk;setzeerfassungsparameter(
dateinummer,maskenname,fnrletztesfeld)END PROC setzeerfassungsparameter;PROC 
zeigeschluesselzurbearbeitung:setzeerfassungsfeld("",fnrmaskenname);
setzeerfassungsfeld("",fnrmaskenfeldnr);setzeerfassungsfeld(wert(fnrschlverz)
,fnrschluesselverzeichnis)END PROC zeigeschluesselzurbearbeitung;PROC 
pruefeplausibilitaet:LET leer="",meldungmaskegibtsnicht=8;INT VAR 
fehlerstatus;pruefe(2,erfassungsmaske,TEXT PROC (INT CONST )erfassungswert,
fnrschluessel,1,32000,leer,fehlerstatus);IF fehlerstatus<>0THEN 
setzefehlerstatus(fehlerstatus);LEAVE pruefeplausibilitaetFI ;auskmaskenname
:=erfassungswert(fnrmaskenname);IF auskunftsmaskennameangegebenTHEN IF 
maskegibtes(auskmaskenname)THEN holemaske;ELSE setzefehlerstatus(
fnrmaskenname);melde(erfassungsmaske,meldungmaskegibtsnicht);LEAVE 
pruefeplausibilitaetFI ;FI .auskunftsmaskennameangegeben:auskmaskenname<>"".
holemaske:initmaske(auskmaske,auskmaskenname).END PROC pruefeplausibilitaet;
PROC setzewertefuerdbspeicherung:IF sicherungdestextes=""THEN putwert(
fnrauskunftstext,auskunftstext)ELSE restoretupel(dnrausk,sicherungdestextes);
FI ;putwert(fnrauskunftsname,erfassungswert(fnrschluessel));putwert(
fnrschlverz,erfassungswert(fnrschluesselverzeichnis));END PROC 
setzewertefuerdbspeicherung;PROC setzeidentiobjektfuerobjektliste:LET 
trennsymbolfuerobli="$";TEXT VAR identizeile:="";identizeile:=wert(
fnrauskunftsname)+trenner;identizeileCAT wert(fnrauskunftstext);INT VAR 
feldlaenge:=maxidentizeilenlaenge;setzeidentiwert(
identizeilemitschluesselanhang).identizeilemaxlang:subtext(identizeile,1,
feldlaenge,"�","�",TRUE ).identizeilemitschluesselanhang:identizeilemaxlang+
trennsymbolfuerobli+wert(fnrauskunftsname).END PROC 
setzeidentiobjektfuerobjektliste;PROC auskunftlesen:INT VAR fehlerstatus;
pruefe(2,erfassungsmaske,TEXT PROC (INT CONST )erfassungswert,fnrschluessel,1
,32000,leer,fehlerstatus);IF fehlerstatus=0THEN inittupel(dnrausk);putwert(
fnrauskunftsname,erfassungswert(fnrschluessel));search(dnrausk,TRUE );IF 
dbstatus=okTHEN saveupdateposition(dnrausk)FI ;auskunftstext:=wert(
fnrauskunftstext);auskunftsname:=erfassungswert(fnrschluessel);ELSE dbstatus(
notfound)FI ENDPROC auskunftlesen;TEXT PROC sicherungauskunftsname:
auskunftsnameENDPROC sicherungauskunftsname;TEXT PROC sicherungauskunftstext:
auskunftstextENDPROC sicherungauskunftstext;PROC zwischenspeicherungdestextes
(TEXT CONST text):putwert(fnrauskunftstext,text);savetupel(dnrausk,
sicherungdestextes)ENDPROC zwischenspeicherungdestextes;PROC auskunftaendern:
restoreupdateposition(dnrausk);update(dnrausk);logbucheintrag("geändert");
sicherungdestextes:="";IF dbstatus=okAND auskmaskenname<>""THEN 
auskunftanmaskeanknuepfenFI END PROC auskunftaendern;PROC auskunfteinfuegen:
insert(dnrausk);logbucheintrag("eingefügt");IF dbstatus=okAND auskmaskenname
<>""THEN auskunftanmaskeanknuepfenFI ;sicherungdestextes:="";END PROC 
auskunfteinfuegen;PROC auskunftloeschen:delete(dnrausk);logbucheintrag(
"gelöscht");sicherungdestextes:="";END PROC auskunftloeschen;PROC 
logbucheintrag(TEXT CONST logergaenzung):TEXT VAR eintrag:="Auskunft ";
eintragCAT schluessel;eintragCAT " ";eintragCAT logergaenzung;logeintrag(
eintrag)END PROC logbucheintrag;TEXT PROC schluessel:erfassungswert(
fnrschluessel)END PROC schluessel;PROC auskunftanmaskeanknuepfen:INT VAR ug:=
int(subtext(erfassungswert(fnrmaskenfeldnr),1,3)),og:=int(subtext(
erfassungswert(fnrmaskenfeldnr),4,6)),ab:=int(subtext(erfassungswert(
fnrmaskenfeldnr),7,8));INT VAR ifnr;IF og=0THEN og:=ug;ab:=1ELSE IF ab=0THEN 
ab:=1FI ;FI ;ifnr:=ug;WHILE ifnr<=ogREP IF fieldexists(auskmaske,ifnr)THEN 
auskunftsnr(auskmaske,ifnr,int(schluessel))FI ;ifnrINCR abPER ;setzemaske(
auskmaske);maskespeichern(auskmaskenname);END PROC auskunftanmaskeanknuepfen;
END PACKET erfauskuenfte