Gelöst - CC Dataport Abbruch umgehen / CRLF finden

27. Februar 2012 15:15

Hallo liebe NAV - Spezialisten,

eigentlich funktioniert mein Dataport einwandfrei - eigentlich. Mal abgesehen davon, dass es User gibt, die "händisch" in die txt - Datei Zeilen ergänzen etc.
Durch diese "händischen" Eingriffe - lässt sich nicht vermeiden =) - kann es passieren, dass die Struktur des Dataport nicht mehr passt. Als Trennzeichen nutze
ich den Doppelpipe - den Import hat mehrere Dataitems - soweit ist alles stimmig. Erzeugt ein User auch noch eine ungewollten CRLF - bricht im der Dataport
komplett ab. Ich rufe per Codeunit vorab den Dataport auf - um mehrere Dateien zu verarbeiten.

Nun zu meiner Frage: Kann ich einem Dataport einen Rückgabewert übergeben? So was in der Art - Abbruch bei Datei 3 - aber ich lese trotzdem noch die die Dateien
4,5 .... ein? Wie finde ich eine zufällig gesetztes CRLF im Code - am jeweiligen Ende des Datensatzes ist dies aber ok? (Start - bzw. Enddelimiter)

Vielen Dank an alle!

Sascha
Zuletzt geändert von GIS am 28. Februar 2012 11:03, insgesamt 1-mal geändert.

Re: Dataport Abbruch umgehen / CRLF finden

27. Februar 2012 15:20

Herzlich Willkommen im Forum :)

Schau doch mal hier, ob da vielleicht etwas für dich dabei ist.

Re: Dataport Abbruch umgehen / CRLF finden

27. Februar 2012 15:24

Man kann vorab eine Datei nach CRLF durchsuchen, bspw. mit dem DataType File.
Ab Version 5 gibt es die Funktion GETLASTERRORTEXT, die man verwenden kann, wenn es zu einem Abbruch aufgrund eines Fehlers kommt.

Generell liegt das Problem aber woanders. Warum ist es erlaubt, daß ein Benutzer eine Datei ändert, die in einem automatisierten Prozeß verwendet wird und die ein ganz bestimmtes Format benötigt? Hier sollte der Prozeß überdacht und/oder klare Vorgaben gemacht werden.

Re: CC Dataport Abbruch umgehen / CRLF finden

27. Februar 2012 15:44

Danke Euch für die schnelle Hilfe =)

Sicherlich ist am sichersten und sinnvollsten dies über einen einheitlichen Prozess der am besten auch noch Allgemeingültig - also für ALLE also wirklich ALLE - zu regeln.
Aber leider nicht in diesem Fall/Kunde. Ich werde dies mit der Rückgabe aus der Codeunit testen. Nochmals DANKE!!!

Noch als Ergänzung: ich möchte keine Werte in der fehlerhaften Datei ändern - diese soll nur beim Import nicht zum Abbruch führen und der Dataport / Codeunit
soll die weitere Verarbeitung nicht einstellen!

Die Sache mit dem vorab untersuchen über InStream / Suche nach Feldtrenner Doppelpipe - möchte ich halt gerne umgehen, da es wie gesagt mehrere Dataitems und
viele Felder sind.

Grüße

Sascha

Re: Gelöst - CC Dataport Abbruch umgehen / CRLF finden

28. Februar 2012 11:05

VIELEN DANK für die hilfreichen Tipps! Es funktioniert nun tadelos!

Grüße

Sascha