[Gelöst]Dataport, erste Zeile Verwerfen

12. Oktober 2005 09:39

Hallo,
ich habe ein kleines Problem. Ich möchte ein Textfile Importieren. Dieses Textfile hat als erste Zeile Überschriften.
Leider Funktioniert diese Routine nicht so wie ich möchte!
Wer kann helfen?
Gibt es vieleicht elegantere Methoden?
OnAfterImportRecord()
IF (Produktnr = 'Produktnr') OR // Falls der Text 'Produktnr' oder
(ArtDatum = 'Datum') // im Datum der Text Datum steht!
THEN
CurrDataport.SKIP; // Hier die aktuelle iteration auf dem DataItem abbrechen

Gruß Mikka
Zuletzt geändert von mikka am 6. März 2006 16:51, insgesamt 1-mal geändert.

12. Oktober 2005 10:43

Ohne es jetzt geprüft zu haben, könnte es eventuell ausreichen, den Code aus dem Trigger OnAfterImportRecord() in den Trigger OnBeforeImportRecord() zu verschieben?
(Ich arbeite nicht gerne mit Dataports, sondern importiere / exportiere Daten lieber "zu Fuß" per Reports / Codeunits.)

12. Oktober 2005 12:14

Ich denke das, dass leider nicht Funktioniert, da der Trigger "OnBeforeImportRecord()" vor dem Einlesen des Rec ausgeführt wird.
Auszug aus der Navi-Hilfe
"The C/AL code in this trigger is executed before the next record is read from the external (import) file."

An dieser Stelle kann ich die Daten noch nicht auswerten! :!:

Auf dem "OnAfterImportRecord()" sind die Daten aus dem File eingelesen, aber noch nicht in den Record eingefügt worden!

Wenn du das gleiche in einen Report machst, dann müste der Source Code doch ähnlich sein, oder? (Zum Verwerfen der ersten Zeile!)
Gruß Mikka

12. Oktober 2005 13:28

Hi,

alternativ:
Ich würd mal das AutoSave/AutoUpdate aus den Properties auf No stellen und per C/AL Code das INSERT machen.

Gruss,Otschko

12. Oktober 2005 13:29

Wenn Du den Code in den BeforImport verschiebst würdest Du immer die vorhergehenede Zeile auswerten.

Wie wäre es damit:
AutoSave, AutoUpdate, AutoReplace auf Nein

im OnBeforeImport:
<Record>.INIT

und im OnAfterImportRecord:
Dann prüfen und manuell einfügen mit:
<Record>.Insert oder <Record>.Modify

12. Oktober 2005 13:38

Danke für die schnellen Antworten,
klingt Plausibel. (Hätte ich doch auch drauf kommen können) :roll:
Ich werde es ausprobieren.
Gruß Mikka