importEAN_Huber.p 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. DEF VAR cDateiName AS CHAR NO-UNDO.
  2. DEF VAR ix AS INT NO-UNDO.
  3. DEF TEMP-TABLE tArtlief NO-UNDO
  4. FIELD iKnr AS INT
  5. FIELD cS_Artnr AS CHAR
  6. FIELD cS_Bez1 AS CHAR
  7. FIELD cS_Bez2 AS CHAR
  8. FIELD cStrichcode_KGeb AS CHAR
  9. FIELD cStrichcode_VGeb AS CHAR
  10. FIELD cStrichcode_GGeb AS CHAR
  11. FIELD cFehler AS CHAR.
  12. cDateiName = 'C:\Entwicklung\subversion\Ge_MIS\TRUNK\OE102A\EAN.csv'.
  13. FILE-INFO:FILE-NAME = cDateiName.
  14. IF FILE-INFO:FULL-PATHNAME = ? THEN DO:
  15. MESSAGE 'Datei ' cdateiName ' nicht gefunden! ' VIEW-AS ALERT-BOX.
  16. RETURN.
  17. END.
  18. cDateiName = FILE-INFO:FULL-PATHNAME.
  19. INPUT FROM VALUE (cDateiName) NO-ECHO NO-MAP NO-CONVERT.
  20. REPEAT TRANSACTION ON ERROR UNDO, NEXT
  21. ON STOP UNDO, LEAVE:
  22. CREATE tArtlief.
  23. IMPORT DELIMITER ';' tArtlief.
  24. END.
  25. INPUT CLOSE.
  26. /* Import */
  27. FOR EACH tArtlief NO-LOCK:
  28. ERROR-STATUS:ERROR = FALSE.
  29. ix = INTEGER(tArtlief.cStrichcode_KGeb) NO-ERROR.
  30. IF ERROR-STATUS:ERROR OR ix = ? THEN NEXT.
  31. ELSE DO:
  32. FIND Artlief USE-INDEX ArtLief-k3
  33. WHERE Artlief.Firma = '1000'
  34. AND Artlief.Knr = tArtlief.iKnr
  35. AND REPLACE(REPLACE(Artlief.S_Artnr,' ',''),'.','') = REPLACE(REPLACE(tArtlief.cS_Artnr,' ',''),'.','') NO-ERROR.
  36. IF AVAILABLE Artlief THEN
  37. ASSIGN Artlief.S_Bez1 = tArtlief.cS_Bez1
  38. Artlief.S_Bez2 = tArtlief.cS_Bez2
  39. Artlief.Strichcode_KGeb = REPLACE(tArtlief.cStrichcode_KGeb,' ','')
  40. Artlief.Strichcode_VGeb = REPLACE(tArtlief.cStrichcode_VGeb,' ','')
  41. Artlief.Strichcode_GGeb = REPLACE(tArtlief.cStrichcode_GGeb,' ','').
  42. ELSE DO:
  43. ASSIGN tArtlief.cFehler = 'X'.
  44. NEXT.
  45. END.
  46. END.
  47. END.
  48. /* Export Fehler */
  49. OUTPUT TO 'C:\Temp\exportFehler.csv' NO-MAP NO-CONVERT.
  50. FOR EACH tArtlief NO-LOCK:
  51. EXPORT DELIMITER ";" tArtlief.
  52. END.
  53. OUTPUT CLOSE.