app/schulis/2.2.1/src/0.listen.schlueabku

Raw file
Back to index

PACKET schluesselundabkulisteDEFINES schlueabkulieingang,
schlueabkulispezielleteile:LET niltext="",null=0,ueberschriftenzeilen=1,
spalte1breite=10,anzspaltentrenner=1,ausgfeldlaenge=1,AUSGFELD =ROW 
ausgfeldlaengeTEXT ,schlueabkulieingangsmaske="mu liste einfach eingang",
schlueabkulianfpos=2;#LET dnrschluessel=137,fnrschlsachgebiet=138,
fnrschlschluessel=139,fnrschllangtext=140,dnrgesamtbestand=--,fnrbestandname=
--,fnrbestandid=--;#INT CONST spalte2bildbreite:=bildbreite-anzspaltentrenner
-spalte1breite;INT VAR spalte2druckbreite,druckzeilenzahl,bildanf,
eingabestatus;TEXT VAR schlueabkuliueberschrift,bestand,schluesselabk,
schluessellangtext;AUSGFELD VAR ausgfeld;#INT VAR sachgebiet;#BOOL PROC 
multistop:BOOL VAR b;b:=wert(fnrschlsachgebiet)=bestand;bENDPROC multistop;
BOOL PROC multistopdruck:BOOL VAR b:=multistop;setzebestandende(NOT b);b
ENDPROC multistopdruck;PROC schlueabkulieingang(TEXT CONST spezbestand):
bestand:=spezbestand;eingangsmaskezeigenundparameterlesen(PROC 
schlueabkulispezielleteile).END PROC schlueabkulieingang;PROC 
schlueabkulispezielleteile(INT CONST nr):SELECT nrOF CASE 1:
schlueabkulidialogvorbereitenCASE 2:schlueabkulieingabenrichtigCASE 3:
schlueabkulilistenvorbereitenCASE 4:schlueabkulidruckvorbereitenCASE 5:
schlueabkuliseitedruckenCASE 6:schlueabkulibildschirmvorbereitenCASE 7:
schlueabkuliseitezeigenENDSELECT .END PROC schlueabkulispezielleteile;PROC 
schlueabkulidialogvorbereiten:schlueabkuliueberschrift:=text(vergleichsknoten
);setzeanfangswerte(schlueabkulieingangsmaske,schlueabkulianfpos).END PROC 
schlueabkulidialogvorbereiten;PROC schlueabkulieingabenrichtig:LET 
fnrausgdrucker=2,fnrausgbild=3;standardpruefe(5,fnrausgdrucker,fnrausgbild,
null,niltext,eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);
setzeeingabetest(FALSE )ELSE setzeausgabedrucker(standardmaskenfeld(
fnrausgbild)=niltext);setzeeingabetest(TRUE )FI .END PROC 
schlueabkulieingabenrichtig;PROC bestandidbestimmenundalssachgebieteintragen:
#jf##systemdbon;putwert(fnrbestandname,bestand);search(dnrgesamtbestand,TRUE 
);IF dbstatus=okTHEN sachgebiet:=intwert(fnrbestandid)ELSE sachgebiet:=maxint
FI ;#systemdboff;inittupel(dnrschluessel);putwert(fnrschlsachgebiet,bestand)
ENDPROC bestandidbestimmenundalssachgebieteintragen;PROC 
schlueabkulilistenvorbereiten:BOOL VAR b:=FALSE ;
bestandidbestimmenundalssachgebieteintragen;initobli(19);#A nzahlproS eite#
reinitparsing;setzeidentiwert("");objektlistestarten(dnrschluessel,"",
fnrschlschluessel,TRUE ,b);setzebestandende(b)END PROC 
schlueabkulilistenvorbereiten;PROC schlueabkulibildschirmvorbereiten:LET 
fnrausganf=2;standardkopfmaskeaktualisieren(schlueabkuliueberschrift);
initspalten;setzespaltenbreite(spalte1breite);setzespaltenbreite(
spalte2bildbreite);bildanf:=fnrausganf;setzebildanfangsposition(bildanf).END 
PROC schlueabkulibildschirmvorbereiten;PROC schlueabkuliseitezeigen:blaettern
(PROC (INT CONST )abkuerzungzeigen,aktion,TRUE ,TRUE ,BOOL PROC multistop);
END PROC schlueabkuliseitezeigen;PROC abkuerzungzeigen(INT CONST dummy):
abkuerzungholen;abkuerzungaufbereiten;abkuerzungaufbildschirm.END PROC 
abkuerzungzeigen;PROC abkuerzungaufbildschirm:INT VAR i;FOR iFROM 1UPTO 
ausgfeldlaengeREPEAT ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeinsEND 
REPEAT .END PROC abkuerzungaufbildschirm;PROC schlueabkulidruckvorbereiten:
druckvorbereiten;variablenfuerdrucksetzen;initspalten;setzespaltenbreite(
spalte1breite);setzespaltenbreite(spalte2druckbreite);initdruckkopf(zentriert
(schlueabkuliueberschrift,druckbreite));
bestandidbestimmenundalssachgebieteintragen;lesenvorbereitendruck(PROC (INT 
CONST ,BOOL PROC ,INT VAR )scanforward,BOOL PROC multistopdruck).
variablenfuerdrucksetzen:spalte2druckbreite:=druckbreite-anzspaltentrenner-
spalte1breite;druckzeilenzahl:=drucklaenge(ueberschriftenzeilen).END PROC 
schlueabkulidruckvorbereiten;PROC schlueabkuliseitedrucken:
schlueabkuliueberschriftdrucken;seitedrucken(PROC (INT VAR )abkuerzungdrucken
,druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistopdruck);seitenwechsel.END 
PROC schlueabkuliseitedrucken;PROC schlueabkuliueberschriftdrucken:
druckkopfschreiben;END PROC schlueabkuliueberschriftdrucken;PROC 
abkuerzungdrucken(INT VAR zeilenzaehler):abkuerzungholen;
abkuerzungaufbereiten;zeilenzaehlerINCR ausgfeldlaenge;abkuerzungindruckdatei
.END PROC abkuerzungdrucken;PROC abkuerzungindruckdatei:druckzeileschreiben(
ausgfeld(1)).END PROC abkuerzungindruckdatei;PROC abkuerzungaufbereiten:
schreibeabkuerzunglangtext.schreibeabkuerzunglangtext:spaltenweise(
schluesselabk);spaltenweise(schluessellangtext);ausgfeld(1):=zeile.END PROC 
abkuerzungaufbereiten;PROC abkuerzungholen:schluesselabk:=wert(
fnrschlschluessel);schluessellangtext:=wert(fnrschllangtext);END PROC 
abkuerzungholen;END PACKET schluesselundabkuliste;