summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/0.kurswahlbasis bereinigen
blob: 8be6d562651bcfd4cd053f23948fdef90965ba35 (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
PACKET kurswahlbasisbereinigenDEFINES kurswahlserveraktualisieren,
kurswahlserverlvaktualisieren:LET server="kurswahl server",jg9=9,jg14=14,hj1=
"1",hj2="2",dbsj="Schuljahr",dbhj="Schulhalbjahr",kurswahl="Kurswahl-",kw2=
"2 ",kw0="0 ";INT VAR sj1,sj2,sj3,sj4,akthj;TEXT VAR schuljahr,halbjahr;TASK 
VAR takuser;PROC kurswahlserveraktualisieren(TEXT CONST jgst,spezjgst,spezhj)
:serveraktualisieren(kw2,jgst,spezjgst,spezhj)END PROC 
kurswahlserveraktualisieren;PROC kurswahlserverlvaktualisieren(TEXT CONST 
jgst,spezjgst,spezhj):serveraktualisieren(kw0,jgst,spezjgst,spezhj)END PROC 
kurswahlserverlvaktualisieren;PROC serveraktualisieren(TEXT CONST ds,jgst,
spezjgst,spezhj):INT VAR jg:=int(jgst),spezjg:=int(spezjgst),jgdiff;IF 
existstask(server)THEN takuser:=task(server);schuljahr:=schulkenndatum(dbsj);
halbjahr:=schulkenndatum(dbhj);sj1:=int(schuljahr);sj2:=sj1+101;sj3:=sj2+101;
sj4:=sj3+101;IF jg>jg9CAND jg<jg14THEN commanddialogue(FALSE );IF (spezjgst=
""CAND spezhj="")THEN loeschealledatenraeumeELIF spezjg>jg9CAND spezjg<jg14
THEN IF spezhj=hj1COR spezhj=hj2THEN loeschespezdatenraumFI ;FI ;
commanddialogue(TRUE );FI ;FI .loeschealledatenraeume:IF NOT (jg=10CAND 
halbjahr="1")THEN erase(datenraumname(jg,ds,hj1,schuljahr),takuser);erase(
datenraumname(jg,ds,hj2,schuljahr),takuser);erase(datenraumname(jg+1,ds,hj1,
konvsj(sj2)),takuser);erase(datenraumname(jg+1,ds,hj2,konvsj(sj2)),takuser);
erase(datenraumname(jg+2,ds,hj1,konvsj(sj3)),takuser);erase(datenraumname(jg+
2,ds,hj2,konvsj(sj3)),takuser);erase(datenraumname(jg+3,ds,hj1,konvsj(sj4)),
takuser);erase(datenraumname(jg+3,ds,hj2,konvsj(sj4)),takuser)FI .
loeschespezdatenraum:akthj:=int(halbjahr);jgdiff:=spezjg-jg;IF NOT (jg=10
CAND spezjg=10)THEN IF jgdiff=0CAND spezhj>=halbjahrTHEN erase(datenraumname(
spezjg,ds,spezhj,schuljahr),takuser)ELIF jgdiff=1THEN erase(datenraumname(
spezjg,ds,spezhj,konvsj(sj2)),takuser)ELIF jgdiff=2THEN erase(datenraumname(
spezjg,ds,spezhj,konvsj(sj3)),takuser)ELIF jgdiff=3THEN erase(datenraumname(
spezjg,ds,spezhj,konvsj(sj4)),takuser)FI FI .END PROC serveraktualisieren;
TEXT PROC datenraumname(INT CONST jgst,TEXT CONST dsp,halbjahr,schuljahr):
TEXT VAR name:=kurswahl;nameCAT dsp;nameCAT text(jgst);nameCAT " ";nameCAT 
halbjahr;nameCAT ".";nameCAT schuljahr;nameEND PROC datenraumname;TEXT PROC 
konvsj(INT CONST sjbez):IF sjbez<9901THEN text(sjbez)ELSE subtext(text(sjbez)
,2)FI END PROC konvsj;END PACKET kurswahlbasisbereinigen;