ImportLager_Total.p 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. DEFINE VARIABLE iSf AS INTEGER NO-UNDO.
  2. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO INIT '1000'.
  3. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  4. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  5. DEFINE VARIABLE cRegal AS CHARACTER NO-UNDO.
  6. DEFINE VARIABLE cPlatz AS CHARACTER NO-UNDO.
  7. DEFINE VARIABLE cNiveau AS CHARACTER NO-UNDO.
  8. DEFINE VARIABLE cSf AS CHARACTER NO-UNDO.
  9. DEF TEMP-TABLE tExcel
  10. FIELD cSort AS CHAR
  11. FIELD iArtnr AS INT
  12. .
  13. FOR EACH HoReLager:
  14. DELETE HoReLager.
  15. END.
  16. i1 = 0.
  17. INPUT FROM 'C:\Entwicklung\TEMP\Huber\Lagerlisten\Lagerliste_20210120.csv' NO-MAP NO-CONVERT.
  18. REPEAT TRANSACTION ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT:
  19. CREATE tExcel.
  20. IMPORT DELIMITER ';' tExcel NO-ERROR.
  21. IF ERROR-STATUS:ERROR THEN NEXT.
  22. i1 = i1 + 1.
  23. END.
  24. INPUT CLOSE.
  25. MESSAGE i1
  26. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  27. i1 = 0.
  28. FOR EACH tExcel
  29. BY tExcel.cSort :
  30. ASSIGN cRegal = ''
  31. cPlatz = ''
  32. cNiveau = ''
  33. cSf = ''.
  34. DO ii = 1 TO NUM-ENTRIES(tExcel.cSort, '-'):
  35. CASE ii:
  36. WHEN 1 THEN cRegal = TRIM(ENTRY(ii, tExcel.cSort, '-')).
  37. WHEN 2 THEN cPlatz = TRIM(ENTRY(ii, tExcel.cSort, '-')).
  38. WHEN 3 THEN cNiveau = TRIM(ENTRY(ii, tExcel.cSort, '-')).
  39. WHEN 4 THEN cSf = TRIM(ENTRY(ii, tExcel.cSort, '-')).
  40. END CASE.
  41. END.
  42. CREATE HoReLager.
  43. ASSIGN
  44. HoReLager.Firma = cFirma
  45. HoReLager.Lager = 0
  46. HoReLager.Art = 1
  47. HoReLager.Regal = cRegal
  48. HoReLager.Niveau = cNiveau
  49. HoReLager.Platz = cPlatz
  50. HoReLager.Sf = cSf
  51. HoReLager.cSort = tExcel.cSort
  52. HoReLager.Artnr = tExcel.iArtnr
  53. HoReLager.Inhalt = 0
  54. HoReLager.Jahr = 0
  55. HoReLager.Bestand = 0
  56. HoReLager.iStatus = (IF tExcel.iArtnr = 0 THEN 0 ELSE 1).
  57. i1 = i1 + 1.
  58. IF HoReLager.Artnr = 0 THEN NEXT.
  59. FOR EACH ArtLager
  60. WHERE ArtLager.Firma = HoReLager.Firma
  61. AND ArtLager.Lager = HoReLager.Lager
  62. AND ArtLager.Artnr = HoReLager.Artnr
  63. AND ArtLager.Inhalt = HoReLager.Inhalt :
  64. ArtLager.Ort = HoReLager.cSort.
  65. END.
  66. END.
  67. MESSAGE i1
  68. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.