summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung')
-rw-r--r--app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung150
1 files changed, 150 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung b/app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung
new file mode 100644
index 0000000..27212bf
--- /dev/null
+++ b/app/schulis/2.2.1/src/1.anschr.nachpruefungsbescheinigung
@@ -0,0 +1,150 @@
+PACKET anschrnachpruefungsbescheinigungDEFINES
+nachpruefungsbescheinigungeingang,nachpruefungsbescheinigungende,
+nachpruefungsbescheinigungstarten,sonderwertenachpruefungsbescheinigung,
+multistopnachpruefbesch:INT VAR aktuellerindex;TEXT VAR schuelerschluessel1,
+schuelerschluessel2,schuelerschluessel3,bestandsschluessel1,
+bestandsschluessel2,aktuellesschuljahr,vorigesschuljahr;LET #
+schluesselversetztmitpruefung="n"#schluesselnachpruefung="n";#
+schluesselwiederholtmitpruefung="x",schluesselwiederholer="w";#LET vordruck=
+"vordruck nachpruefungsbescheinigung";LET maske=
+"ms auswahl schueler o. klasse";LET namefeldnr=2,vornamefeldnr=3,
+geburtsdatumfeldnr=4,jgstfeldnr=5,zugtutorfeldnr=6,bildschirmfeldnr=7,
+druckerfeldnr=8;LET niltext="",trennsymbol=" ",punkt=".",meldkennz="#",
+fehlerhalbjnr=165,fehlermeldnr=56,#wartemeldnr=69,sortiervorgangwartemeldnr=
+76,#dieauswahlderjgstistnichtzulaessignr=146,vater=1;LET minjgst=5,jgst11=11,
+maxjgst=13;LET swschulhalbjahr=509,swzuname=511,swnamenszusaetze=512,
+swvornamen=513,swgeschlecht=514,swgeburtsdatum=515,swzugang=516,
+swjgstnachpruefung=517,swnachpruefungsfach=518,swparagraph=519,swbemerkung=
+520;LET maxanzahlderfaecher=100,fachschluesselindex=1,fachlangtextindex=2;
+ROW maxanzahlderfaecherROW fachlangtextindexTEXT VAR faecherkartei;INT VAR
+anzahlderfaecher:=0;BOOL VAR eingang:=TRUE ,erstehalbjahr:=TRUE ,
+anschreibenzeigen;TEXT PROC langtextzufachschluessel(TEXT CONST schluessel):
+INT VAR zaehler:=1;TEXT VAR langtext:="";WHILE zaehler<anzahlderfaecherCAND
+schluessel<>faecherkartei(zaehler)(fachschluesselindex)REP zaehlerINCR 1PER ;
+IF schluessel=faecherkartei(zaehler)(fachschluesselindex)THEN langtext:=
+faecherkartei(zaehler)(fachlangtextindex)FI ;langtextEND PROC
+langtextzufachschluessel;PROC bildefaecherbestand:LET anzstacktupel=25;
+initialisierefaecherkartei;vorbereitung;leseschleife.
+initialisierefaecherkartei:INT VAR zaehler1,zaehler2;FOR zaehler1FROM 1UPTO
+maxanzahlderfaecherREP FOR zaehler2FROM 1UPTO fachlangtextindexREP
+faecherkartei(zaehler1)(zaehler2):=niltextPER PER .vorbereitung:BOOL VAR
+wenigergelesen:=FALSE ;INT VAR anztupel;inittupel(dnrfaecher);anztupel:=
+anzstacktupel;anzahlderfaecher:=0;multisearchforward(dnrfaecher,anztupel);
+evtweniger.leseschleife:WHILE anztupel>0CAND anzahlderfaecher<=
+maxanzahlderfaecherREP anzahlderfaecherINCR 1;anztupelDECR 1;multisucc;
+faecherkartei(anzahlderfaecher)(1):=wert(dnrfaecher+1);faecherkartei(
+anzahlderfaecher)(2):=wert(dnrfaecher+2);IF anztupel=0CAND NOT wenigergelesen
+THEN anztupel:=anzstacktupel;multisucc(dnrfaecher,anztupel);evtwenigerFI PER
+.evtweniger:IF anztupel<anzstacktupelTHEN wenigergelesen:=TRUE FI .END PROC
+bildefaecherbestand;PROC nachpruefungsbescheinigungeingang:standardvproc(
+maske);IF eingangTHEN setzesonderwerteschulkenndaten;
+feststellenoberstehalbjahr;IF erstehalbjahrTHEN berechneschuljahre;
+bildefaecherbestand;FI ;aendernderflaggeFI .feststellenoberstehalbjahr:
+erstehalbjahr:=int(sonderwert(swschulhalbjahr))=1.aendernderflagge:eingang:=
+FALSE .berechneschuljahre:aktuellesschuljahr:=schulkenndatum("Schuljahr");
+vorigesschuljahr:=vorigesjahr.vorigesjahr:text(int(subtext(aktuellesschuljahr
+,1,2))-1)+text(int(subtext(aktuellesschuljahr,3,4))-1).END PROC
+nachpruefungsbescheinigungeingang;PROC nachpruefungsbescheinigungende:eingang
+:=TRUE ;enter(2)END PROC nachpruefungsbescheinigungende;BOOL PROC
+sonderwertenachpruefungsbescheinigung:initialisieresonderwerte;sucheschueler;
+sonderwertfuerdenadressaten;sonderwerteschuelerdaten;sonderwertartdeszugangs;
+sonderwertfuerdiejahrgangsstufe;sonderwertparagraph;
+sonderwertfuerdasnachpruefungsfach;sonderwertfuerbemerkung;TRUE .
+sucheschueler:inittupel(dnrschueler);uebernehmeentsprdaten;search(dnrschueler
+,TRUE ).uebernehmeentsprdaten:putwert(fnrsufamnames,wert(fnrhjdfamnames));
+putwert(fnrsurufnames,wert(fnrhjdrufnames));putwert(fnrsugebdatums,wert(
+fnrhjdgebdats)).sonderwertfuerdenadressaten:adressat((wert(fnrsuvornames)SUB
+1)+punkt+trennsymbol+wert(fnrsufamnames)).sonderwerteschuelerdaten:
+setzesonderwert(swzuname,wert(fnrsufamnames));setzesonderwert(
+swnamenszusaetze,wert(fnrsunamenszusatzs));setzesonderwert(swvornamen,wert(
+fnrsuvornames));setzesonderwert(swgeschlecht,wert(fnrsugeschlechts));
+setzesonderwert(swgeburtsdatum,wert(fnrsugebdatums));#setzesonderwert(
+swstrhausnr,wert(fnrsustrnrs));setzesonderwert(swplzort,wert(fnrsuplzorts));
+IF volljaehrig(wert(fnrsugebdatums))THEN setzesonderwert(swvollj,vollj);ELSE
+setzesonderwert(swvollj,minderj)FI #.sonderwertartdeszugangs:IF #wert(
+fnrsuartzugang)="x"#bestandenTHEN setzesonderwert(swzugang,"")ELSE
+setzesonderwert(swzugang,"x")FI .bestanden:TEXT VAR nachpruefergebnis:=wert(
+fnrhjdnacherg);(length(nachpruefergebnis)>1CAND int(nachpruefergebnis)>=4)
+COR (length(nachpruefergebnis)=1CAND int(nachpruefergebnis)<=4).
+sonderwertfuerdiejahrgangsstufe:#IF wert(fnrsuartzugang)="x"THEN
+setzesonderwert(swjgstnachpruefung,text(int(wert(fnrsujgst))-1))ELSE
+setzesonderwert(swjgstnachpruefung,wert(fnrsujgst))FI #setzesonderwert(
+swjgstnachpruefung,wert(fnrhjdjgst)).sonderwertparagraph:TEXT CONST
+paragraphsek1:="Nr. 4 der Verordnung über die Abschlüsse und "+
+"die Versetzung in Sekundarstufe 1 (AVO - SI)",paragraphsek2:=
+"Nr. 11 der Verordnung über den Bildungsgang"+
+" und die Abiturprüfung der gymnasialen Oberstufe";IF int(wert(fnrhjdjgst))<
+jgst11THEN setzesonderwert(swparagraph,paragraphsek1)ELSE setzesonderwert(
+swparagraph,paragraphsek2)FI .sonderwertfuerdasnachpruefungsfach:TEXT VAR
+fachschluessel:="";#TEXT VAR nachpruefungsfach:="";#TEXT VAR langtext:="";
+fachschluessel:=wert(fnrhjdnachfach);langtext:=langtextzufachschluessel(
+fachschluessel);setzesonderwert(swnachpruefungsfach,langtext).
+sonderwertfuerbemerkung:sucheschluesselbemerkung;
+suchelangtextzubemerkungundsetzesonderwert.sucheschluesselbemerkung:TEXT VAR
+bemerkungsschluessel:="";bemerkungsschluessel:=wert(fnrhjdbemerk).
+suchelangtextzubemerkungundsetzesonderwert:#INT VAR bestandsid:=0;systemdbon;
+putwert(fnrsysbestand,"c02 bemerkungen");search(dnrsysbestaende,TRUE );IF
+dbstatus=okTHEN bestandsid:=intwert(fnrsysbestandsid)FI ;systemdboff;#putwert
+(fnrschlsachgebiet,"c02 bemerkungen");putwert(fnrschlschluessel,
+bemerkungsschluessel);search(dnrschluessel,TRUE );IF dbstatus=okTHEN
+setzesonderwert(swbemerkung,wert(fnrschllangtext))ELSE dbstatus(ok);
+setzesonderwert(swbemerkung,niltext)FI .END PROC
+sonderwertenachpruefungsbescheinigung;PROC nachpruefungsbescheinigungstarten:
+IF erstehalbjahrTHEN lesemaskenwerte;IF maskenwerteinordnungTHEN IF
+beibestandsauswahlauswahlzulaessigTHEN #bildebestand;IF status<>0AND NOT
+einzelbearbeitungTHEN meldenichterstellbar;zurueckzumdialogELSE #
+startenausfuehren#FI #ELSE meldeunzulaessigeschuelergruppenauswahl;
+zurueckzumdialogFI ELSE meldedenfehler;zurueckzumdialogFI ELSE
+meldefalscheshalbjahr;zurueckzumdialogFI .meldefalscheshalbjahr:LET
+ersteshalbjahr="1";standardmeldung(fehlerhalbjnr,ersteshalbjahr+meldkennz).
+lesemaskenwerte:schuelerschluessel1:=standardmaskenfeld(namefeldnr);
+schuelerschluessel2:=standardmaskenfeld(vornamefeldnr);schuelerschluessel3:=
+standardmaskenfeld(geburtsdatumfeldnr);bestandsschluessel1:=
+standardmaskenfeld(jgstfeldnr);bestandsschluessel2:=standardmaskenfeld(
+zugtutorfeldnr);anschreibenzeigen:=standardmaskenfeld(bildschirmfeldnr)<>
+niltext.maskenwerteinordnung:IF NOT ((standardmaskenfeld(bildschirmfeldnr)<>
+niltext)XOR (standardmaskenfeld(druckerfeldnr)<>niltext))THEN infeld(
+bildschirmfeldnr);FALSE ELIF ((schuelerschluessel1<>niltextAND
+bestandsschluessel1+bestandsschluessel2=niltextAND (schuelerschluessel2<>
+niltextXOR (schuelerschluessel2=niltextAND schuelerschluessel3=niltext)))XOR
+(schuelerschluessel1+schuelerschluessel2+schuelerschluessel3=niltextAND
+bestandsschluessel1<>niltext)XOR (schuelerschluessel1+schuelerschluessel2+
+schuelerschluessel3+bestandsschluessel1+bestandsschluessel2=niltext))THEN
+TRUE ELSE infeld(namefeldnr);FALSE FI .meldedenfehler:standardmeldung(
+fehlermeldnr,niltext).zurueckzumdialog:return(vater).
+meldeunzulaessigeschuelergruppenauswahl:standardmeldung(
+dieauswahlderjgstistnichtzulaessignr,niltext).
+beibestandsauswahlauswahlzulaessig:(bestandsschluessel1=niltext)OR (
+bestandsschluessel1<>niltextCAND int(bestandsschluessel1)<=maxjgstCAND int(
+bestandsschluessel1)>=minjgst).#einzelbearbeitung:schuelerschluessel1<>
+niltext.startenausfuehren:initialisieredruckerfueranschreiben;
+anschreibenstart(endbestand,vordruck,dbmnachpruefungsbescheinigung,
+schuelerschluessel1,schuelerschluessel2+schuelerschluessel3,anschreibenzeigen
+,laengedbmnachpruefungsbescheinigung,BOOL PROC
+sonderwertenachpruefungsbescheinigung);.END PROC
+nachpruefungsbescheinigungstarten;#startenausfuehren:
+initialisieredruckerfueranschreiben;dbstatus(ok);parsenooffields(44);
+indexnummerbestimmen;uebernimmentsprechendedaten;anschreibenstart(
+aktuellerindex,vordruck,anschreibenzeigen,(schuelerschluessel1+
+schuelerschluessel2)<>"",BOOL PROC sonderwertenachpruefungsbescheinigung,
+BOOL PROC multistopnachpruefbesch).uebernimmentsprechendedaten:putwert(
+fnrhjdsj,#aktuellesschuljahr#vorigesschuljahr);putintwert(fnrhjdhj,2);putwert
+(fnrhjdfamnames,schuelerschluessel1);putwert(fnrhjdrufnames,
+schuelerschluessel2);putwert(fnrhjdgebdats,datumskonversion(
+schuelerschluessel3));putwert(fnrhjdjgst,bestandsschluessel1);putwert(
+fnrhjdkennung,bestandsschluessel2);putwert(fnrhjdversetzung,
+schluesselnachpruefung).indexnummerbestimmen:IF schuelerschluessel1<>niltext
+THEN aktuellerindex:=#dnrhjd#ixhjdverfamsjhjrufgebELSE aktuellerindex:=
+ixhjdversjhjjgstkennFI .END PROC nachpruefungsbescheinigungstarten;BOOL PROC
+multistopnachpruefbesch:BOOL VAR b:=wert(fnrhjdsj)=#aktuellesschuljahr#
+vorigesschuljahrCAND intwert(fnrhjdhj)=2CAND wert(fnrhjdversetzung)=
+schluesselnachpruefung;IF bTHEN weitereueberpruefungFI ;b.
+weitereueberpruefung:IF aktuellerindex=ixhjdverfamsjhjrufgebTHEN
+ueberpruefenamenELSE IF bestandsschluessel1<>""THEN ueberpruefejgstFI FI .
+ueberpruefenamen:b:=wert(fnrhjdfamnames)=schuelerschluessel1CAND (
+schuelerschluessel2=""COR wert(fnrhjdrufnames)=schuelerschluessel2)CAND (
+schuelerschluessel3=""COR wert(fnrhjdgebdats)=datumskonversion(
+schuelerschluessel3)).ueberpruefejgst:b:=bestandsschluessel1=wert(fnrhjdjgst)
+CAND (bestandsschluessel2=""COR bestandsschluessel2=wert(fnrhjdkennung)).
+ENDPROC multistopnachpruefbesch;END PACKET anschrnachpruefungsbescheinigung;
+