*Statistik
#main
*-------------------------------------------------------------------------
* Variablen:
* Zeile     aktuelle Zeilenummer
* 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
* recMAIN   Datensatz fuer Main-Schleifen
*--------------------------------------------------------------------------
VAR RepTitel(C,250,0)
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,3)
VAR mLPI(s,2,0)

* ------ Anzahl der zeilen für Checkpage
VAR mCheckLns(s,2,0)
mCheckLns=1

* Datensatz EIGENE_ANSCHRIFTEN
REC recADR(EIGENE_ANSCHRIFTEN,0,2)01

IFNOT ISVAR(pProjekt)
  VAR pProjekt(u,8,0)
IFNOT ISVAR(pBelArt)
  VAR pBelArt(u,2,0)
IFNOT ISVAR(pBeleg)
  VAR pBeleg(u,8,0)
IFNOT ISVAR(pVonPosNr)
  VAR pVonPosNr(u,20,0)
IFNOT ISVAR(pBisPosNr)
  VAR pBisPosNr(u,20,0)
IFNOT ISVAR(pKnd)
  VAR pKnd(u,15,0)
IFNOT ISVAR(pVonDatum)
  VAR pVonDatum(D,10,0)
IFNOT ISVAR(pBisDatum)
  VAR pBisDatum(D,10,0)
IFNOT ISVAR(bMengen)
  VAR bMengen(L,1,0)

*----------------------------------------------------
VAR cVonDatum(C,10,0)
VAR cBisDatum(C,10,0)
cVonDatum=$[pVonDatum]
IF EMPTY(cVonDatum)
  cVonDatum=00.00.0000
cBisDatum=$[pBisDatum]
IF EMPTY(cBisDatum)
  cBisDatum=99.99.9999
IF CMP(cBisDatum,=)00.00.0000
  cBisDatum=99.99.9999

VAR cDayMon(C,5,0)
VAR cVonDatCmp(C,8,0)
VAR cBisDatCmp(C,8,0)
cDayMon=$[cVonDatum<5]
cVonDatCmp=$[cVonDatum>4]$[cDayMon>2]$[cVonDatum<2]
cDayMon=$[cBisDatum<5]
cBisDatCmp=$[cBisDatum>4]$[cDayMon>2]$[cBisDatum<2]


* -------------------------- Projektnummer angegeben ?
IF EMPTY(pProjekt)
  GOTO :NoPrjNr
* ----------------- Projektnummer + Kd-Nr. angegeben ?
IF EMPTY(pKnd)
  GOTO :NoKndNr
REC recMAIN(BELEGVERZEICHNIS,6,23)$[pProjekt<8]$[pKnd<15]
GOTO :EndRecM
* ---------------- Nur Projektnummer (Projektbelege nach Art+Nr.)
:NoKndNr
REC recMAIN(BELEGVERZEICHNIS,0,8)$[pProjekt<8]
GOTO :EndRecM
* -------------------------- Kundennummer angegeben ?
:NoPrjNr
IF EMPTY(pKnd)
  GOTO :NoPrjKdNr
REC recMAIN(BELEGVERZEICHNIS,5,15)$[pKnd<15]
GOTO :EndRecM
* -------------------------- Belegart angegeben ?
:NoPrjKdNr
IFNOT EMPTY(pBelArt)
  REC recMAIN(BELEGVERZEICHNIS,2,2)$[pBelArt<2]
ELSE
  REC recMAIN(BELEGVERZEICHNIS,0,10)$[pProjekt<8]$[pBelArt<2]
*------------------------------------------Ende rec_main
:EndRecM
*----------------------------------------------------

RepTitel=$[cVonDatum]..$[cBisDatum]


* Code für den
* Berichtsablauf ein.

SUB #subPaperDefs
* TODO 
* fügen Sie hier eine Datensatzvariable
* mit dem Namen recMAIN ein.
* Diese Variable beinhaltet die Leittabelle.

