SageOpAbgleich.p 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. DEF VAR ii AS INT.
  2. DEF TEMP-TABLE tExcel
  3. FIELD Faknr AS CHAR
  4. FIELD Fakbetr AS CHAR
  5. FIELD Saldo AS CHAR
  6. FIELD Dummy AS CHAR EXTENT 5
  7. FIELD iFaknr AS INT
  8. FIELD nFakbetr AS DEC
  9. FIELD nSaldo AS DEC
  10. FIELD lSageFound AS LOG INIT FALSE
  11. FIELD lGemFound AS LOG INIT FALSE
  12. INDEX tExcel-k1 IS PRIMARY
  13. iFaknr
  14. .
  15. INPUT FROM 'C:\Entwicklung\TEMP\Huber\Huber_Sage_OPS.csv' NO-MAP NO-CONVERT.
  16. REPEAT TRANSACTION ON STOP UNDO, LEAVE:
  17. CREATE tExcel.
  18. IMPORT DELIMITER ';' tExcel.
  19. END.
  20. INPUT CLOSE.
  21. FOR EACH tExcel:
  22. IF tExcel.Faknr = '' THEN DO:
  23. DELETE tExcel.
  24. NEXT.
  25. END.
  26. IF tExcel.Fakbetr = '' THEN DO:
  27. DELETE tExcel.
  28. NEXT.
  29. END.
  30. IF tExcel.Saldo = '' THEN DO:
  31. DELETE tExcel.
  32. NEXT.
  33. END.
  34. tExcel.iFaknr = INTEGER(tExcel.Faknr) NO-ERROR.
  35. IF ERROR-STATUS:ERROR OR
  36. tExcel.iFaknr = ? THEN
  37. DO:
  38. DELETE tExcel.
  39. NEXT.
  40. END.
  41. tExcel.iFaknr = INTEGER(tExcel.Faknr ).
  42. tExcel.nFakbetr = DECIMAL(tExcel.Fakbetr).
  43. tExcel.nSaldo = DECIMAL(tExcel.Saldo ).
  44. END.
  45. FOR EACH tExcel:
  46. ii = ii + 1.
  47. END.
  48. MESSAGE ii
  49. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  50. FOR EACH tExcel:
  51. FIND FIRST Debop NO-LOCK
  52. WHERE Debop.Firma = '1000'
  53. AND Debop.Faknr = tExcel.iFaknr NO-ERROR.
  54. IF NOT AVAILABLE Debop THEN NEXT.
  55. lSageFound = TRUE.
  56. END.
  57. FOR EACH Debop NO-LOCK
  58. WHERE Debop.Firma = '1000'
  59. AND Debop.Fakdat >= 01/01/2020
  60. AND Debop.Fakdat <= 12/31/2021
  61. AND Debop.Fakbetr <> 0:
  62. FIND FIRST tExcel NO-LOCK
  63. WHERE tExcel.iFaknr = Debop.Faknr NO-ERROR.
  64. IF AVAILABLE tExcel THEN DO:
  65. tExcel.lGemFound = TRUE.
  66. NEXT.
  67. END.
  68. CREATE tExcel.
  69. ASSIGN tExcel.iFaknr = Debop.Faknr
  70. tExcel.nFakbetr = Debop.Fakbetr
  71. tExcel.nSaldo = Debop.Saldo.
  72. END.
  73. OUTPUT TO 'C:\Entwicklung\TEMP\Huber\Huber_Sage_OPS_Fehler.csv' NO-MAP NO-CONVERT.
  74. FOR EACH tExcel
  75. /* WHERE (tExcel.lSageFound = FALSE */
  76. /* OR tExcel.lGemFound = FALSE) */
  77. :
  78. EXPORT DELIMITER ';' tExcel.
  79. END.