PDA

View Full Version : Datei vom FTP-Server ins IFS via FTP übertragen macht aus CRLF nur noch einen LF



Seiten : [1] 2

harkne
22-11-16, 12:31
Hallo zusammen,

ich habe in der Überschrift die Problematik weitestgehend beschrieben.

Ich benutze für die Übertragung ein von uns selbst (allerdings nicht von mir) geschriebenes Programm welches den Transfer macht. Im Log steht auch das alles ordnungsgemäß übertragen wurde.

Auf meinem FTP-Server liegt die Datei und hat am Zeilenende ein CRLF.
Nach der Übertragung ins IFS hat die Datei am Zeilenende nur noch ein LF.

Da wir das Programm bereits mehrfach im Einsatz haben und die Datei im IFS immer unverändert bleibt stehe ich vor einem Rätsel.

Gibt es Einstellungen im IFS die sowas schlucken. Das ist jetzt auch die erste Datei die pro Datensatz mehr als 800 Zeichen hat. Gibt es da irgendwelche Einschränkungen oder hat irgendjemand eine Idee an was es noch liegen könnte ?

Viele Dank im Voraus.

Viele Grüße Harkne

harkne
22-11-16, 14:09
So wie es aussieht haben wir einen neuen FTP-Server und ich befürchte es liegt daran, denn nun übertragen auch die anderen Programme die dieses Standardprogramm von uns verwenden die Daten nicht korrekt. Also machen aus CRLF im IFS LF. Wenn ich mehr weiß poste ich es hier nochmal.

Fuerchau
22-11-16, 16:49
Ggf. ändere die FTP-Übertragung einfach in den Binär-Modus. Dann sollte alles erhalten bleiben.

harkne
23-11-16, 08:58
Ist im Binär-Modus

Das hier wird nacheinander ausgeführt, wobei ein Teil mit Sachen aus unserer FTP-Datei ersetzt wird

USR_PW
SENDEPSV

SENDEPRT
NAMEFMT 1
CD
LCD
BINARY
ACTION
QUIT

KingofKning
23-11-16, 09:16
Ist im Binär-Modus

Das hier wird nacheinander ausgeführt, wobei ein Teil mit Sachen aus unserer FTP-Datei ersetzt wird

USR_PW
SENDEPSV

SENDEPRT
NAMEFMT 1
CD
LCD
BINARY
ACTION
QUIT


Wer ist denn Dein Gegenüber? Linux, Windows, AS400

harkne
23-11-16, 09:59
Hmmm also auf jeden Fall ein FTP-Server (nicht AS400) Aber ob das jetzt Linux oder Windows ist weiß ich nicht. Auf jeden Fall von dem Server dann ins IFS.

KingofKning
23-11-16, 11:04
Du musst doch wissen ob Du auf einer Windows Büchse oder auf einer Linux Büchse arbeitest

harkne
23-11-16, 11:23
Muss ich ? Ich hole dort eine Datei (mittels FTP) ab und übertrage sie auf die AS/400 um sie dort zu verarbeiten. Mich interessiert eigentlich nicht was auf dem Server installiert ist.

Fuerchau
23-11-16, 11:41
Eine Binärübertragung darf den Inhalt nicht verfälschen.
Prüfe die Dateien doch mal mit z.B. FileZilla.
Hole diese ab und schau den Inhalt per Hex-Editor an.
Oder wenn du sie dann auf dem PC hast und keinen Hexeditor, kopieren über Windowsexplorer ins IFS und dort per HEX (F11) ansehen.
Ich vermute mal eher, dass die Quelle schon so ist und ggf. der alte FTP-Server das CR eingefügt hat.
Normalerweise sollte da ein Längenvergleich der Dateien bereits ausreichen um Veränderungen festzustellen.
Beim Import kann man als Satztrenner auch *ALL angeben, dann ist es egal, ob CRLF, LFCR, CR oder LF.

harkne
23-11-16, 11:57
Auf dem FTP-Server liegt die Datei mit CRLF am Zeilenende und dies habe ich mit Notepad++ und Zeilenende anzeigen nachgesehen. Nach der Übertragung im IFS liegt die Datei mit LF am Zeilenende und dies habe ich ebenfalls mit Notepad++ und Zeilenende anzeigen nachgesehen.

Das mit *ALL ist natürlich eine gute Idee.