VAR mMeBA_1(N,14,3)
VAR mEkBA_1(N,14,2)
VAR mVkBA_1(N,14,2)
VAR mDbBA_1(N,14,2)
VAR mMeBA_2(N,14,3)
VAR mEkBA_2(N,14,2)
VAR mVkBA_2(N,14,2)
VAR mDbBA_2(N,14,2)
VAR mMeBA_3(N,14,3)
VAR mEkBA_3(N,14,2)
VAR mVkBA_3(N,14,2)
VAR mDbBA_3(N,14,2)
VAR mMeBA_4(N,14,3)
VAR mEkBA_4(N,14,2)
VAR mVkBA_4(N,14,2)
VAR mDbBA_4(N,14,2)
VAR mMeBA_5(N,14,3)
VAR mEkBA_5(N,14,2)
VAR mVkBA_5(N,14,2)
VAR mDbBA_5(N,14,2)
VAR mMeBA_6(N,14,3)
VAR mEkBA_6(N,14,2)
VAR mVkBA_6(N,14,2)
VAR mDbBA_6(N,14,2)
VAR mMeBA_7(N,14,3)
VAR mEkBA_7(N,14,2)
VAR mVkBA_7(N,14,2)
VAR mDbBA_7(N,14,2)
VAR mMeBA_8(N,14,3)
VAR mEkBA_8(N,14,2)
VAR mVkBA_8(N,14,2)
VAR mDbBA_8(N,14,2)
VAR mMeBA_9(N,14,3)
VAR mEkBA_9(N,14,2)
VAR mVkBA_9(N,14,2)
VAR mDbBA_9(N,14,2)
VAR mMeBA_n(N,14,3)
VAR mEkBA_n(N,14,2)
VAR mVkBA_n(N,14,2)
VAR mDbBA_n(N,14,2)

*-----------------------------------------------------------------------------
* Vorbereiten der Ausgabe 
* Initialisierung der Drucksteuerdaten
OUT INITPAGESIZE
OUT STARTJOB $[RepTitel]
OUT TRANSPARENT
OUT STARTPAGE
Zeile=0
OUT ##KopfBericht
OUT ##KopfDetail
*-----------------------------------------------------------------------------

