-
CPYTOIMPF und CCSID
Hallo *All,
ich möchte eine Datenbankdatei per CPYTOIMPF in eine Textdatei kopieren. Meine Maschine ist auch CCSID 65535 eingestellt; ebenso die Jobs und die Felder in der Ursprungsdatei. Wenn ich nun meinen CPYTOIMPF Befehl mit *STDASCII absetze bekomme ich nur HEX Zeichen. Wenn ich andere Datei kopiere, funktioniert die Umwandlung ohne Problem ?!?
Was muss ich denn ändern?
THX Michael
-
Ändere wenigstens deinen Job auf eine gültige CCSID (z.B. 273).
Dass Systeme immer noch mit *HEX (also 65535) arbeiten, halte ich sowieso für den größten Fehler.
Aber wer hört schon auf mich
-
Wenn ich meinen Job auf CCSID 273 setze, bekomme ich weiterhin Hexzeichen.
Muß ich vielleicht bei STMFCODPAG die entsprechende Codepage mit angeben?
CPYTOIMPF FROMFILE(TEST/TEST)
TOSTMF('/TMP/DATEI.TXT')
MBROPT(*REPLACE) STMFCODPAG(*PCASCII)
RCDDLM(*CRLF) DTAFMT(*FIXED) STRDLM(*NONE)
Zitat von Fuerchau
Ändere wenigstens deinen Job auf eine gültige CCSID (z.B. 273).
Dass Systeme immer noch mit *HEX (also 65535) arbeiten, halte ich sowieso für den größten Fehler.
Aber wer hört schon auf mich
-
Das hängt jetzt ein bisschen vom Release ab.
Normalerweise wird von der Datei-CCSID in die Stream-CCSID gewandelt. Wenn die Datei keine CCSID hat, dann von der Job-CCSID.
Seit V5R3 scheint die Job-CCSID nicht mehr relevant.
Also: Ändere die CCSID der PF !!!
*PCASCII => 1252 (auch ANSI)
*STDASCII => 850
-
Das Problem liegt darin, dass vor V5R3 beim CPYTOIMPF immer erst eine temporäre Zwischendatei mit der CCSID des Jobs erstellt wurde. Deshalb wurden hier die Hex-Codes korrekt konvertiert. Und erst danach wurden die Datei aus der Zwischendatei in die Zieldatei geschrieben.
Seit V5R3 entfällt dieser Schritt mit der Zwischendatei. Die Performance dieses Befehls wird zwar besser, nur wird jetzt die CCSID des Jobs nicht mehr berücksichtigt, da IBM nun konsequent durchzieht "wenn irgendwo 65535, dann keine Code-Konvertierung !!!". Leider besteht nun dieses Problem. Es gibt folgende Möglichkeiten dies zu umgehen:
1. Datei auf eine andere CCSID setzen als 65535. Das kann natürlich fatale Folgen haben, wenn man bereits mit mehreren Sprachräumen arbeitet, da manche Zeichen dann nicht mehr darstellbar sind und Programme unter Umständen auf Fehler laufen.
2. Den Schmonzens mit CPYTOIMPF und Konsorten durch ein kleines selbstgeschriebenes Programm/Tool ablösen, das die IFS-APIs verwendet. Dann kannst Du die CCSID von Hand einstellen.
3. Du benutzt den Befehl CPYTOIMPF aus der V5R2-Umgebung. Dazu musst Du einfach nur folgenden Befehl absetzen:
CRTDTAARA DTAARA(QSYS/QCPTOIMPF) TYPE(*CHAR) LEN(6) VALUE(CPV5R2)
Dann funktioniert der Befehl wieder so wie Du ihn von früher kennst. Musst natürlich bei Releasewechseln aufpassen. Außerdem ist es keine Dauerlösung, sondern nur eine vorübergehende.
Gruß,
KM
-
Die korrekte Dauerlösung:
Jede Datei muss eine korrekte CCSID besitzen.
Mehrere Sprachräume können nur so korrekt unterstützt werden.
-
Jede Datei muss eine korrekte CCSID besitzen.
Mehrere Sprachräume können nur so korrekt unterstützt werden.
Wer sämtliche betroffenen Dateien doppelt oder mehrfach (je nach Anzahl Sprachräume) pflegen und verwalten will, kann das gerne tun. Schließlich kann jeder für sich selbst entscheiden, was für ihn die bessere bzw. einfachere Variante ist. Ich habe Michael nur ein paar Möglichkeiten aufgelistet, wie er sein Problem umgehen kann.
-
Vielen Dank für die Infos...
Gruß,
Michael
Similar Threads
-
By codierknecht in forum NEWSboard SAP
Antworten: 32
Letzter Beitrag: 09-02-18, 13:00
-
By malzusrex in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 14-12-06, 17:20
-
By mott in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 09-10-06, 11:28
-
By Muchi in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 03-08-06, 09:41
-
By SUBUIS in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 09-05-06, 09:36
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