summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/1.anschr.anmeldebestaetigung fuer jgst 5 und 11
blob: 608e8e41793a9c0357bd07fd65299621d89d0d04 (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
PACKET anschranmeldebestaetigungfuerjgst5und11DEFINES anschreibenbesteingang,
anschreibenbestneustarten,sonderwertebestneu,multistopanmeld:LET swindexvollj
=511,swindexminderjmaennlweibl=512,vollj="v",minderjaehrig="m",maennl="m",
weibl="w",trennsymbol=" ",punkt=".";LET vordruckneu11=
"vordruck anmeldebestaetigung zur jgst 11";LET vordruckneu5=
"vordruck anmeldebestaetigung zur jgst 5";LET hellan="",hellaus=" ",maske=
"ms anschreiben best",jgstfeldnr=3,bestandfeldnr=2,namefeldnr=4,vornamefeldnr
=5,gebdatfeldnr=6,bildschirmfeldnr=7,druckerfeldnr=8;LET niltext="",
fehlermeldnr=56,wartemeldnr=69,datumfehler=157,vater=1;LET jgst05="05";INT 
VAR eingabestatus;BOOL VAR anschreibenfuerjgst5;PROC anschreibenbesteingang(
TEXT CONST jgst):anschreibenfuerjgst5:=(jgst=jgst05);standardstartproc(maske)
;standardmaskenfeld(hellan+jgst+hellaus,jgstfeldnr);standardnprocEND PROC 
anschreibenbesteingang;BOOL PROC sonderwertebestneu:IF NOT 
anschreibenfuerjgst5THEN IF volljaehrig(wert(fnrsugebdatums))THEN 
setzesonderwert(swindexvollj,vollj);setzesonderwert(swindexminderjmaennlweibl
,niltext)ELSE setzesonderwert(swindexvollj,minderjaehrig);IF wert(
fnrsugeschlechts)=weiblTHEN setzesonderwert(swindexminderjmaennlweibl,weibl)
ELSE setzesonderwert(swindexminderjmaennlweibl,maennl)FI FI FI ;IF 
andereerzieheradresseCAND NOT volljaehrig(wert(fnrsugebdatums))#sf30.10.#
THEN leseerzieheradresse;uebertrageerzieheradresseFI ;adressat((wert(
fnrsuvornames)SUB 1)+punkt+trennsymbol+wert(fnrsufamnames));TRUE .
andereerzieheradresse:#intwert(fnradresskuerzel)<>0#wert(fnrsuplzorte)<>"".
leseerzieheradresse:#inittupel(dnradressen);putwert(dnradressen+1,wert(
fnradresskuerzel));search(dnradressen,TRUE )#.uebertrageerzieheradresse:
putwert(fnrsustrnrs,wert(fnrsustrnre));putwert(fnrsuplzorts,wert(fnrsuplzorte
)).END PROC sonderwertebestneu;PROC anschreibenbestneustarten:TEXT VAR 
vordruckneu:="";lesemaskenwerte;IF NOT (auswahldruckeroderbildschirmok)THEN 
meldedenfehler;infeld(bildschirmfeldnr);zurueckzumdialogELSE IF 
schluesselmitdatumangegebenTHEN IF schuelerschluessel3okTHEN 
startenausfuehrenELSE standardmeldung(datumfehler,niltext);infeld(
gebdatfeldnr);zurueckzumdialogFI ;ELSE IF (alleschuelergewaehltXOR 
einschuelerohnedatumgewaehlt)THEN startenausfuehrenELSE meldedenfehler;
zurueckzumdialogFI ;FI ;FI .lesemaskenwerte:TEXT CONST schluessel1:=
standardmaskenfeld(namefeldnr);TEXT CONST schluessel2:=standardmaskenfeld(
vornamefeldnr);TEXT CONST schluessel3:=standardmaskenfeld(gebdatfeldnr);BOOL 
CONST anschreibenzeigen:=standardmaskenfeld(bildschirmfeldnr)<>niltext;BOOL 
CONST alle:=standardmaskenfeld(bestandfeldnr)<>niltext.
auswahldruckeroderbildschirmok:(standardmaskenfeld(bildschirmfeldnr)<>niltext
)XOR (standardmaskenfeld(druckerfeldnr)<>niltext).schluesselmitdatumangegeben
:NOT alleAND schluessel1<>niltextAND schluessel2<>niltextAND schluessel3<>
niltext.alleschuelergewaehlt:alleAND (schluessel1+schluessel2+schluessel3)=
niltext.einschuelerohnedatumgewaehlt:NOT alleAND schluessel1<>niltextAND 
schluessel3=niltext.schuelerschluessel3ok:standardpruefe(6,6,0,0,niltext,
eingabestatus);IF NOT (eingabestatus=0)THEN FALSE ELSE TRUE FI .
meldedenfehler:standardmeldung(fehlermeldnr,niltext).zurueckzumdialog:return(
vater).startenausfuehren:standardmeldung(wartemeldnr,niltext);
initialisieredruckerfueranschreiben;inittupel(dnrschueler);parsenooffields(30
);uebernimmnamen;IF anschreibenfuerjgst5THEN putwert(fnrsustatuss,"n05");
vordruckneu:=vordruckneu5ELSE putwert(fnrsustatuss,"n11");vordruckneu:=
vordruckneu11FI ;anschreibenstart(ixsustatfamrufgeb,vordruckneu,
anschreibenzeigen,(schluessel1+schluessel2)<>"",BOOL PROC sonderwertebestneu,
BOOL PROC multistopanmeld).uebernimmnamen:putwert(fnrsufamnames,schluessel1);
putwert(fnrsurufnames,schluessel2);putwert(fnrsugebdatums,datumskonversion(
schluessel3)).END PROC anschreibenbestneustarten;BOOL PROC multistopanmeld:
BOOL VAR b;IF anschreibenfuerjgst5THEN b:=wert(fnrsustatuss)="n05"ELSE b:=
wert(fnrsustatuss)="n11"FI ;bENDPROC multistopanmeld;END PACKET 
anschranmeldebestaetigungfuerjgst5und11;