* Aufruf des Unterprogramms loopMAIN fuer jeden Datensatz
* der an recMAIN gebundenen Tabelle
LOOP recMAIN(#loopMAIN)
SUB #subAbschluss


* ----------------------------------------------------
* Druckdatei abschliessen
Zeile=$[ZlMax]
OUT ##FussBericht
*OUT ##outPost
OUT ENDPAGE
OUT ENDJOB


#end

##KopfBericht
CY=3
L=0;0;50;1;Arial,8,N;$[recADR.NAME1] $[recADR.NAME2]
L=0;1;50;1;Arial,8,N;$[recADR.STRASSE]
L=0,0;2,0;50,0;1,0;Arial,8,N;$[recADR.PLZORT]
R=50;0;50;1;Arial,8,F;$[RepTitel]
R=85;1;15;1;Arial,8,N;$[Heute]
R=85;2;15;1;Arial,8,N;Seite -$[Seite]-

#end

##KopfSeite
CY=3
L=0;0;50;1;Arial,8,N;$[recADR.NAME1] $[recADR.NAME2]
L=0;1;50;1;Arial,8,N;$[recADR.STRASSE]
L=0,0;2,0;50,0;1,0;Arial,8,N;$[recADR.PLZORT]
R=50;0;50;1;Arial,8,F;$[RepTitel]
R=85;1;15;1;Arial,8,N;$[Heute]
R=85;2;15;1;Arial,8,N;Seite -$[Seite]-

#end

##KopfDetail
CY=3
L=0;0;100;1; ;\-
L=0,0;1,0;12,0;1,0;Arial,8,F;Pos.Nr.
R=12,0;1,0;11,0;1,0;Arial,8,F;Menge
L=24,0;1,0;16,0;1,0;Arial,8,F;Art.Nr.
L=40,0;1,0;24,0;1,0;Arial,8,F;Text
R=64;1;12;1;Arial,8,F;EK EP
R=76;1;12;1;Arial,8,F;VK EP
R=88;1;12;1;Arial,8,F;DBR
L=0;2;100;1; ;\-

#end

#Kopf
* Dieser Code wird immer beim Seitenwchsel
* aufgerufen, um den Kopf der nächsten Seite
* auszugeben
* Der Kopf für die erste Seite steht jedoch
* im Codestück OnPreReport

Zeile=0
OUT CALCBORDER
OUT ##KopfSeite
OUT ##KopfDetail


#end

#Fuss
* Dieser Code wird immer beim Seitenwchsel
* aufgerufen, um den Fuss der aktuellen Seite
* auszugeben
* Der Fuss für die letzte Seite steht jedoch
* im Codestück OnPostReport

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

#end

#CheckPage
* Fussbereich ausgeben, wenn letzte Zeile erreicht
IF BOOL($[Zeile] >= ($[ZlMax] - ($[mCheckLns] - 1)))
   SUB #Fuss
* Kopfbereich ausgeben, wenn erste Zeile erreicht
IF BOOL($[Zeile] = 0)
   SUB #Kopf
mCheckLns=1

#end

#NeueSeite
* nächste Seite anfangen
SUB #Fuss
SUB #Kopf

#end

##outPost
CY=2
L= 0;0;15;1;Arial,8,N;$[recADR.BANK1_NAME]  
L=15;0;35;1;Arial,8,N;(BLZ: $[recADR.BANK1_BLZ])  Kto-Nr. $[recADR.BANK1_KONT]
L=0,0;1,0;15,0;1,0;Arial,8,N;$[recADR.BANK2_NAME]  ;
L=15;1;35;1;Arial,8,N;(BLZ: $[recADR.BANK2_BLZ])  Kto-Nr. $[recADR.BANK2_KONT]
L=50;0;15;1;Arial,8,N;Telefon
L=50;1;15;1;Arial,8,N;$[recADR.TELEFON]
L=65;0;15;1;Arial,8,N;Telefax
L=65,0;1,0;15,0;1,0;Arial,8,N;$[recADR.FAXNR]
R=80;0;20;1;Arial,8,N;E-Mail
R=80;1;20;1;Arial,8,N;$[recADR.NAME3]

#end

#subPaperDefs
* Definition des Basislayouts und Papiergrößen

* Zeilen per Inc
mLPI=8

Heute=H
RandX=      1,80
RandY=      0,80
SizeX=      18,0
Seite=      1
Zeile=      0
cyZeile=    2.54/$[mLPI]
ZlMax=     (26.5/$[cyZeile]) + 2

RETURN

#end

##outMAIN1
CY=1
L=0,0;0,0;10,0;1,0;Arial,8,N;$[cBelDatum]
L=10,0;0,0;29,0;1,0;Arial,8,N;$[recMAIN.NAME1] ($[recMAIN.KDNR])
L=40,0;0,0;60,0;1,0;Arial,8,N;$[recMAIN.BELARTTEXT] $[recMAIN.PRJNR]/$[recMAIN.BELEGART]/$[recMAIN.BELEGNR]

#end

##outMAIN2
CY=2
R=12,0;0,0;11,0;1,0;Arial,8,N;$[mMeBelOut]
L=40,0;0,0;24,0;1,0;Arial,8,N;$[recMAIN.BELARTTEXT] $[recMAIN.BELEGNR]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mEkBel!]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mVkBel!]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mDbBel!]

#end

