-
Wieder einmal: FTP und CCS
Hallo zusammen,
nachdem ich im Forum die entsprechenden Beiträge durchforstet habe, konnte ich das Problem noch nicht lösen:
Ich erstelle auf der i5 ein Streamfile. Wenn ich das mit DSPLNK ansehe habe ich diesen Inhalt:
UNA:+.? UNB+UNOC:3+40128780000002:14545053400017 UNH+ME 4711DESADV:96A:UN:EAN0 BMG+351+DES 4711 DTM+11:200708
Wenn ich diese Datei jetzt per FTP herunterlade sieht sie so aus:
ᘀ乕㩁⸫‿乕⭂乕䍏㌺㐫㠲㠷〰〰〰㨲㐱㐵〵㌵〴〰㜱舀乕⭈䕍†㜴ㄱ䕄䅓噄䐺㤺䄶唺㩎䅅ぎጀ䵂⭇㔳⬱䕄 ⁓㐠ㄷ1䐏䵔ㄫ㨱〲㜰㠰
Auf der i5 wird die Datei mit der CCS 37 angelegt, auch wenn ich dem open eine andere CCS mitgebe. Ich habe auch geprüft, ob die Übertragung binär erfolgt und explitit auf ASCII umgeschaltet.
Bei der Übertragung von Datenbankdateien ist das Ergebnis ok. Die Übertragung von / zu einer anderen i5 ist auch sauber.
Hat jemand eine Idee, was ich noch machen kann?
Danke
Hubert
-
Du musst auf dem IFS die CCSID 1252 bzw. *PCASCII verwenden.
FTP selber macht keine Codewandlung !
DSPLNK auf der AS/400 zeigt mit Codewandlung an, kann also auch 1252 korrekt darstellen.
-
Ich habe es mit der Einstellung beim open versucht, aber ich bekomme immer nur die 37. An den Verzeichnissen selbst kann ich nichts ändern; die Maschine wird von mehreren Ländern genutzt und in Kanada verwaltet.
Code:
c eval permiss = S_IRUSR + S_IWUSR +S_IXUSR
c eval Codepage = 1252
c eval file = '/home/TEST.dat' + NULL
c eval o_flag = O_WRONLY + O_Create
c eval fd = open(%trim(file):O_Flag:CodePage)
c if fd > 0
-
Beim Openflag musst du noch o_codepage angeben sonst wirkt die Codepage nicht (gabs hier schon mal im Forum).
-
Danke, das o_codepage wusste ich nicht.
Jetzt wird ein File mit einer anderen Codepage erstellt, aber nicht die 1252.
Ich habe jetzt folgendes versucht:
Die Daten in ein PF geschrieben und mit CPYTOSTMF kopiert. Dann konnte ich das IFS File per FTP herunterladen.
Danach habe ich die Daten mit dem Programm ins IFS File geschrieben. Beim Herunterladen auf den PC hatte ich wieder Datensalat.
Ich muss aber direkt ins IFS schreiben, weil beim CPYTOSTMF nach jedem Satz ein LF bzw. CR eingefügt wird. Das darf aber laut Anforderung nicht sein.
-
Versuch es mit
CPYTOSTMF ... ENDLINFMT(*FIXED)
-
PS:
Hast du den Parameter für die Codepage auch korrekt definiert ?
-
Der Codeschnipsel zum Öffnen incl. Codepage Definition:
Code:
d CodePage s 10i 0 inz(1252)
* Define open attributes
c eval oflag = O_WRONLY + O_Create +
c O_TextData + O_TRUNC +
c O_Codepage
* Define Mode attributes
c eval Mode = S_IRWXU + S_IRWXO
c eval fd = open(%trim(file):OFlag:
c Mode:CodePage)
Das File hat dann:
Coded character set ID . . . . . . . . : 5348
Ich habe auch schon versucht, Codepage mit dem Format "u" oder als Konstante zu definieren: mit dem gleichen Misserfolg.
CPYTOSTMF ... ENDLINFMT(*FIXED) bringt mich auch nicht weiter, weil dann im STMF durch Einfügen von Blanks alle Zeilen auf die Länge des DB Files gebracht werden.
-
Codepage ist, glaube ich, nur 5U 0 !
Prüfe mal die Open-Definition, ob short oder integer definiert ist.
-
Es ist integer definiert. Trotzdem hab ich mal versuchsweise mit 5U 0 gewandelt; dann gabs einen Laufzeitfehler.
Außerdem ist mir beim Prüfen der Daten aufgefallen, dass das File mit NULL beginnt und bei jedem write hinten 1 - 2 Stellen weglässt und ebenfalls NULL einfügt. Ist das normal?
-
Wie ist die Variable zum Write denn definiert ?
Wenn du varying verwendest, hat diese ein 2-byte-Längeninformation vorher, und du schreibst dann natürlich diese 2 Byte am Ende zu wenig.
Verwende als Write-Puffer eine Variable fester Länge, da du die genaue Länge ja sowieso angeben musst.
5348 ist 1252 mit Euro (ab V5R4):
http://publib.boulder.ibm.com/infoce...gsccsidref.htm
-
Danke, die variable Länge wars mit den "verschluckten" Zeichen.
Und jetzt geht's auch mit dem ftp - trotz CCS 37. Vielleicht hat sich FTP an den NULL's verschluckt.
Similar Threads
-
By malzusrex in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-12-06, 13:38
-
By TARASIK in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 21-11-06, 16:18
-
By KM in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 28-08-06, 13:50
-
By wuwu in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 18-08-06, 08:09
-
By Frank.Sobanek in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 22-06-06, 20:22
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks