PDA

View Full Version : CCSID, UTF-8, SEPA-XML



Seiten : [1] 2

Robi
02-09-13, 14:03
Hi,
ich habe hier ein PF-SRC in ccsid 1141.
Nun will ich ein Member mit CPYTOSTMF nach 1208 (UTF-8) ausgeben. Die VON und die ZIEL ccsid habe ich angegeben.
Dabei bekomme ich

Weitere Nachrichteninformationen

Nachrichten-ID . . . . : CPDA09B Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 02.09.13 Sendezeit . . . . . . : 13:57:02

Nachricht . . . : Umsetzung der CCSID konnte nicht ausgeführt werden.
Ursache . . . . : Die Umsetzung der CCSID konnte nicht ausgeführt werden,
weil die Eingabedaten ungültig waren oder vom angegebenen Zeichensatz nicht
erkannt werden konnten.
Fehlerbeseitigung: Einen oder alle der folgenden Schritte ausführen:
-- Die Codepage oder den CCSID-Wert ändern.
-- Die Eingabedaten in der Datei in gültige Daten ändern. Den Befehl
wiederholen.

In dem Member sind XML-Daten für eine SEPA LS.
Z.Zt. sind in dem Test-XML keine ÄÖÜß... drin.
Der Job läuft auch unter 1141
Warum geht 1141 nicht nach 1208?
Mit welcher CCSID muß ich mein PF-SRC erstellen damit 1208 auf dem PC ankommt?
Danke
Robi

Robi
02-09-13, 14:28
Nun hatte ich bei meiner Suche entdeckt, das 1208 auch auf der as400 utf-8 ist(hatte ich so interpretiert.)
Also hab ich das pgm angepasst, crtsrcpf mit ccsid 1208 und ...
gleicher Fehler ...
Robi

Dschainers
02-09-13, 14:53
Hallo,
ich habe auch eine SRC-PF mit 1141 als CCSID.
Ich mache folgenden Befehl, der funktioniert:
CPYTOSTMF +
FROMMBR('/QSYS.LIB/xxxxxxxx.LIB/yyyyyyyyy.FIL+
E/yyyyyyyyy.MBR') TOSTMF(&TOSTMF) +
STMFOPT(*NONE) STMFCODPAG(1208)

Robi
02-09-13, 15:29
Ja,
bisher hatte ich da auch keine Probleme.
Was isch anders hatte war ein *replace bei STMFOPT.
Das habe ich nun mal raus genommen.

dementsprechend ist der Befehl nun
CPYTOSTMF FROMMBR(&FROMFILE) TOSTMF(&TOFILE) +
STMFCCSID(1208)

in Fromfile steht
/QSYS.LIB/QTEMP.LIB/QXMLSRC.FILE/SEPA01.MBR

in Tofile
/qntc/vmfilexxx01/xxxer/edv/_vonAs400_tmp/SEPA01_20130902_
162202.XML

die PF-SRC hat 1141 und der Fehler ist der selbe.

Dschainers
02-09-13, 15:37
ich bin ja kein Spezialist, aber vielleicht liegts am QNTC.
Versuchs doch mal ins IFS, meine Freigabe hat die codepage 850!!??

Fuerchau
02-09-13, 15:52
CPYTOSTMF erlaubt leider als Input/Output-PF's nur CCSID 65535, warum auch immer.
Versuche es besser mit CPYTOIMPF, da darf die PF-CCSID eben nicht 65535 sein.

Ach ja, der Hinweis mit QNTC ist natürlich wichtig.
QNTC unterstützt keine CCSID, da ist als Ziel-CCSID nur 65535 möglich.

Der Umweg über das IFS ist hier nötig, anschließend mit CPY dann nach QNTC übertragen.

MR-BN
02-09-13, 15:53
ich meine mal gelesen zu haben, das für einen schon vorhandenen IFS-Eintrag die CCSID erhalten bleibt und nicht überschrieben wird. Also vorher den Eintrag mit RMVLNK entfernen und dann neu erstellen.

Robi
02-09-13, 17:10
Danke, das hat geklappt,

CPYTOIMPF nach /HOME/A+Datum_Zeit+.XLS
anschließend qsh mv nach qntc,
alles ok.

K.a. warum ich heute CPYTOSTMF anstatt CPYTOIMPF verwendet habe. Aber das war trotzdem so vertraut. Und die CCSID konnt ich ja schließlich auch angeben ...

Aber ich hab nachgesehen.
in anderen CL's wird auch TOIMPF gemacht.
Allerdings direkt zum QNTC.
Werde mal fragen ob die Prob. mit Umlauten haben.

Danke
Gruß
Robi

Pikachu
02-09-13, 21:14
anschließend qsh mv nach qntc,
Warum nicht mittels der Befehle MOV oder MOVE?

Robi
03-09-13, 07:39
ganz einfach

Schon mein Papa hat immer gesagt:
"Dumm darf man sein, mann muß sich nur zu helfen wissen"

Ich kenne zwar MOVOBJ, MOV bzw MOVE hab ich noch nie verwendet.

Robi,
der wieder was gelernt hat