##outCurrPos
CY=1
L=0,0;0,0;12,0;1,0;Arial,8,N;$[recCurrPos.PosNr]
R=12,0;0,0;11,0;1,0;Arial,8,N;$[recCurrPos.Menge]
L=24,0;0,0;15,0;1,0;Arial,8,N;$[recCurrPos.ArtNr]
L=40,0;0,0;24,0;1,0;Arial,8,N;$[recCurrPos.Ktxt1]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mEkEP!]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mVkEP!]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mVkDB!]

#end

#subPreisJe
* Unterprgramm von ReportMain/loopMAIN/loopPos0/loopPos1/subCurrPos
IF BOOL($[recCurrPos.Gebinde])
  mPreisJe=$[recCurrPos.Gebinde]

REC recPE(PREISEINHEITEN,0,2)$[recCurrPos.Pe>2]
IF EOF(recPE)
  RETURN
IF BOOL($[recPE.Faktor])
  mPreisJe=$[mPreisJe] * $[recPE.Faktor]

*VAR mPEvar(N,12,3)
*mPEvar=$[recPE.Faktor]
*IF BOOL($[mPEvar])
*  mPreisJe=$[mPreisJe] * $[mPEvar]
*:NoPE


#end

#subCurrPos
* Unterprgramm von ReportMain/loopMAIN/loopPos0/loopPos1
VAR mPreisJe(N,12,3)
VAR mPosFaktor(N,12,3)
VAR mLohnFaktor(N,12,3)
VAR mEkMatMitNe(N,14,2)
VAR mEkMatGes(N,14,2)
VAR mEkMatEP(N,14,2)
VAR mEkMatGP(N,14,2)
VAR mEkLohnEP(N,14,2)
VAR mEkLohnGP(N,14,2)
VAR mVkMatEP(N,14,2)
VAR mVkMatGP(N,14,2)
VAR mVkLohnEP(N,14,2)
VAR mVkLohnGP(N,14,2)
VAR mEkEP(N,14,2)
VAR mVkEP(N,14,2)
VAR mEkGP(N,14,2)
VAR mVkGP(N,14,2)
VAR mVkDB(N,14,2)

VAR mPosNr1(u,22,0)
VAR mPosNr2(u,22,0)

IF EMPTY(pVonPosNr)
  GOTO :EndVonPosNr
mPosNr1=!$[recCurrPos.PosNr<20]!
mPosNr2=!$[pVonPosNr<20]!
IF CMP(mPosNr1,<)$[mPosNr2<22]
  RETURN
:EndVonPosNr

IF EMPTY(pBisPosNr)
  GOTO :EndBisPosNr
mPosNr1=!$[recCurrPos.PosNr<20]!
mPosNr2=!$[pBisPosNr<20]!
IF CMP(mPosNr1,>)$[mPosNr2<22]
  RETURN
:EndBisPosNr

mPreisJe=1
mPosFaktor=1
mLohnFaktor=1

* ------------------------------------------- Faktoren bilden
IF BOOL($[recCurrPos.SatzArt] = 6)
  GOTO :EndFaktor
SUB #subPreisJe

mPosFaktor=$[recCurrPos.Faktor2]
IFNOT BOOL($[mPosFaktor])
  mPosFaktor=1

mLohnFaktor=$[recCurrPos.Faktor1]
IFNOT BOOL($[mLohnFaktor])
  mLohnFaktor=1

:EndFaktor

* ------------------------------------------- Ek/Vk-Mat berechnen
IFNOT BOOL($[recCurrPos.MatJN])
  GOTO :EndMat
IF BOOL($[recCurrPos.RWegNe])
  mEkMatMitNe=$[recCurrPos.EkMat] + $[recCurrPos.EkNe]
ELSE
  mEkMatMitNe=$[recCurrPos.EkMat]

IF BOOL($[recCurrPos.RWegZube])
  mEkMatGes=$[mEkMatMitNe] + ($[recCurrPos.EkZube] * $[mPreisJe])
ELSE
  mEkMatGes=$[mEkMatMitNe]

