summaryrefslogtreecommitdiff
path: root/app/baisy/2.2.1-schulis/src/isp.manager schnittstelle
diff options
context:
space:
mode:
Diffstat (limited to 'app/baisy/2.2.1-schulis/src/isp.manager schnittstelle')
-rw-r--r--app/baisy/2.2.1-schulis/src/isp.manager schnittstelle82
1 files changed, 82 insertions, 0 deletions
diff --git a/app/baisy/2.2.1-schulis/src/isp.manager schnittstelle b/app/baisy/2.2.1-schulis/src/isp.manager schnittstelle
new file mode 100644
index 0000000..12ba492
--- /dev/null
+++ b/app/baisy/2.2.1-schulis/src/isp.manager schnittstelle
@@ -0,0 +1,82 @@
+PACKET ispmanagerschnittstelleDEFINES gibdatenbankkennung,oeffnedatenbank,
+initmaske,maskegibtes,maskeloeschen,maskespeichern,maskeumbenennen,
+maskekopieren,maskenliste,setzemaske,baumverarbeitung,ladesystembaum,
+schulisdbname,#08.02.88dr#baisydbname,#08.02.88dr#setzeschulisdbname,#08.02.
+88dr#setzebaisydbname,#08.02.88dr##dnrausk,dnrbenutz,dnrmeld,fnrauskunftsname
+,fnrschlverz,fnrauskunftstext,fnrbenutzbestand,fnrbenutzname,
+fnrbenutzgeheimwort,fnrbenutzberecht,fnrmeldungsname,fnrmeldungstext#:LET
+PARAM =STRUCT (TEXT textkey1,textkey2,TAG maske);LET pruefen=40,init=41,
+loeschen=42,speichern=43,umbenennen=44,kopieren=45,liste=46,newtree=52;#dr06.
+07.88indasPACKET "isp schulis db nummern"übernommenLET dnrauskuenfte=2,
+fnrauskname=3,fnrauskverz=4,fnrausktext=5,dnrbenutzer=7,fnrbenbestand=8,
+fnrbenname=9,fnrbengwort=10,fnrbenrecht=11,dnrmeldungen=12,fnrmeldname=13,
+fnrmeldtext=14;#LET ack=0,error=2,ende=3,baumverarbeitungbasis=53;DATASPACE
+VAR ds;BOUND PARAM VAR p;LET manager="baisy server";TASK VAR newmanager;INT
+VAR replycode;TEXT VAR schulisdatenbank:="EUMELbase.schulis",baisydatenbank:=
+"EUMELbase.baisy";PROC initdbsneu:neuanmelden;neuinitialisieren.neuanmelden:
+newmanager:=baisyserver;.END PROC initdbsneu;PROC neuinitialisieren:forget(ds
+);ds:=nilspace;p:=dsEND PROC neuinitialisieren;LET KENNUNGALT =STRUCT (TASK
+managerbaisy,managerschulis,INT baisy,schulis);LET DATENBANKKENNUNG =STRUCT (
+TASK newmanager,KENNUNGALT oldmanager);PROC gibdatenbankkennung(DATASPACE
+VAR ds):BOUND DATENBANKKENNUNG VAR dbkennung:=ds;dbkennung.newmanager:=
+newmanager;DATASPACE VAR d:=nilspace;BOUND KENNUNGALT VAR kennung:=d;
+dbkennung.oldmanager:=kennung;forget(d)END PROC gibdatenbankkennung;PROC
+oeffnedatenbank(DATASPACE CONST ds):BOUND DATENBANKKENNUNG VAR dbkennung:=ds;
+newmanager:=dbkennung.newmanager;DATASPACE VAR d:=nilspace;BOUND KENNUNGALT
+VAR kennung:=d;kennung:=dbkennung.oldmanager;oeffneeumelbasebaisydatenbank;#
+oeffnedatenbankalt(d);ersetztdurch#kennung.managerbaisy:=/"ei";kennung.
+managerschulis:=/"ei";kennung.baisy:=999;kennung.schulis:=999;
+neuinitialisierenEND PROC oeffnedatenbank;PROC oeffnedatenbank:
+oeffneeumelbasebaisydatenbank;#oeffnedatenbankalt;#initdbsneuEND PROC
+oeffnedatenbank;PROC oeffnedatenbank(TEXT CONST db):fetchdd(db);IF dbopen(db)
+THEN setzeschulisdbname(db);oeffnedatenbank;systemdboffELSE errorstop(
+"Datenbank der Anwendung konnte nicht geöffnet werden")FI ENDPROC
+oeffnedatenbank;PROC setzebaisydbname(TEXT CONST bdbname):baisydatenbank:=
+bdbnameEND PROC setzebaisydbname;PROC setzeschulisdbname(TEXT CONST sdbname):
+schulisdatenbank:=sdbnameEND PROC setzeschulisdbname;TEXT PROC baisydbname:
+baisydatenbankEND PROC baisydbname;TEXT PROC schulisdbname:schulisdatenbank
+END PROC schulisdbname;PROC oeffneeumelbasebaisydatenbank:fetchdd(baisydbname
+);IF NOT systemdbopen(baisydbname)THEN errorstop("Datenbank "+baisydbname+
+" konnte nicht geöffnet werden")FI ;ENDPROC oeffneeumelbasebaisydatenbank;#
+dr06.07.88indasPACKET "isp.schulis db nummern"übernommenINT PROC dnrausk:
+dnrauskuenfteENDPROC dnrausk;INT PROC fnrauskunftsname:fnrausknameENDPROC
+fnrauskunftsname;INT PROC fnrschlverz:fnrauskverzENDPROC fnrschlverz;INT
+PROC fnrauskunftstext:fnrausktextENDPROC fnrauskunftstext;INT PROC dnrbenutz:
+dnrbenutzerENDPROC dnrbenutz;INT PROC fnrbenutzbestand:fnrbenbestandENDPROC
+fnrbenutzbestand;INT PROC fnrbenutzname:fnrbennameENDPROC fnrbenutzname;INT
+PROC fnrbenutzgeheimwort:fnrbengwortENDPROC fnrbenutzgeheimwort;INT PROC
+fnrbenutzberecht:fnrbenrechtENDPROC fnrbenutzberecht;INT PROC dnrmeld:
+dnrmeldungenENDPROC dnrmeld;INT PROC fnrmeldungsname:fnrmeldnameENDPROC
+fnrmeldungsname;INT PROC fnrmeldungstext:fnrmeldtextENDPROC fnrmeldungstext;#
+PROC initmaske(TAG VAR t,TEXT CONST name):p.textkey1:=name;sendeauftrag(init)
+;t:=p.maskeEND PROC initmaske;BOOL PROC maskegibtes(TEXT CONST name):p.
+textkey1:=name;sendeauftrag(pruefen);replycode=ackEND PROC maskegibtes;PROC
+maskeloeschen(TEXT CONST name):p.textkey1:=name;sendeauftrag(loeschen)END
+PROC maskeloeschen;PROC maskespeichern(TEXT CONST name):p.textkey1:=name;
+sendeauftrag(speichern)END PROC maskespeichern;PROC maskeumbenennen(TEXT
+CONST alt,neu):p.textkey1:=alt;p.textkey2:=neu;sendeauftrag(umbenennen)END
+PROC maskeumbenennen;PROC maskekopieren(TEXT CONST alt,neu):p.textkey1:=alt;p
+.textkey2:=neu;sendeauftrag(kopieren)END PROC maskekopieren;PROC maskenliste(
+TEXT CONST dateiname):p.textkey1:=dateiname;sendeauftrag(liste);copy(ds,
+dateiname);neuinitialisierenEND PROC maskenliste;PROC setzemaske(TAG CONST t)
+:p.maske:=tEND PROC setzemaske;PROC ladesystembaum(DATASPACE VAR d,TEXT
+CONST name):p.textkey1:=name;sendeauftrag(newtree);d:=ds;neuinitialisieren
+END PROC ladesystembaum;PROC baumverarbeitung(TEXT VAR dateiname,INT CONST
+aktion):INT VAR wastun:=baumverarbeitungbasis+aktion;IF aktion>4THEN wastun
+DECR 2ELIF (aktion=2)COR (aktion=0)THEN FILE VAR f:=sequentialfile(input,
+dateiname);INT CONST ch:=channel(myself);TEXT CONST cht:=dateiname+text(ch,2)
+;headline(f,cht);break(quiet)FI ;DATASPACE VAR datei:=old(dateiname);INT VAR
+re:=0;call(newmanager,wastun,datei,re);IF (aktion=2)COR (aktion=0)THEN
+continue(ch)FI ;IF re<>ackTHEN IF re<0THEN errorstop("Keine Managertask")
+ELSE IF re=errorTHEN BOUND TEXT VAR t:=datei;errorstop(t)ELSE SELECT aktion
+OF CASE 2:dateiname:=headline(sequentialfile(input,datei));copy(datei,
+dateiname);forget(datei)CASE 3,4:forget(dateiname,quiet);forget(datei);
+dateiname:=""OTHERWISE standard;dateiname:=""END SELECT FI FI ELSE standard
+FI .standard:forget(dateiname,quiet);copy(datei,dateiname);forget(datei).END
+PROC baumverarbeitung;PROC sendeauftrag(INT CONST auftragsnr):call(newmanager
+,auftragsnr,ds,replycode);IF (replycode<>ack)CAND (replycode<>ende)THEN IF
+nomanagerTHEN errorstop(no)ELSE BOUND TEXT VAR t:=ds;TEXT VAR fehlermeldung:=
+t;neuinitialisieren;errorstop(fehlermeldung)FI ELSE p:=dsFI .nomanager:
+replycode<0.no:"Keine Managertask".END PROC sendeauftrag;END PACKET
+ispmanagerschnittstelle;
+