XMLport Import Befehl Deleteall

11. Januar 2012 11:58

Hallo zusammen,

kann ich vor Importieren in der XMLport drin Deleteall für den Record setzen? Wenn ja, in welche Trigger?
Oder geht es nur in Codeunit wo der XMLport ausgeführt wird?

Re: XMLport Import Befehl Deleteall

12. Januar 2012 13:41

Hi,

sowohl im OnInitXMLPort als auch im OnPreXMLPort sollte es funktionieren.
Hast du es schon einmal in einm der beiden Trigger versucht?

Re: XMLport Import Befehl Deleteall

12. Januar 2012 13:51

Wie kann ich aber abfragen dass es nur beim Importieren vorher alle löschen?

Re: XMLport Import Befehl Deleteall

12. Januar 2012 15:57

Hast du dir einmal CurrXMLPort.Importfile näher angeschaut?
Damit solltest du in der Lage sein zu erkennen ob du importierst oder exportierst.

Re: XMLport Import Befehl Deleteall

12. Januar 2012 17:19

Tut mir Leid.. kann ich dir leider nicht folgen...
Ich erstelle einen XMLport für 2 unterschiedliche Datenbanken.

In Datenbank A führe ich den XMLport aus Codeunit X aus:
Code:
Outfile.CREATE('V:\LS60.xml');
Outfile.CREATEOUTSTREAM(OStream);
XMLPORT.EXPORT(XMLPORT::"Export/Import DÜ",OStream);
Outfile.CLOSE;


In Datenbank B führe ich andere Codeunit Y aus:
Code:
Infile.OPEN('V:\LS60.xml');
Infile.CREATEINSTREAM(IStream);
XMLPORT.IMPORT(XMLPORT::"Export/Import DÜ",IStream);
Infile.CLOSE;

In der XMLPort exportiere bzw. importiere ich z.B. die Tabelle User Metadata, Style Sheet usw.
Im Moment habe ich den Befehl Deleteall in Codeunit Y.

Meine Frage ist: kann ich Deleteall auch in XMLport angeben, die nur ausgeführt wird, wenn es Import ist?

Re: XMLport Import Befehl Deleteall

12. Januar 2012 19:59

Hi nav,

du solltest im XMLPort mit Hilfe der Funktion "CurrXMLPort.Importfile" herausfinden können, ob du importierst oder exportierst und dies Beispielsweise im OnPreXMLport aufrufen:

Code:
IF CurrXMLPort.Importfile THEN
 Record.DELETEALL;



Viele Grüße
Thomas