mEkMatEP=($[mEkMatGes] * $[recCurrPos.Aufwand] * $[mPosFaktor]) / $[mPreisJe]
mEkMatGP=($[mEkMatGes] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[recCurrPos.Menge]) / $[mPreisJe]
mVkMatEP=$[recCurrPos.VkMat] * $[recCurrPos.Aufwand] * $[mPosFaktor]
mVkMatGP=$[recCurrPos.VkMat] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[recCurrPos.Menge]
:EndMat

* ------------------------------------------- Ek/Vk-Lohn berechnen
IFNOT BOOL($[recCurrPos.LohnJN])
  GOTO :EndLohn
mEkLohnEP=$[recCurrPos.EkLohn] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[mLohnFaktor]
mEkLohnGP=$[recCurrPos.EkLohn] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[mLohnFaktor] * $[recCurrPos.Menge]
mVkLohnEP=$[recCurrPos.VkLohn] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[mLohnFaktor]
mVkLohnGP=$[recCurrPos.VkLohn] * $[recCurrPos.Aufwand] * $[mPosFaktor] * $[mLohnFaktor] * $[recCurrPos.Menge]
:EndLohn

* ------------------------------------------- Gesamt berechnen
mEkEP=$[mEkLohnEP] + $[mEkMatEP]
mVkEP=$[mVkLohnEP] + $[mVkMatEP]
mEkGP=$[mEkLohnGP] + $[mEkMatGP]
mVkGP=$[mVkLohnGP] + $[mVkMatGP] - $[recCurrPos.RabattDM]
mVkDB=$[mVkGP] - $[mEkGP]

SUB #CheckPage
OUT ##outCurrPos

mMeBel=$[mMeBel] + $[recCurrPos.Menge]
mEkBel=$[mEkBel] + $[mEkGP]
mVkBel=$[mVkBel] + $[mVkGP]
mDbBel=$[mDbBel] + $[mVkDB]


RETURN

#end

#loopPos1
* Datensatzschleife recPos1 (Ebene 1)

IF BOOL($[recPos1.Bedarf] | $[recPos1.Alternativ] | $[recPos1.Entfaellt])
  RETURN

VAR cFilter(u,24,0)
cFilter=$[recPos1.PrjNr<8]$[recPos1.BelArt<2]$[recPos1.BelNr<8]$[recPos1.RefKey<6]

IF BOOL(($[recPos1.SatzArt]) <> (4))
  GOTO :TitelEnd
