Seite 2 von 2

Re: XMLPort Import

Verfasst: 4. Oktober 2017 13:57
von sweikelt
dann sollte deine Herausforderung mit "SKIP" hiermit gelöst werden:
http://www.msdynamics.de/viewtopic.php?t=3826&highlight=xmlport+break

PS: warum führst du eigentl. kein Insert(TRUE) aus?

Re: XMLPort Import

Verfasst: 4. Oktober 2017 14:03
von Ted
sweikelt hat geschrieben:dann sollte deine Herausforderung mit "SKIP" hiermit gelöst werden:


Ich würde eher die "Item" mit ner Temporaeren Integer Tabelle austauschen.
Er nutz ja keine Felder der Item Tabelle direkt.

Re: XMLPort Import

Verfasst: 4. Oktober 2017 14:15
von HM
Hallo zusammen,

habe den Skip und Insert(TRUE) eingesetzt.
Das Verhalten ist unverändert.

Dann das Element in Integer und Temporäre Tabelle geändert.
Keine Änderung

Ich habe das Gefühl das dem XMLPORT SKIP etc. Total egal sind...

:cry:

Re: XMLPort Import

Verfasst: 4. Oktober 2017 14:29
von Ted
HM hat geschrieben:Dann das Element in Integer und Temporäre Tabelle geändert.
Keine Änderung


Was heißt denn keine Änderung?
Wenn du die Item Tabelle aus der Definition rausnimmst, dann macht er nur noch nen Insert durch deinen Code.
Wobei ich bei deinem Code auch merkwürdig finde: Woher nimmst du denn die Ganzen "< ... >" Variabeln? Hast du die alle unter Globals/Locals definiert?

statt "<Sno>" solltest du einmal Sno1 probieren.

Re: XMLPort Import

Verfasst: 4. Oktober 2017 14:46
von sweikelt
HM hat geschrieben:Ich habe das Gefühl das dem XMLPORT SKIP etc. Total egal sind...


nicht wirklich, aber für deine Anforderung anscheinend schon -> siehe mein Link zum Foreneintrag weiter oben (inkl. Lösung zu deiner Herausforderung)

Re: XMLPort Import

Verfasst: 4. Oktober 2017 15:26
von HM
So jetzt ist kein Item mehr drin nur Integer und Temporärer Eintrag.
Die Variablen angepasst...
Keine Inserts und trotzdem macht er mir die Leer Einträge...

Sorry, Ich dreh am Rad :cry:

oder sehe es einfach nicht mehr...

Re: XMLPort Import

Verfasst: 4. Oktober 2017 15:46
von Ted
Hast du dir das Ganze mal mit nem Debugger angeguckt?
Hast du dir mal ne zu importierende Datei gebastelt mit nur 1 nem Record drin wo du weist das er in der Datenbank drin ist? Hast du dir mal "MESSAGE" an den entsprechenden stellen eingebaut damit du weist wo er hin geht und wo nicht?

ich gehe davon aus das dein
IF Item2.FINDFIRST THEN BEGIN

einfach immer ausgeführt wird weil deine Bedingung nicht passt. Und anschließend fügt er dann Datensatz ein.

Re: XMLPort Import

Verfasst: 5. Oktober 2017 09:47
von sweikelt
Item2 ist aber hoffentlich nicht temporär, oder?

Re: XMLPort Import

Verfasst: 5. Oktober 2017 10:28
von HM
Item2 ist nicht Temporär!

Ich hab das ganze mal durch den Debugger laufen lassen.
Interessant trotzdem das er einen Datensatz findet legt er einen neuen leeren an!
???

Re: XMLPort Import

Verfasst: 5. Oktober 2017 10:30
von Ted
Hängst du bitte mal den XMLPort als Text an.

Re: XMLPort Import

Verfasst: 5. Oktober 2017 11:37
von HM
Ja hier ist er...

Re: XMLPort Import

Verfasst: 5. Oktober 2017 12:24
von Ted
damit das Ganze funktioniert solltest du nur folgende Änderung machen müssen:
Item2.SETRANGE("Sep No.",Sno1);
IF Item2.FINDFIRST THEN BEGIN
...
Item2.MODIFY;
END ELSE BEGIN
...
Item3.INSERT(TRUE);
END;
currXMLport.SKIP;


Ich empfinde deinen Code übrigens als grausam, mir würde der so nicht ins Live System kommen.

Re: XMLPort Import

Verfasst: 5. Oktober 2017 12:30
von sweikelt
versuch doch mal das im
Code:
Item - Import::OnBeforeInsertRecord
-Trigger

Code:
CLEAR(Item2);
Item2.RESET;
Item2.SETRANGE(Item2."Sep No.",Sno1);
IF Item2.FINDFIRST THEN BEGIN
  Item2."Local Item No." := Localno1;
  Item2.MODIFY;
  //currXMLport.BREAK; weg damit
END ELSE BEGIN
  Item3.INIT;
  Item3."Sep No." := Sno1;
  Item3."Local Item No." := Localno1;
  Item3.Description := COPYSTR(des1,1,50);
  Item3."Description 2" := COPYSTR(des2,1,50);
  Item3."Base Unit of Measure" := COPYSTR(BUoM,1,10);
  Item3.INSERT(TRUE);
END;
currXMLport.SKIP; //stattdessen skippen


ups - Ted war schneller :wink:

Re: XMLPort Import

Verfasst: 5. Oktober 2017 13:29
von HM
Vielen Dank für Eure Tipps.

Leider funktioniert das nicht wie gewünscht.
Er trägt trotzdem eine ArtikelNr mit Leeren Informationen ein. :cry:

Logisch sehen die Programmzeilen für mich auch aus.

Re: XMLPort Import

Verfasst: 5. Oktober 2017 13:41
von Ted
Ich gehe davon aus das deine CSV Datei noch Leerzeilen hat... das fängst du nirgendwo ab...

Re: XMLPort Import

Verfasst: 5. Oktober 2017 13:48
von HM
Datei geprüft...
keine Leerzeilen...

Re: XMLPort Import

Verfasst: 5. Oktober 2017 16:30
von sweikelt
lad doch auch mal die Datei hoch....ggf. können wir dann einzeln debuggen.

wenn du das nicht möchtest, bleibt dir nur, das ganze selbst zu debuggen...schritt für schritt

Re: XMLPort Import

Verfasst: 6. Oktober 2017 09:22
von HM
Hallo,

hier ist die Datei.

Re: XMLPort Import

Verfasst: 6. Oktober 2017 10:23
von HM
Hallo zusammen,

es Funktioniert jetzt.

Habe den xmlPort mal gelöscht und bin neu Angefangen.

Programmcode ist auch so drin wie Ihr den geschickt habt!

Ganz komische Sache, wäre mal Interessant wo es da gehakt haben soll.
Oder es gibt einfach Zeiten, da will es einfach nicht...

Vielen lieben Dank für Eure Bemühungen!!!

Wünsche Euch einen schönen Start ins WE

LG HM