*Bestellung
#main
VAR Zeile(s,2,0)
VAR ZlStart1(s,2,0)
VAR ZlStart2(s,2,0)
VAR ZlMax(s,2,0)
VAR cyKD(s,2,0)
VAR Seite(s,2,0)
VAR SeiteFF(s,2,0)
VAR RandX(d,8,2)
VAR RandY(d,8,2)
VAR SizeX(d,8,2)
VAR Heute(D,10,0)
VAR Datum(C,10,0)
VAR mSumme(d,8,2)
VAR mTEXTZEILE(C,254,0)

ZlMax=     59
ZlStart1=  20 
ZlStart2=   2
cyKD=       5
RandX=      1,80
RandY=      0,80
SizeX=      17,50
Seite=      1
SeiteFF=    2
Zeile=      0

Heute=H

IFNOT ISVAR(mNoPrs)
  VAR mNoPrs(L,1,0)
IFNOT ISVAR(mHeader)
  VAR mHeader(C,30,0)
IF EMPTY(mHeader)
  mHeader=Bestellung
IFNOT ISVAR(mLVPOSNR)
  VAR mLVPOSNR(L,1,0)

*==== :Kond_D1C2 Bedingungscode
IF CMP(mHeader,=)Lieferauftrag
  mHeader=Bestellung

IFNOT ISVAR(mNRHW)
   VAR mNRHW(u,15,0)
IF EMPTY(mNRHW)
   RETURN


* Datensatz BESTELLKOPF
REC recKOP(BESTELLKOPF,0,15)$[mNRHW<15]
* Datensatz BESTELLPOSITIONEN
REC recPOS(BESTELLPOSITIONEN,0,15)$[mNRHW<15]
* Datensatz EIGENE_ANSCHRIFTEN
REC recEIGA(EIGENE_ANSCHRIFTEN,0,2)01
* Datensatz ADRESSSTAMM
REC recADDR(ADRESSSTAMM,5,4) 3$[recKOP.LKZ<2]
* Datensatz MENGENEINHEITEN
REC recEINH(MENGENEINHEITEN,0,0)
* Datensatz Projektvorlauf
REC recPRJ(BELEGVERZEICHNIS,0,10)$[recKOP.PRJNR<8] 0

* Datensatz ADRESSSTAMM Lieferanschrift
IF ISVAR(recKOP.LADRNR)
  REC recLIEF(ADRESSSTAMM,0,15)$[recKOP.LADRNR<15]
ELSE
  REC recLIEF(ADRESSSTAMM,0,15)               

VAR mUpperUZ(u,4,0)
mUpperUZ=$[recKOP.BEARB]
REC recUZName(ZUSATZTEXTE,0,12)SYSNAME4$[mUpperUZ<4]
REC recUZMail(ZUSATZTEXTE,0,12)SYSMAIL4$[mUpperUZ<4]
REC recUZFon(ZUSATZTEXTE,0,11)SYSFON4$[mUpperUZ<4]
REC recUZFax(ZUSATZTEXTE,0,11)SYSFAX4$[mUpperUZ<4]

Datum=$[recKOP.Datum]
IF EMPTY(Datum)
  Datum=$[Heute]
IF CMP(Datum,=)00.00.0000
  Datum=$[Heute]

*--------------------------------------------------
* Erste Seite initialisieren

OUT INITPAGESIZE
OUT STARTJOB Bestellung/UGL
OUT TRANSPARENT
OUT STARTPAGE
Zeile=4
OUT ##KopfBericht
*** Zeile=12
OUT ##outADDR
** Zeile=$[ZlStart1]
OUT ##KopfDetail
OUT ##outKopfDet2
*Zeile=$[Zeile] + $[cyKD]

