*Kontenblatt
#main

*--------------------------------------------------
* Variablen:
* Zeile     aktuelle Zeilenummer
* ZlStart1  Zeilenvorschuebe nach Kopf auf Seite 1
* ZlStart2  Zeilenvorschuebe nach Kopf ab  Seite 2
* cyKD      Zeilenvorschuebe nach dem Dateikopf
* ZlMax     Zeile ab der der Fussbereich beginnt
* Seite     Seitennummer beginnend mit 1
* RandX     linker Rand in cm
* RandY     oberer Rand in cm
* SizeX     Druckbreite ab Rand links
*--------------------------------------------------
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 cyZeile(d,8,6)

IFNOT ISVAR(mTitel)
  VAR mTitel(C,50,0)

IFNOT ISVAR(mLstNr)
  VAR mLstNr(C,4,0)
IF EMPTY(mLstNr)
  mLstNr=0004

IFNOT ISVAR(mDevice)
  VAR mDevice(C,30,0)
IF EMPTY(mDevice)
  mDevice=A4Quer

ZlMax=     60
RandX=      0,80
RandY=      0,60
SizeX=      27,5
Seite=      1
Zeile=      0
cyZeile= 2,54/8

Heute=H

* Firmenstammwährung
REC recOPT(OPTIONEN,0,5) 7008
* eigene Anschrift
REC recFSAD(EIGENE_ANSCHRIFTEN,0,2)01
* Listendatensatz
REC recMAIN(TMPBILA12MON,0,4)$[mLstNr<4]
IF EMPTY(mTitel)
  mTitel=$[recMAIN.TEXT]

OUT INITPAGESIZE
OUT STARTJOB $[mTitel] $[Heute]
OUT TRANSPARENT
OUT STARTPAGE
OUT DEVICE $[mDevice]
OUT CALCBORDER
OUT XOFFSET 0
OUT YOFFSET 0
OUT ##KopfSeite
OUT ##KopfDetail

LOOP recMAIN(#loopMAIN)

IF BOOL(($[Zeile]) = (0))
  GOTO :EndJob

Zeile=$[ZlMax]
OUT ##FussSeite
OUT ENDPAGE
:EndJob
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
OUT DEVICE $[mDevice]
OUT CALCBORDER
OUT XOFFSET 0
OUT YOFFSET 0

#end

#Kopf
OUT ##KopfSeite
OUT ##KopfDetail
* OUT ##Uebertrag

#end

##KopfSeite
CY=2
L= 0;0;85;1;Times New Roman,10,F;$[recFSAD.NAME1] $[recFSAD.NAME2], $[recFSAD.STRASSE], $[recFSAD.PLZORT]
R=85,0;0,0;15,0;1,0;Arial,10,N;$[Heute]
L=0,0;1,2;85,0;1,0;Times New Roman,12,F;$[mTitel] - Jahresübersicht
R=85,0;1,2;15,0;1,0;Arial,10,N;-$[Seite]-

#end

##KopfDetail
CY=3
L=0;0,8;100;1; ;\-

L= 0,0;1,4;12,0;1,0;Arial, 8,F;Bezeichnung
R=12,0;1,4; 8,0;1,0;Arial, 8,F;alter Saldo
R=20,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr01]
R=26,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr02]
R=32,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr03]
R=38,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr04]
R=44,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr05]
R=50,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr06]
R=56,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr07]
R=62,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr08]
R=68,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr09]
R=74,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr10]
R=80,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr11]
R=86,0;1,4; 6,0;1,0;Arial, 8,F;$[mHdr12]
R=92,0;1,4; 8,0;1,0;Arial, 8,F;neuer Saldo

L=0;2;100;1; ;\-

#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=0,0;1,0;100,0;1,0;Arial, 8,N;Liste Nr. 1021 - Monatswerte gerundet auf volle $[recOPT.OptDataC]
L=0;2;100;1; ;\-

#end

##outTextF
* Ausgabe für ReportMain/loopMAIN/subPos0
CY=1
L= 0,0;0;100,0;1,0;Arial, 8,F;$[recMAIN.TEXT]

#end

##outTextN
* Ausgabe für ReportMain/loopMAIN/subPos0
CY=1
L= 0,0;0;100,0;1,0;Arial, 8,N;$[recMAIN.TEXT]

#end

#subPos0
* Textposition

SUB #CheckPage
IF BOOL($[recMAIN.FETT])
   OUT ##outTextF
ELSE
   OUT ##outTextN

RETURN

#end

##outHeadF
* Ausgabe für ReportMain/loopMAIN/subPos1
CY=1
L= 0,0;0;100,0;1,0;Arial, 8,F;$[recMAIN.TEXT]

#end

