| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- DEF VAR DeKto AS CHAR NO-UNDO INIT '1050'.
- DEF VAR ErKto AS CHAR NO-UNDO INIT '6000'.
- DEF VAR GeKto AS CHAR NO-UNDO INIT ''.
- DEF VAR iTrnr AS INT NO-UNDO.
- DEF VAR Firma AS CHAR NO-UNDO INIT '1000'.
- DEF VAR Trnr AS INT NO-UNDO.
- DEF WORKFILE WInterf LIKE Interf.
- DEF TEMP-TABLE TKontr FIELD Faknr AS INT
- FIELD Knr AS INT
- FIELD Fakbetr AS DEC
- FIELD Intbetr AS DEC
- FIELD Gebbetr AS DEC
- FIELD Diff AS DEC
- FIELD Trnr1 AS INT
- FIELD Trnr2 AS INT
- FIELD Herk AS INT
- FIELD Fakdat AS DATE
- FIELD Konto AS CHAR
- FIELD Buchtxt1 AS CHAR
- FIELD Buchtxt2 AS CHAR.
- EMPTY TEMP-TABLE TKontr.
- FOR EACH WInterf.
- DELETE WInterf.
- END.
- CREATE WInterf.
- FIND SteuNr WHERE SteuNr.Firma = Firma NO-LOCK NO-ERROR.
- IF SteuNr.Konto_Ertrag <> '' THEN ErKto = SteuNr.Konto_Ertrag.
- IF GeKto = '' THEN GeKto = SteuNr.Konto_Gebinde.
- IF GeKto = '' THEN GeKto = SteuNr.Konto_Ertrag .
- OUTPUT TO 'Interf.txt'.
- FOR EACH Debfa USE-INDEX Debfa-k3
- WHERE Debfa.Firma = Firma
- AND Debfa.Fakdat >= 08/01/2003
- AND Debfa.Fakdat <= 08/31/2003 NO-LOCK:
- CREATE TKontr.
- ASSIGN TKontr.Faknr = Debfa.Faknr
- TKontr.Knr = Debfa.Knr
- TKontr.Fakbetr = Debfa.Fakbetr
- TKontr.Trnr1 = Debfa.Trnr1
- TKontr.Trnr2 = Debfa.Trnr2
- TKontr.Fakdat = Debfa.Fakdat
- TKontr.Konto = Debfa.Konto.
- FOR EACH Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Debfa.Firma
- AND Interf.Trnr1 = Debfa.Trnr1
- AND Interf.Trnr2 = Debfa.Trnr2
- AND Interf.Kto1 = Debfa.Konto NO-LOCK:
- TKontr.Intbetr = TKontr.Intbetr + Interf.Betrag.
- TKontr.Herk = Interf.Herk.
- IF TKontr.Buchtxt1 = '' THEN DO:
- ASSIGN TKontr.Buchtxt1 = Interf.Buchtxt1
- TKontr.Buchtxt2 = Interf.Buchtxt2.
- END.
- END.
- IF TKontr.Intbetr = 0 THEN DO:
- ASSIGN TKontr.Buchtxt1 = 'Leergutrücknahme'
- TKontr.Buchtxt2 = ''
- TKontr.Herk = 51.
- END.
- TKontr.Diff = TKontr.Fakbetr - TKontr.Intbetr.
- IF TKontr.Diff = 0 THEN NEXT.
- IF TKontr.Diff >= -0.05 AND
- TKontr.Diff <= +0.05 THEN DO:
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Debfa.Firma
- AND Interf.Trnr1 = Debfa.Trnr1
- AND Interf.Trnr2 = Debfa.Trnr2 NO-LOCK NO-ERROR.
- IF AVAILABLE Interf THEN Trnr = Interf.Trnr + 1.
- ELSE Trnr = 1.
- CREATE Interf.
- ASSIGN Interf.Firma = Firma
- Interf.TrNr1 = Debfa.Trnr1
- Interf.TrNr2 = Debfa.Trnr2
- Interf.TrNr = Trnr
- Interf.Kto1 = DeKto
- Interf.Kto2 = ErKto
- Interf.Herk = TKontr.Herk
- Interf.Datum = Debfa.Fakdat
- Interf.Buchtxt1 = 'Rundungsdifferenzen'
- Interf.Buchtxt2 = ''
- Interf.Betrag = TKontr.Diff
- Interf.Betrag_Frw = TKontr.Diff
- Interf.FRW = Debfa.FRW
- Interf.Faktor = Debfa.Faktor
- Interf.Kurs = Debfa.Kurs
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(Debfa.Faknr,"9999999")
- Interf.Knr = Debfa.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = 0
- Interf.HKFirma = Firma.
- TKontr.Intbetr = TKontr.Intbetr + TKontr.Diff.
- TKontr.Diff = 0.
- EXPORT DELIMITER ';' Interf.
- NEXT.
- END.
- FOR EACH Savko USE-INDEX Savko-k6
- WHERE Savko.Firma = Debfa.Firma
- AND Savko.Knr = Debfa.Knr
- AND Savko.Faknr = Debfa.Faknr NO-LOCK,
- EACH SavGKon OF Savko NO-LOCK:
- TKontr.Gebbetr = TKontr.Gebbetr + SavGKon.Betrag.
- END.
- IF TKontr.Gebbetr = 0 THEN TKontr.Gebbetr = TKontr.Diff.
- TKontr.Diff = TKontr.Diff - TKontr.Gebbetr.
- IF TKontr.Diff = 0 THEN NEXT.
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Debfa.Firma
- AND Interf.Trnr1 = Debfa.Trnr1
- AND Interf.Trnr2 = Debfa.Trnr2 NO-LOCK NO-ERROR.
- IF AVAILABLE Interf THEN Trnr = Interf.Trnr + 1.
- ELSE Trnr = 1.
- CREATE Interf.
- ASSIGN Interf.Firma = Firma
- Interf.TrNr1 = Debfa.Trnr1
- Interf.TrNr2 = Debfa.Trnr2
- Interf.TrNr = Trnr
- Interf.Kto1 = DeKto
- Interf.Kto2 = ErKto
- Interf.Herk = TKontr.Herk
- Interf.Datum = Debfa.Fakdat
- Interf.Buchtxt1 = 'Rundungsdifferenzen'
- Interf.Buchtxt2 = ''
- Interf.Betrag = TKontr.Diff
- Interf.Betrag_Frw = TKontr.Diff
- Interf.FRW = Debfa.FRW
- Interf.Faktor = Debfa.Faktor
- Interf.Kurs = Debfa.Kurs
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(Debfa.Faknr,"9999999")
- Interf.Knr = Debfa.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = 0
- Interf.HKFirma = Firma.
- TKontr.Intbetr = TKontr.Intbetr + TKontr.Diff.
- TKontr.Diff = 0.
- EXPORT DELIMITER ';' Interf.
- END.
- FOR EACH TKontr WHERE TKontr.Gebbetr <> 0
- BY TKontr.Faknr.
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Firma
- AND Interf.Trnr1 = TKontr.Trnr1
- AND Interf.Trnr2 = TKontr.Trnr2 NO-LOCK NO-ERROR.
- IF AVAILABLE Interf THEN Trnr = Interf.Trnr + 1.
- ELSE Trnr = 1.
- CREATE Interf.
- ASSIGN Interf.Firma = Firma
- Interf.TrNr1 = TKontr.Trnr1
- Interf.TrNr2 = TKontr.Trnr2
- Interf.TrNr = Trnr
- Interf.Kto1 = DeKto
- Interf.Kto2 = GeKto
- Interf.Herk = TKontr.Herk
- Interf.Datum = TKontr.Fakdat
- Interf.Buchtxt1 = TKontr.Buchtxt1
- Interf.Buchtxt2 = TKontr.Buchtxt2
- Interf.Betrag = TKontr.Gebbetr
- Interf.Betrag_Frw = TKontr.Gebbetr
- Interf.FRW = 'CHF'
- Interf.Faktor = 1
- Interf.Kurs = 1.0000
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(TKontr.Faknr,"9999999")
- Interf.Knr = TKontr.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = 0
- Interf.HKFirma = Firma.
- TKontr.Intbetr = TKontr.Intbetr + TKontr.Diff.
- TKontr.Diff = 0.
- EXPORT DELIMITER ';' Interf.
- END.
- OUTPUT CLOSE.
|