REC recPos1(BELEGPOSITIONEN,5,24)$[cFilter<24]
LOOP recPos1(#loopPos1)
RETURN
:TitelEnd

IFNOT BOOL(($[recPos1.SatzArt] = 6) | ($[recPos1.SatzArt] = 7))
  RETURN

REC recCurrPos(BELEGPOSITIONEN,3,24)$[cFilter<24]
SUB #subCurrPos
RETURN


#end

#loopPos0
* Datensatzschleife recPos0 (Ebene 0)

IF BOOL(($[recPos0.Ebene]) = 0)
  GOTO :Ebene0
BREAK recPos0
RETURN
*--------------------------------------
:Ebene0
IF BOOL(($[recPos0.SatzArt]) <> 1)
  RETURN

REC recPos1(BELEGPOSITIONEN,5,24)$[recPos0.PrjNr<8]$[recPos0.BelArt<2]$[recPos0.BelNr<8]$[recPos0.RefKey<6]
IF EOF(recPos1)
  RETURN

mCheckLns=2
SUB #CheckPage
OUT ##outMAIN1
LOOP recPos1(#loopPos1)

VAR mMeBelOut(C,14,0)
IF BOOL($[bMengen])
  mMeBelOut=$[mMeBel]

SUB #CheckPage
OUT ##outMAIN2
BREAK recPos0
RETURN

#end

#loopMAIN
* Unterprogramm von ReportMain
* Datensatzschleife recMAIN

IFNOT BOOL(($[recMAIN.BELEGART] >= 0) & ($[recMAIN.BELEGART] < 9))
  RETURN

* ----------------------- Filter auf Belegart ?
IF EMPTY(pBelArt)
  GOTO :BelArtOk
IF CMP(pBelArt,=)$[recMAIN.BELEGART<2]
  GOTO :BelArtOk
RETURN
:BelArtOk

* ----------------------- Filter auf Belegnummer ?
IF EMPTY(pBeleg)
  GOTO :BelNrOk
IF CMP(pBeleg,=)$[recMAIN.BELEGNR<8]
  GOTO :BelNrOk
RETURN
:BelNrOk

* ----------------------- Filter von Belegdatum ?
VAR cDateCmp(C,8,0)
VAR cBelDatum(C,10,0)
cBelDatum=$[recMAIN.TAG>2].$[recMAIN.MONAT>2].$[recMAIN.JAHR>4]
cDayMon=$[cBelDatum<5]
cDateCmp=$[cBelDatum>4]$[cDayMon>2]$[cBelDatum<2]
IF CMP(cDateCmp,<)$[cVonDatCmp]
  RETURN
IF CMP(cDateCmp,>)$[cBisDatCmp]
  RETURN

VAR mMeBel(N,14,3)
VAR mEkBel(N,14,2)
VAR mVkBel(N,14,2)
VAR mDbBel(N,14,2)

REC recPos0(BELEGPOSITIONEN,0,18)$[recMAIN.PRJNR<8]$[recMAIN.BELEGART<2]$[recMAIN.BELEGNR]
LOOP recPos0(#loopPos0)

IF BOOL($[recMAIN.BELEGART] <> 1)
  GOTO :EndBA_1
mMeBA_1=$[mMeBA_1] + $[mMeBel]
mEkBA_1=$[mEkBA_1] + $[mEkBel]
mVkBA_1=$[mVkBA_1] + $[mVkBel]
mDbBA_1=$[mDbBA_1] + $[mDbBel]
RETURN
:EndBA_1

IF BOOL($[recMAIN.BELEGART] <> 2)
  GOTO :EndBA_2
mMeBA_2=$[mMeBA_2] + $[mMeBel]
mEkBA_2=$[mEkBA_2] + $[mEkBel]
mVkBA_2=$[mVkBA_2] + $[mVkBel]
mDbBA_2=$[mDbBA_2] + $[mDbBel]
RETURN
:EndBA_2

IF BOOL($[recMAIN.BELEGART] <> 3)
  GOTO :EndBA_3
mMeBA_3=$[mMeBA_3] + $[mMeBel]
mEkBA_3=$[mEkBA_3] + $[mEkBel]
mVkBA_3=$[mVkBA_3] + $[mVkBel]
mDbBA_3=$[mDbBA_3] + $[mDbBel]
RETURN
:EndBA_3

IF BOOL($[recMAIN.BELEGART] <> 4)
  GOTO :EndBA_4
mMeBA_4=$[mMeBA_4] + $[mMeBel]
mEkBA_4=$[mEkBA_4] + $[mEkBel]
mVkBA_4=$[mVkBA_4] + $[mVkBel]
mDbBA_4=$[mDbBA_4] + $[mDbBel]
RETURN
:EndBA_4

IF BOOL($[recMAIN.BELEGART] <> 5)
  GOTO :EndBA_5
mMeBA_5=$[mMeBA_5] + $[mMeBel]
mEkBA_5=$[mEkBA_5] + $[mEkBel]
mVkBA_5=$[mVkBA_5] + $[mVkBel]
mDbBA_5=$[mDbBA_5] + $[mDbBel]
RETURN
:EndBA_5

IF BOOL($[recMAIN.BELEGART] <> 6)
  GOTO :EndBA_6
mMeBA_6=$[mMeBA_6] + $[mMeBel]
mEkBA_6=$[mEkBA_6] + $[mEkBel]
mVkBA_6=$[mVkBA_6] + $[mVkBel]
mDbBA_6=$[mDbBA_6] + $[mDbBel]
RETURN
:EndBA_6

IF BOOL($[recMAIN.BELEGART] <> 7)
  GOTO :EndBA_7
mMeBA_7=$[mMeBA_7] + $[mMeBel]
mEkBA_7=$[mEkBA_7] + $[mEkBel]
mVkBA_7=$[mVkBA_7] + $[mVkBel]
mDbBA_7=$[mDbBA_7] + $[mDbBel]
RETURN
:EndBA_7

IF BOOL($[recMAIN.BELEGART] <> 8)
  GOTO :EndBA_8
mMeBA_8=$[mMeBA_8] + $[mMeBel]
mEkBA_8=$[mEkBA_8] + $[mEkBel]
mVkBA_8=$[mVkBA_8] + $[mVkBel]
mDbBA_8=$[mDbBA_8] + $[mDbBel]
RETURN
:EndBA_8

IF BOOL($[recMAIN.BELEGART] <> 9)
  GOTO :EndBA_9
mMeBA_9=$[mMeBA_9] + $[mMeBel]
mEkBA_9=$[mEkBA_9] + $[mEkBel]
mVkBA_9=$[mVkBA_9] + $[mVkBel]
mDbBA_9=$[mDbBA_9] + $[mDbBel]
RETURN
:EndBA_9

mMeBA_n=$[mMeBA_n] + $[mMeBel]
mEkBA_n=$[mEkBA_n] + $[mEkBel]
mVkBA_n=$[mVkBA_n] + $[mVkBel]
mDbBA_n=$[mDbBA_n] + $[mDbBel]
RETURN

#end

##outAbschluss
* Ausgabe für ReportMain/subAbschluss
CY=1
R=12,0;0,0;11,0;1,0;Arial,8,N;$[mMeBA_x]
L=40,0;0,0;24,0;1,0;Arial,8,N;$[mTxtBAx]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mEkBA_x!]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mVkBA_x!]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mDbBA_x!]

