DEF VAR iKnr AS INT NO-UNDO. DEF VAR dDatum AS DATE NO-UNDO. DEF VAR iFaknr AS INT NO-UNDO. DEF VAR iNummer AS INT NO-UNDO. DEF VAR lNummer AS LOG NO-UNDO. DEF VAR lDatum AS LOG NO-UNDO. DEF TEMP-TABLE tExcel FIELD Feld_1 AS CHAR FIELD Feld_2 AS CHAR FIELD Feld_3 AS CHAR FIELD Feld_4 AS CHAR FIELD Feld_5 AS CHAR FIELD Feld_6 AS CHAR FIELD Feld_7 AS CHAR FIELD Feld_8 AS CHAR FIELD Feld_9 AS CHAR FIELD Feld_10 AS CHAR FIELD Feld_11 AS CHAR FIELD Feld_12 AS CHAR FIELD Feld_13 AS CHAR . DEF TEMP-TABLE tSageOp FIELD Knr AS INT FIELD Faknr AS INT Field FakBetr AS DEC FIELD Saldo AS DEC FIELD GeMIS_Saldo AS DEC FIELD GeMIS_Found AS LOG INIT FALSE FIELD Sage_Found AS LOG INIT FALSE . DEF TEMP-TABLE tGemisOp FIELD Knr AS INT FIELD Faknr AS INT Field FakBetr AS DEC FIELD Saldo AS DEC FIELD Sage_Saldo AS DEC FIELD Sage_Found AS LOG INIT FALSE . EMPTY TEMP-TABLE tExcel. EMPTY TEMP-TABLE tSageOp. EMPTY TEMP-TABLE tGeMisOp. INPUT FROM 'C:\Entwicklung\TEMP\Huber\DebitorenlisteSage.csv' NO-MAP NO-CONVERT. REPEAT TRANSACTION ON STOP UNDO, LEAVE: CREATE tExcel. IMPORT DELIMITER ';' tExcel. END. INPUT CLOSE. FOR EACH tExcel: IF tExcel.Feld_1 = '' THEN NEXT. iNummer = INTEGER(tExcel.Feld_1) NO-ERROR. IF ERROR-STATUS:ERROR OR iNummer = 0 THEN lNummer = FALSE. ELSE lNummer = TRUE. dDatum = DATE(tExcel.Feld_1) NO-ERROR. IF ERROR-STATUS:ERROR OR dDatum = ? THEN lDatum = FALSE. ELSE lDatum = TRUE. IF NOT lNummer AND NOT lDatum THEN DO: DELETE tExcel. NEXT. END. IF lNummer THEN DO: iKnr = iNummer. NEXT. END. CREATE tSageOp. ASSIGN tSageOp.Knr = iKnr tSageOp.Faknr = INTEGER(tExcel.Feld_2) tSageOp.FakBetr = DECIMAL(tExcel.Feld_7) tSageOp.Saldo = DECIMAL(tExcel.Feld_8) tSageOp.Sage_Found = TRUE. END. FOR EACH Debop NO-LOCK WHERE Debop.Firma = '1000' AND Debop.Saldo <> 0: FIND FIRST tSageOp WHERE tSageOp.Knr = Debop.Knr AND tSageOp.Faknr = Debop.Faknr NO-ERROR. IF AVAILABLE tSageOp THEN DO: ASSIGN tSageOp.GeMIS_Found = TRUE tSageOp.GeMIS_Saldo = Debop.Saldo. NEXT. END. CREATE tSageOp. ASSIGN tSageOp.Knr = Debop.Knr tSageOp.Faknr = Debop.Faknr tSageOp.FakBetr = Debop.Fakbetr tSageOp.Saldo = 0 tSageOp.Sage_Found = FALSE tSageOp.GeMIS_Found = TRUE tSageOp.GeMIS_Saldo = Debop.Saldo. END. OUTPUT TO 'C:\Entwicklung\Temp\Huber\SAGE_OP_Kurz.csv' NO-MAP NO-CONVERT. FOR EACH tSageOP: EXPORT DELIMITER ';' tSageOp. END. OUTPUT CLOSE.