LOOP recPOS(#loopMAIN)

*--------------------------------------------------
* letzte Seite abschliessen
Zeile=$[ZlMax]
IF BOOL($[mNoPrs])
  OUT ##FussBericht2
ELSE
  OUT ##FussBericht

OUT ENDPAGE
OUT ENDJOB



#end

#loopMAIN
* Wird fuer jeden Satz von recMAIN aufgerufen

VAR mPrsEH(N,5,0)
mPrsEH=1
IF BOOL($[recPOS.PE]=1)
   mPrsEH=10
IF BOOL($[recPOS.PE]=2)
   mPrsEH=100
IF BOOL($[recPOS.PE]=3)
   mPrsEH=1000
IF BOOL($[recPOS.PE]=4)
   mPrsEH=10000

VAR mPosNetto(N,12,2)
mPosNetto=$[recPOS.BRUTTO] - (($[recPOS.BRUTTO] * $[recPOS.RAB1]) / 100.00)
mPosNetto=$[mPosNetto] - (($[mPosNetto] * $[recPOS.RAB2]) / 100.00)

SEEK recEINH($[recPOS.ME>4])

SUB #CheckPage
IF BOOL($[mNoPrs])
  OUT ##outMAIN2
ELSE
  OUT ##outMAIN

mSumme=$[mSumme] + $[recPOS.NETTO]


*-----------------------------------------
* Positionsextras
*-----------------------------------------

* Textzeile 1 ausgeben
IF EMPTY(recPOS.TEXT1)
   GOTO :NoText1
mTEXTZEILE=$[recPOS.TEXT1]
SUB #CheckPage
OUT ##outTEXT
:NoText1

* Textzeile 2 ausgeben
IF EMPTY(recPOS.TEXT2)
   GOTO :NoText2
mTEXTZEILE=$[recPOS.TEXT2]
SUB #CheckPage
OUT ##outTEXT
:NoText2


***************************************************
* Datensatzschleife BESTELLTEXTERGÄNZUNG
REC recPST(BESTELLTEXTERGÄNZUNG,0,25)$[mNRHW<15]$[recPOS.POSNRHW<10]
IF EOF(recPST)
  GOTO :EOF_recPST
LOOP recPST(#loop_recPST)
:EOF_recPST
***************************************************



#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]
IF BOOL($[mNoPrs])
  OUT ##FussSeite2
ELSE
  OUT ##FussSeite

OUT ENDPAGE
* naechste Seite anfangen
Seite=  $[Seite]+1
SeiteFF=$[Seite]+1
Zeile=0
OUT STARTPAGE

#end

##outKopfDet2
CY=3
L=0,0;0,0;100,0;1,0; ;\-
L=0,0;1,0;5,0;1,0;Times New Roman,10,F;Pos.
R=5,0;1,0;12,0;1,0;Times New Roman,10,F;Menge
L=18,0;1,0;5,0;1,0;Times New Roman,10,F;Einh.
R=23,0;1,0;5,0;1,0;Times New Roman,10,F;PE
L=29,0;1,0;47,0;1,0;Times New Roman,10,F;Artikel
R=76,0;1,0;12,0;1,0;Times New Roman,10,F;EP Netto 
R=88,0;1,0;12,0;1,0;Times New Roman,10,F;GP $[recKOP.WAEHR]
L=0,0;2,0;100,0;1,0; ;\-

#end

#Kopf
OUT ##KopfSeite
Zeile=$[ZlStart2]
OUT ##outKopfDet2

*Zeile=$[Zeile] + $[cyKD]
IF BOOL($[mSumme]=0)
   RETURN

IF BOOL($[mNoPrs])
  OUT ##Uebertrag2
ELSE
  OUT ##Uebertrag
*Zeile=$[Zeile] + 1

#end

##KopfBericht
CY=12
L=90,0;11,0;8,0;1,0;Arial,10,F;$[Datum<6]$[Datum>2]
L=50,0;7,0;50,0;2,0;Times New Roman,14,F;$[mHeader] Nr. $[recKOP.NRHW]
L=50,0;9,0;50,0;1,0; ;\-
L=50,0;10,0;2,0;1,0;Arial,8,N;**
L=52,0;10,0;10,0;1,0;Arial,8,N;Liefertermin
L=64,0;10,0;10,0;1,0;Arial,8,N;Bearbeiter
L=78,0;10,0;10,0;1,0;Arial,8,N;Kunden-Nr.
L=90,0;10,0;8,0;1,0;Arial,8,N;Datum
R=98;10; 2;1;Arial,8,N;**
L=52,0;11,0;10,0;1,0;Arial,10,F;$[recKOP.TERMIN<6]$[recKOP.TERMIN>2]
L=64,0;11,0;13,0;1,0;Arial,10,F;$[recKOP.BEARB]
L=78,0;11,0;10,0;1,0;Arial,10,F;$[recKOP.KDNRHW]
L=0,0;7,0;40,0;1,0;Arial,10,F;$[recADDR.ANREDE]
L=0,0;8,0;40,0;1,0;Arial,10,F;$[recADDR.NAME1]
L=0,0;9,0;40,0;1,0;Arial,10,F;$[recADDR.NAME2]
L=0;10;40;1;Arial,10,F;$[recADDR.STRASSE]

#end

##KopfSeite
CY=1
L=0;0;30;1;Arial,10,F;$[mHeader] Nr. $[mNRHW]
C=46;0;8;1;Arial,10,N;-$[Seite]-
R=85,0;0,0;15,0;1,0;Arial,10,N;$[Datum]

#end

##KopfDetail
CY=4
L=0,0;0,0;40,0;1,0;Arial,10,N;$[recKOP.INFO1]
L=0,0;1,0;40,0;1,0;Arial,10,N;$[recKOP.INFO2]
L=0,0;2,0;40,0;1,0;Arial,10,N;$[recKOP.INFO3]
L=0,0;3,0;40,0;1,0;Arial,10,N;$[recKOP.INFO4]
L=50,0;0,0;10,0;1,0;Arial, 8,N;Lieferort
L=60,0;0,0;40,0;1,0;Arial,10,N;$[recLIEF.Name1]
L=60,0;1,0;40,0;1,0;Arial,10,N;$[recLIEF.Name2]
L=60,0;2,0;40,0;1,0;Arial,10,N;$[recLIEF.Strasse]
L=60,0;3,0;40,0;1,0;Arial,10,N;$[recLIEF.PLZ<5] $[recLIEF.Ort]

#end

##Uebertrag
* Das ist die Ausgabedefinition fuer den Uebertrag von vorher
CY=1
L=29;0;35;1;Arial,10,F;Übertrag ($[recKOP.WAEHR])
R=88;0;12;1;Arial,10,N;$[mSumme]

#end

##outMAIN
CY=1
R=0,0;0,0;5,0;1,0;Arial,10,N;$[recPOS.POSNRHW]
R= 5;0;12;1;Arial,10,N;$[recPOS.MENGE]
L=18;0; 5;1;Arial,10,N;$[recEINH.NAME]
R=23;0; 5;1;Arial,10,N;$[mPrsEH]
L=29,0;0,0;47,0;1,0;Arial,10,F;$[recPOS.ARTNR]
R=76,0;0,0;12,0;1,0;Arial,10,N;$[mPosNetto]
R=88,0;0,0;12,0;1,0;Arial,10,N;$[recPOS.NETTO]

#end

##outADDR
CY=9
L=0,0;0,0;40,0;1,0;Arial,12,F;$[recADDR.PLZ<5]  $[recADDR.ORT]
L=60,0;5,0;40,0;1,0;Arial,10,N;$[recUZFon.Text42]   /   $[recUZFax.Text42]
L=50,0;0,0;50,0;1,0; ;\-
L=60,0;3,0;40,0;1,0;Arial,10,N;$[recUZName.Text42]
L=60,0;4,0;40,0;1,0;Arial,10,N;$[recUZMail.Text42]
L=60,0;8,0;40,0;1,0;Arial,10,N;$[recADDR.Telefon1]   /   $[recADDR.FaxNummer]
L=50,0;5,0;10,0;1,0;Arial, 8,N;Tel./Fax
L=50,0;1,0;10,0;1,0;Arial, 8,N;Projekt
L=60,0;1,0;40,0;1,0;Arial,10,N;$[recPRJ.PRJNR] / $[recPRJ.BETREFF1]
L=50,0;3,0;10,0;1,0;Arial, 8,N;Besteller
L=50,0;6,0;10,0;1,0;Arial, 8,N;zu Händen
L=60,0;6,0;40,0;1,0;Arial,10,N;$[recADDR.Dokument]
L=60,0;7,0;40,0;1,0;Arial,10,N;$[recADDR.EMail]
L=50,0;8,0;10,0;1,0;Arial, 8,N;Tel./Fax
L=0,0;7,0;49,0;1,0;Arial,10,F;$[recKOP.BETREFF]
L=50,0;4,0;10,0;1,0;Arial, 8,N;email
L=50,0;7,0;10,0;1,0;Arial, 8,N;email
L=50,0;2,0;10,0;1,0;Arial, 8,N;Kunde
L=60,0;2,0;40,0;1,0;Arial,10,N;$[recPRJ.KDNR] / $[recPRJ.NAME1]

#end

##outTEXT
* Textzeilen ausgeben
* 
CY=1
L=29;0;61;1;Arial,10,N;$[mTEXTZEILE]

#end

##out_recPST
* Detailausgabe fuer recPST (BESTELLTEXTERGÄNZUNG)
CY=1
L=29;0;61;1;Arial,10,N;$[mTEXTZEILE]

#end

##outMAIN2
* Code ohne Preis
* 
CY=1
L= 0;0; 5;1;Arial,10,N;$[recPOS.POSNRHW]
R= 5;0;12;1;Arial,10,N;$[recPOS.MENGE]
L=18;0; 5;1;Arial,10,N;$[recEINH.NAME]
R=23;0; 5;1;Arial,10,N;$[mPrsEH]
L=29;0;35;1;Arial,10,F;$[recPOS.ARTNR]
R=64;0;12;1;Arial,10,N;\_
R=76;0; 6;1;Arial,10,N;\_
R=82;0; 6;1;Arial,10,N;\_
R=88;0;12;1;Arial,10,N;\_

#end

##Uebertrag2
* Uebertrag ohne Preise
CY=1
L=29;0;35;1;Arial,10,F;Übertrag ($[recKOP.WAEHR])

#end

##FussSeite2
* ohne Preise
* 
CY=3
L=0;0;100;1; ;\-

L=0;1;30;1;Times New Roman,10,F;Übertrag ($[recKOP.WAEHR]) auf Seite -$[SeiteFF]-

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

#end

##FussBericht2
* ohne Preise
CY=3
L=0;0;100;1; ;\-

L=0;1;30;1;Times New Roman,10,F;Summe ($[recKOP.WAEHR]) ohne Mwst.

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

#end

##FussSeite
* Das ist die Ausgabedefinition fuer den allgemeinen Seitenfuss 

CY=3
L=0;0;100;1; ;\-

L=0;1;30;1;Times New Roman,10,F;Übertrag ($[recKOP.WAEHR]) auf Seite -$[SeiteFF]-
R=80;1;20;1;Times New Roman,10,F;$[mSumme]

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

#end

##FussBericht
* Das ist die Ausgabedefinition fuer den letzten Seitenfuss 

CY=3
L=0;0;100;1; ;\-

L=0;1;30;1;Times New Roman,10,F;Summe ($[recKOP.WAEHR]) ohne Mwst.
R=85;1;15;1;Times New Roman,10,F;$[mSumme]

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

#end

#loop_recPST
* Datensatzschleife BESTELLTEXTERGÄNZUNG
* Datensatzname = recPST
mTEXTZEILE=$[recPST.TEXT]
SUB #CheckPage
OUT ##out_recPST
*Zeile=$[Zeile]+1

#end

