*Recompiled
#main
VAR Zeile(s,2,0)
VAR ZlMax(s,2,0)
VAR Seite(s,2,0)
VAR RandX(d,8,2)
VAR RandY(d,8,2)
VAR SizeX(d,8,2)
VAR Heute(D,10,0)
VAR mFillState(L,1,0)
VAR cyZeile(d,8,3)
VAR mLPI(s,2,0)

mLPI=       6
ZlMax=     57
RandX=      1,80
RandY=      0,80
SizeX=      17,5
Seite=      1
Zeile=      0
cyZeile=    2.54/$[mLPI]

Heute=H

IFNOT ISVAR(FltMon)
  VAR FltMon(s,2,0)
IFNOT ISVAR(FltJahr)
  VAR FltJahr(s,2,0)
IFNOT ISVAR(mKonto)
  VAR mKonto(u,8,0)
IF EMPTY(mKonto)
  RETURN

OUT INITPAGESIZE
OUT STARTJOB Kassenbuch $[mKonto]
OUT TRANSPARENT
OUT STARTPAGE



* Mandantenwaehrung ermitteln
REC recOPT(OPTIONEN,0,5) 7008
REC recMW(WÄHRUNGEN,1,3)$[recOPT.OPTDATAC<3]
REC recFSAD(EIGENE_ANSCHRIFTEN,0,2)01
REC recMAIN(TMPKABU,0,0)

VAR mSal(N,14,2)
VAR mEin(N,14,2)
VAR mAus(N,14,2)

OUT ##KopfBericht
OUT ##KopfDetail
mFillState=1