#end

#subAbschluss
* Unterprgramm von ReportMain

IF BOOL(($[mEkBA_1] <> 0.00) & ($[mVkBA_1] <> 0.00) & ($[mDbBA_1] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_2] <> 0.00) & ($[mVkBA_2] <> 0.00) & ($[mDbBA_2] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_3] <> 0.00) & ($[mVkBA_3] <> 0.00) & ($[mDbBA_3] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_4] <> 0.00) & ($[mVkBA_4] <> 0.00) & ($[mDbBA_4] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_5] <> 0.00) & ($[mVkBA_5] <> 0.00) & ($[mDbBA_5] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_6] <> 0.00) & ($[mVkBA_6] <> 0.00) & ($[mDbBA_6] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_7] <> 0.00) & ($[mVkBA_7] <> 0.00) & ($[mDbBA_7] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_8] <> 0.00) & ($[mVkBA_8] <> 0.00) & ($[mDbBA_8] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_9] <> 0.00) & ($[mVkBA_9] <> 0.00) & ($[mDbBA_9] <> 0.00))
  mCheckLns=$[mCheckLns] + 1
IF BOOL(($[mEkBA_n] <> 0.00) & ($[mVkBA_n] <> 0.00) & ($[mDbBA_n] <> 0.00))
  mCheckLns=$[mCheckLns] + 1


VAR mEkBA_x(N,14,2)
VAR mVkBA_x(N,14,2)
VAR mDbBA_x(N,14,2)
VAR mMeBA_x(C,14,0)
VAR mTxtBAx(C,50,0)

IF BOOL(($[mEkBA_1] = 0.00) & ($[mVkBA_1] = 0.00) & ($[mDbBA_1] = 0.00))
  GOTO :NoBA_1
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_1]
mTxtBAx=Rechnungen
mEkBA_x=$[mEkBA_1]
mVkBA_x=$[mVkBA_1]
mDbBA_x=$[mDbBA_1]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_1

