PDA

View Full Version : iSeries und UNICODE



KM
02-09-04, 16:39
Hallo zusammen,
ich habe zwar schon mal so eine ähnliche Anfrage gestartet, bin bis jetzt aber erfolglos geblieben.
Ich habe Daten unter Windows im UNICODE-Format vorliegen (Excel 2000 bzw. Access 2000). Auf der iSeries habe ich eine Datei mit CCSID 13488 (= UNICODE) angelegt. Wie bekomme ich nun diese Daten von Windows in meine iSeries-Datei ?
Bis jetzt sind alle Versuche gescheitert.

Vielen Dank schon mal,
KM

Fuerchau
02-09-04, 16:43
Müsste eigentlich mit CPYFRMIMPF funktionieren: FROMCCSID(13488) !

KM
03-09-04, 07:37
Das geht leider nicht. Der CPYFRMIMPF erstellt eine Zwischendatei QACPxxxxx in der Bibliothek QRECOVERY. Diese Datei wird wohl automatisch mit CCSID 65535 erstellt. Und das ist laut Fehlermeldung ungültig. Es werden 0 Datensätze kopiert.

Nachrichten-ID . . . . : CPDA08C Bewertung . . . . . . : 40
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 03.09.04 Sendezeit . . . . . . : 08:34:50

Nachricht . . . : Datenbankdatei hat CCSID 65535.
Ursache . . . . : Die CCSID der Datenbankdatei
/QSYS.LIB/QRECOVERY.LIB/QACP065341.FILE/QACP065341.MBR lautet 65535. Das ist
ein für die erfolgreiche Ausführung dieses Befehls ungültiger Wert.
Fehlerbeseitigung: Eine andere Datenbankdatei mit einer von 65535
abweichenden CCSID angeben und den Befehl wiederholen.

Gruß,
KM

Fuerchau
03-09-04, 07:45
Überprüfe mal die CCSID deines Job's !
Die Zwischendatei wird mit der CCSID des Jobs bzw. der Default-CCSID erstellt.

KM
03-09-04, 07:50
Beim CHGJOB auf CCSID 13488 kommt folgende Fehlermeldung:

Nachrichten-ID . . . . : CPF1854 Bewertung . . . . . . : 40
Nachrichtenart . . . . : Abbruch
Sendedatum . . . . . . : 03.09.04 Sendezeit . . . . . . : 08:49:15

Nachricht . . . : Wert 13488 für CCSID ungültig.
Ursache . . . . : Der angegebene Wert ist für den Parameter CCSID
(Kennzeichnung für den codierten Zeichensatz) nicht gültig. Entweder wird
der Wert für CCSID vom System nicht erkannt oder für den Parameter CCSID
wurde ein Wert angegeben, der nur in DBCS-Systemen gültig ist.
Fehlerbeseitigung: Das Handbuch "National Language Support", IBM Form
SC41-5101, enthält eine Liste der gültigen Werte. Den Wert korrigieren und
die Anforderung wiederholen.

Fuerchau
03-09-04, 07:53
Dein JOB muss 273 o.ä. sein.

KM
03-09-04, 08:00
Ich habe den Job jetzt auf CCSID 273 geändert. Ich habe auch mal den Systemwert QCCSID auf 273 gesetzt. Trotzdem wird diese temporäre Zwischendatei immer mit CCSID 65535 erstellt.

Fuerchau
03-09-04, 08:03
Mail mir mal einen Auszug deiner PC-Datei zu. Dann kann ich das auch mal probieren.

KM
03-09-04, 10:35
Ich hab's jetzt geschafft in Access die Daten per Copy und Paste über externe Datenbankverknüpfung in meine iSeries-Datei manuell zu kopieren. Das hat funktioniert. Die Daten stehen dort jetzt im Unicode-Format. Ich kann mir diese jetzt auch wieder in Excel laden über den ODBC-Datenimport. Die ausländischen Zeichen sehen dann immernoch korrekt aus. Wenn ich allerdings die Daten (auch über ODBC) als Datenquelle in Word für einen Serienbrief oder in MS Query oder auch in andere Windows-Applikationen per ODBC einbinden will, werden die ausländischen Zeichen nicht oder nur als Kästchen oder anderes Sonderzeichen dargestellt. Was läuft hier noch schief ? Ich dachte eigentlich, dass die Ergebnisse alle dieselben sein müssten, da alle Applikationen dieselbe ODBC-Verbindung benutzen.

Gruß,
KM

Fuerchau
03-09-04, 11:46
Die UNICODE's werden als GRAPHIC verwaltet und sind daher für Word nicht verwendbar.
Du kannst auch hier den Umweg über Access gehen, d.h., Word greift auf Access und dort auf die verknüpfte Tabelle zu.

Meine Versuche mit UNICODE und CPY-Befehlen sind gescheitert, da das scheinbar nur geht, wenn das SYSTEM auf DBCS umgestellt ist.