LOOP recMAIN(#loopMAIN)

Zeile=$[ZlMax]
OUT ##FussBericht

OUT ENDPAGE
OUT ENDJOB

#end

#CheckPage
* Fussbereich ausgeben, wenn letzte Zeile erreicht
IF BOOL($[Zeile] >= $[ZlMax])
   SUB #Fuss

* Kopfbereich ausgeben, wenn erste Zeile erreicht
IF BOOL($[Zeile] = 0)
   SUB #Kopf

#end

#Fuss
Zeile=$[ZlMax]
OUT ##FussSeite
OUT ENDPAGE
* naechste Seite anfangen
Seite=$[Seite]+1
Zeile=0
OUT STARTPAGE

#end

#Kopf
OUT ##KopfSeite
OUT ##KopfDetail
OUT ##Uebertrag
mFillState=1

#end

##KopfBericht
* Berichtskopf erscheint auf der ersten Seite
CY=2
L= 0;0;85;1;Times New Roman,10,F;$[recFSAD.NAME1] $[recFSAD.NAME2], $[recFSAD.STRASSE], $[recFSAD.PLZORT]
R=85;0;15;1;Arial,10,N;$[Heute]
L= 0;1;85;1;Times New Roman,12,F;Kassenbuch für Konto $[mKonto] ($[FltMon]/$[FltJahr])
R=85;1;15;1;Arial,10,N;-$[Seite]-

#end

##KopfSeite
* Seitenkopf erscheint ab 2. Seite
CY=2
L= 0;0;85;1;Times New Roman,10,F;$[recFSAD.NAME1] $[recFSAD.NAME2], $[recFSAD.STRASSE], $[recFSAD.PLZORT]
R=85;0;15;1;Arial,10,N;$[Heute]
L= 0;1;85;1;Times New Roman,12,F;Kassenbuch für Konto $[mKonto] ($[FltMon]/$[FltJahr])
R=85;1;15;1;Arial,10,N;-$[Seite]-

#end

##KopfDetail
CY=3
L=0;0;100;1; ;\-
L=0,0;1,0;10,0;1,0;Times New Roman,10,F;Datum
L=10,0;1,0;10,0;1,0;Times New Roman,10,F;Beleg-Nr.
C=20,0;1,0;5,0;1,0;Times New Roman,10,F;Verb.
L=34,0;1,0;30,0;1,0;Times New Roman,10,F;Text
R=64,0;1,0;12,0;1,0;Times New Roman,10,F;Einnahme
R=76,0;1,0;12,0;1,0;Times New Roman,10,F;Ausgabe
R=88,0;1,0;12,0;1,0;Times New Roman,10,F;Bestand
L=0;2;100;1; ;\-
L=25,0;1,0;9,0;1,0;Times New Roman,10,F;Kst

#end

##Uebertrag
CY=1
L=34,0;0,0;30,0;1,0;Arial,10,N;Übertrag ($[recMW.KUERZEL])
R=64,0;0,0;12,0;1,0;Arial,10,N;$[mEin]
R=76,0;0,0;12,0;1,0;Arial,10,N;$[mAus]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[mSal]

#end

##Linie
* TODO: beschreiben Sie hier die Verwendung
CY=1
L=0;0;100;1; ;\-

#end

##FussSeite
CY=3
L=0;0;100;1; ;\-
L=34,0;1,0;30,0;1,0;Arial,10,N;Übertrag ($[recMW.KUERZEL])
R=64,0;1,0;12,0;1,0;Arial,10,N;$[mEin]
R=76,0;1,0;12,0;1,0;Arial,10,N;$[mAus]
R=88,0;1,0;12,0;1,0;Arial,10,N;$[mSal]
L=0;2;100;1; ;\-

#end

##FussBericht
CY=3
L=0;0;100;1; ;\-
L=34,0;1,0;30,0;1,0;Arial,10,F;Abschluss ($[recMW.KUERZEL])
R=64,0;1,0;12,0;1,0;Arial,10,F;$[mEin]
R=76,0;1,0;12,0;1,0;Arial,10,F;$[mAus]
R=88,0;1,0;12,0;1,0;Arial,10,F;$[mSal]
L=0;2;100;1; ;\-

#end

##outVORTRAG01
CY=1
L=34,0;0,0;30,0;1,0;Arial,10,N;$[recMAIN.BuText]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[recMAIN.SaldoNeu]

#end

##outVORTRAG02
CY=3
L=34,0;0,0;30,0;1,0;Arial,10,N;$[recMAIN.BuText]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[recMAIN.Betrag]
L=34,0;1,0;30,0;1,0;Arial,10,F;Saldo Vorperiode(n) gesamt
R=88,0;1,0;12,0;1,0;Arial,10,F;$[recMAIN.SaldoNeu]
L=0,0;2,0;100,0;1,0; ;\-

#end

#subVORTRAG
* Unterprgramm von ReportMain/loopMAIN

IF BOOL($[recMAIN.VERBUCHT])
  OUT ##outVORTRAG01
ELSE
  OUT ##outVORTRAG02

mSal=$[recMAIN.SALDONEU]

RETURN

#end

##outAUS
CY=1
L=0,0;0,0;10,0;1,0;Arial,10,N;$[recMAIN.Tag].$[recMAIN.Monat].$[recMAIN.Jahr]
L=10,0;0,0;10,0;1,0;Arial,10,N;$[recMAIN.BelegNr]
C=20,0;0,0;5,0;1,0;Arial,10,N;$[recMAIN.Verbucht]
L=25,0;0,0;9,0;1,0;Arial,10,N;$[recMAIN.Kst]

L=34,0;0,0;30,0;1,0;Arial,10,N;$[recMAIN.BuText]
R=76,0;0,0;12,0;1,0;Arial,10,N;$[mBTR]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[mSal]

#end

#subAUS
* Unterprogramm von ReportMain/loopMAIN/subNORMAL
SUB #CheckPage
VAR mBTR(N,12,2)
mBTR= 0 - $[recMAIN.BETRAG]
mAUS= $[mAUS] + $[mBTR]
mSal= $[mSal] - $[mBTR]
SUB #subFILLBK01
OUT ##outAUS

RETURN

#end

##outEIN
CY=1
L=0,0;0,0;10,0;1,0;Arial,10,N;$[recMAIN.Tag].$[recMAIN.Monat].$[recMAIN.Jahr]
L=10,0;0,0;10,0;1,0;Arial,10,N;$[recMAIN.BelegNr]
C=20,0;0,0;5,0;1,0;Arial,10,N;$[recMAIN.Verbucht]
L=25,0;0,0;9,0;1,0;Arial,10,N;$[recMAIN.Kst]

L=34,0;0,0;30,0;1,0;Arial,10,N;$[recMAIN.BuText]
R=64,0;0,0;12,0;1,0;Arial,10,N;$[mBTR]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[mSal]

#end

#subEIN
* Unterprogramm von ReportMain/loopMAIN/subNORMAL
SUB #CheckPage
VAR mBTR(N,12,2)
mBTR= $[recMAIN.BETRAG]
mEIN= $[mEIN] + $[mBTR]
mSal= $[mSal] + $[mBTR]
SUB #subFILLBK01
OUT ##outEIN

RETURN

#end

#subNORMAL
* Unterprogramm von ReportMain/loopMAIN

IF BOOL(($[recMAIN.BETRAG]) < (0))
  SUB #subAUS
ELSE
  SUB #subEIN

RETURN

#end

#loopMAIN
* Unterprgramm von ReportMain
* Datensatzschleife recMAIN

IF EMPTY(recMain.Tag)
  SUB #subVORTRAG
ELSE
  SUB #subNORMAL

RETURN

#end

#subFILLBK01
* Sub zum Füllen des Zeilen-Hintergrunds
VAR mFillStart(d,8,2)
mFillStart= $[RandY] + ($[cyZeile] * $[Zeile])

IF BOOL(($[mFillState]) = (1))
  GOTO :DoFill
mFillState=1
RETURN

:DoFill
OUT RGBFILL $[RandX];$[mFillStart];$[SizeX];$[cyZeile];15263976
mFillState=0
RETURN

#end

