[Gelöst]per Dataport Artikel aktualisieren

28. September 2009 15:07

Hallo zusammen,
schon wieder das Thema Dataport, war ja in den letzten Tagen öfters, aber ich komme derzeit einfach nicht dahinter.
Ich möchte per Dataport die Felder Artikelkategorie und Produktgruppe am Artikel aktualisieren, bzw setzen wenn bisher nicht vorhanden.
Dazu habe ich eine .csv mit den 3 Feldern Artikelnr, Artikelkategorie und Produktgruppe.
An Code habe ich im OnBeforeImport
Code:
CLEAR("Item Category Code");
CLEAR("Product Group Code");


und im OnAfterImport
Code:
VALIDATE("Item Category Code");
VALIDATE("Product Group Code");


Das hat bisher auch gut funktioniert. Nur hatte ich jetzt das Problem dass sich in einer Artikel Nr. ein Tippfehler eingeschlichen hatte, und dann ein neuer Artikel, mit der falschen Nr und den Daten vom vorhergehenden Artikel angelegt wurde.
Wie kann ich den Dataport modifizieren sodass wirklich nur bei übereinstimmender Artikel Nr die Daten geändert werden?
Zuletzt geändert von Ara am 29. September 2009 14:28, insgesamt 1-mal geändert.

Re: per Dataport Artikel aktualisieren

28. September 2009 16:10

Ich habe das bisher so gemacht:
(klar es gibt auch andere Wege. Bitte gerne Posten, ich lerne gern dazu :-) )

1. Die Felder in den DataportFiled gegen Variablen tauschen (z.B. ArtikelNrTxt, ItemCategoryCodeTxt, ProductGroupCodetxt)
2. Die Artikeltabelle als Recordvariable deklarieren z.B. Item
3. Auf dem Trigger machst du ein
Code:
// Artikel holen
IF Item.GET(ArtikelNrTxt) THEN BEGIN
// Nun die Felder zuweisen
  Item."Item Category Code" := ItemCategoryCodeTxt;
  Item."Product Group Code" := ProductGroupCodetxt;
  IF Item.MODIFY THEN;
END;


**Edit by Mikka**
Ein Validate, wäre besser als eine zuweisung wie ich sie gemacht habe!

Re: per Dataport Artikel aktualisieren

28. September 2009 16:40

super, danke, damit funktionierts :)
Allerdings ist mir nicht ganz klar warum es mit zusätzlichen Variablen funktioniert, aber wenn ich quasi genau das Gleiche direkt mit den Tabellenfeldern mache nicht.
Was ist der Grund dafür?

Re: per Dataport Artikel aktualisieren

28. September 2009 18:25

Wenn falsche Feldwerte vom vorigen Datensatz erscheinen, liegt es meist an einem fehlenden INIT am Anfang.

Re: per Dataport Artikel aktualisieren

29. September 2009 09:58

Ara hat geschrieben:super, danke, damit funktionierts :)
Allerdings ist mir nicht ganz klar warum es mit zusätzlichen Variablen funktioniert, aber wenn ich quasi genau das Gleiche direkt mit den Tabellenfeldern mache nicht.
Was ist der Grund dafür?


Es gibt die drei Properties um den den Datenimport zu steueren, allerdings habe ich mich damit schon "sooo dermaßen auf die Nase" gelegt, das ich nur noch den Weg zu "Fuß" wähle (also über Variablen).
:greenarrow: ich bin ziemlich ins Schwitzen gekommen, als ich die Tabelle 5802 "Wertposten" zerlegt habe, obwohl ich nur ein paar Felder aktualisieren wollte!
Die Properties sind übrigens: "AutoSave", "AutoUpdate" und "AutoReplace".

Re: per Dataport Artikel aktualisieren

29. September 2009 14:27

ja, diese Properties hatte ich auch schon angeschaut, aber auch nicht so endgültig schlau draus geworden. Aber egal jetzt, erstmal ist dieser Fall gelöst ;)