##outHeadN
* Ausgabe für ReportMain/loopMAIN/subPos1
CY=1
L= 0,0;0;100,0;1,0;Arial, 8,N;$[recMAIN.TEXT]

#end

#subPos1
* Summenüberschrift

SUB #CheckPage
IF BOOL($[recMAIN.FETT])
   OUT ##outHeadF
ELSE
   OUT ##outHeadN

RETURN

#end

##outPosF
* Ausgabe für ReportMain/loopMAIN/subPos2
CY=1
L= 0,0;0;12,0;1,0;Arial, 8,F;$[recMAIN.TEXT]
R=12,0;0; 8,0;1,0;Arial, 8,F;$[recMAIN.ASALDO01!h]
R=20,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE01!g]
R=26,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE02!g]
R=32,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE03!g]
R=38,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE04!g]
R=44,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE05!g]
R=50,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE06!g]
R=56,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE07!g]
R=62,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE08!g]
R=68,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE09!g]
R=74,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE10!g]
R=80,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE11!g]
R=86,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE12!g]
R=92,0;0; 8,0;1,0;Arial, 8,F;$[recMAIN.NSALDO12!h]

#end

##outPosN
* Ausgabe für ReportMain/loopMAIN/subPos2
CY=1
L= 0,0;0;12,0;1,0;Arial, 8,N;$[recMAIN.TEXT]
R=12,0;0; 8,0;1,0;Arial, 8,N;$[recMAIN.ASALDO01!h]
R=20,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE01!g]
R=26,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE02!g]
R=32,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE03!g]
R=38,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE04!g]
R=44,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE05!g]
R=50,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE06!g]
R=56,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE07!g]
R=62,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE08!g]
R=68,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE09!g]
R=74,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE10!g]
R=80,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE11!g]
R=86,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE12!g]
R=92,0;0; 8,0;1,0;Arial, 8,N;$[recMAIN.NSALDO12!h]


#end

#subPos2
* Normale Position

SUB #CheckPage
IF BOOL($[recMAIN.FETT])
   OUT ##outPosF
ELSE
   OUT ##outPosN

RETURN

#end

##outSummF
* Ausgabe für ReportMain/loopMAIN/subPos3
CY=1
L=0,0;0,0;100,0;0,05; ;\-
L= 0,0;0;12,0;1,0;Arial, 8,F;$[recMAIN.TEXT]
R=12,0;0; 8,0;1,0;Arial, 8,F;$[recMAIN.ASALDO01!h]
R=20,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE01!g]
R=26,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE02!g]
R=32,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE03!g]
R=38,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE04!g]
R=44,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE05!g]
R=50,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE06!g]
R=56,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE07!g]
R=62,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE08!g]
R=68,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE09!g]
R=74,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE10!g]
R=80,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE11!g]
R=86,0;0; 6,0;1,0;Arial, 8,F;$[recMAIN.VALUE12!g]
R=92,0;0; 8,0;1,0;Arial, 8,F;$[recMAIN.NSALDO12!h]
L=0,0;0,95;100,0;0,05; ;\-

#end

##outSummN
CY=1
*L=0,0;0,0;100,0;0,05; ;\-
L= 0,0;0;12,0;1,0;Arial, 8,N;$[recMAIN.TEXT]
R=12,0;0; 8,0;1,0;Arial, 8,N;$[recMAIN.ASALDO01!h]
R=20,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE01!g]
R=26,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE02!g]
R=32,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE03!g]
R=38,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE04!g]
R=44,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE05!g]
R=50,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE06!g]
R=56,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE07!g]
R=62,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE08!g]
R=68,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE09!g]
R=74,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE10!g]
R=80,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE11!g]
R=86,0;0; 6,0;1,0;Arial, 8,N;$[recMAIN.VALUE12!g]
R=92,0;0; 8,0;1,0;Arial, 8,N;$[recMAIN.NSALDO12!h]
*L=0,0;0,95;100,0;0,05; ;\-

#end

#subPos3
* Summenzeile

SUB #CheckPage
IF BOOL($[recMAIN.FETT])
   OUT ##outSummF
ELSE
   OUT ##outSummN

RETURN

#end

#loopMAIN
* Unterprgramm von ReportMain
* Datensatzschleife recMAIN

IF BOOL($[recMAIN.STILL])
   RETURN
IF BOOL(($[recMAIN.POSTYP]) = 0)
   SUB #subPos0
IF BOOL(($[recMAIN.POSTYP]) = 1)
   SUB #subPos1
IF BOOL(($[recMAIN.POSTYP]) = 2)
   SUB #subPos2
IF BOOL(($[recMAIN.POSTYP]) = 3)
   SUB #subPos3

RETURN

#end