IF BOOL(($[mEkBA_2] = 0.00) & ($[mVkBA_2] = 0.00) & ($[mDbBA_2] = 0.00))
  GOTO :NoBA_2
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_2]
mTxtBAx=Gutschriften
mEkBA_x=$[mEkBA_2]
mVkBA_x=$[mVkBA_2]
mDbBA_x=$[mDbBA_2]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_2

IF BOOL(($[mEkBA_3] = 0.00) & ($[mVkBA_3] = 0.00) & ($[mDbBA_3] = 0.00))
  GOTO :NoBA_3
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_3]
mTxtBAx=Teilrechnungen
mEkBA_x=$[mEkBA_3]
mVkBA_x=$[mVkBA_3]
mDbBA_x=$[mDbBA_3]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_3

IF BOOL(($[mEkBA_4] = 0.00) & ($[mVkBA_4] = 0.00) & ($[mDbBA_4] = 0.00))
  GOTO :NoBA_4
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_4]
mTxtBAx=Schlussrechnungen
mEkBA_x=$[mEkBA_4]
mVkBA_x=$[mVkBA_4]
mDbBA_x=$[mDbBA_4]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_4

IF BOOL(($[mEkBA_5] = 0.00) & ($[mVkBA_5] = 0.00) & ($[mDbBA_5] = 0.00))
  GOTO :NoBA_5
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_5]
mTxtBAx=Materialscheine
mEkBA_x=$[mEkBA_5]
mVkBA_x=$[mVkBA_5]
mDbBA_x=$[mDbBA_5]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_5

IF BOOL(($[mEkBA_6] = 0.00) & ($[mVkBA_6] = 0.00) & ($[mDbBA_6] = 0.00))
  GOTO :NoBA_6
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_6]
mTxtBAx=Lieferscheine
mEkBA_x=$[mEkBA_6]
mVkBA_x=$[mVkBA_6]
mDbBA_x=$[mDbBA_6]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_6

IF BOOL(($[mEkBA_7] = 0.00) & ($[mVkBA_7] = 0.00) & ($[mDbBA_7] = 0.00))
  GOTO :NoBA_7
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_7]
mTxtBAx=Aufträge
mEkBA_x=$[mEkBA_7]
mVkBA_x=$[mVkBA_7]
mDbBA_x=$[mDbBA_7]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_7

IF BOOL(($[mEkBA_8] = 0.00) & ($[mVkBA_8] = 0.00) & ($[mDbBA_8] = 0.00))
  GOTO :NoBA_8
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_8]
mTxtBAx=Angebote
mEkBA_x=$[mEkBA_8]
mVkBA_x=$[mVkBA_8]
mDbBA_x=$[mDbBA_8]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_8

IF BOOL(($[mEkBA_n] = 0.00) & ($[mVkBA_n] = 0.00) & ($[mDbBA_n] = 0.00))
  GOTO :NoBA_n
IF BOOL($[bMengen])
  mMeBA_x=$[mMeBA_n]
mTxtBAx=Sonstige Belege
mEkBA_x=$[mEkBA_n]
mVkBA_x=$[mVkBA_n]
mDbBA_x=$[mDbBA_n]
SUB #CheckPage
OUT ##outAbschluss
:NoBA_n

RETURN

#end

##FussSeite
*  Ausgabe fuer den allgemeinen Seitenfuss 
* ausser der letzten Seite
CY=3
L=0;0;100;1; ;\-
L=0,0;1,0;100,0;1,0;Arial,8,N;Liste Nr. 8100
L=0;2;100;1; ;\-

#end

##FussBericht
*  Ausgabe fuer den letzten Seitenfuss 
CY=3
CY=3
L=0;0;100;1; ;\-
L=0,0;1,0;100,0;1,0;Arial,8,N;Liste Nr. 8100
L=0;2;100;1; ;\-

#end

