Anmelden

View Full Version : Nachricht CPF427D bei CCSID 870 (ohne €) und 1153 (mit €)



edv90020
05-04-11, 08:43
Hallo Zusammen,

unter der Konstelation "DB auf CCSID 870" und "JOB auf CCSID 1153" erhalte ich folgende Nachricht :confused:


Nachrichten-ID . . . . : CPF427D
Sendedatum . . . . . . : 05.04.11 Sendezeit . . . . . . : 09:06:16

Nachricht . . . : Bei der Datenumsetzung wurden eventuell Ersatzzeichen
verwendet.

Ursache . . . . : Werden Daten mit der CCSID (ID des codierten
Zeichensatzes) 1153 in Daten mit der CCSID 870 umgesetzt, k|nnten
Ersatzzeichen verwendet werden. Dies kann Daten der Teildatei WWJBREL5 in
der Datei WWJBREL5 in der Bibliothek GPWWBPF450 betreffen. Die Ersetzung
kann in folgenden F{llen stattfinden:
-- Beim Einf}gen oder Aktualisieren eines Satzes.
-- Beim Abrufen eines Satzes.
-- Beim Abrufen oder Positionieren auf einen Satz mit Hilfe eines
Schl}ssels.
-- Beim Zur}ckgeben eines Schl}ssels als Teil einer E/A-R}ckmeldung eines
Satzes.
Fehlerbeseitigung: Wird die Datei nur dazu verwendet, um S{tze abzurufen,
wird m|glicherweise nicht angezeigt, was in den Daten gespeichert ist. Wird
die Datei ge|ffnet, um S{tze einzuf}gen oder zu aktualisieren, k|nnen die in
die Datei gestellten Daten m|glicherweise nicht abgerufen werden. Wird auf
die Datei }ber Schl}ssel zugegriffen, gibt der angeforderte Schl}ssel
m|glicherweise nicht den erwarteten Satz zur}ck. Enthalten die Daten keine
Zeichen, die eine Ersetzung zur Folge haben, kann diese Nachricht ignoriert
werden. Hat die Ersetzung m|glicherweise eine Auswirkung darauf, wie die
Datei von der Anwendung verwendet wird, muss versucht werden, eine CCSID zu
finden, mit der eine Verarbeitung ohne Ersetzung durchgef}hrt werden kann. Was hat dies zu bedeuten bzw. kann man diese ausschalten ? Wie es aussieht ist das nur eine Info die das System ausgibt.
Die beiden CCSID sind Kompatibel um so mehr verwirrt mich das.

Beim Test mit "DB auf CCSID 273" und "JOB auf 1148" erscheint diese Nachricht nicht :confused:

Warum ich das überhaupt mache:
Ich möchte alle Latin-2 Benutzer auf die aktuelle CCSID 1153 (derzeit auf 870) und alle deutschen Benutzer (derzeit 273) auf die Latin-1 Multilingual CCSID 1148 ändern. Im 2. Schritt die DB ensprechend anpassen.

Meinerseits macht es Sinn von 273 auf 1148 zu wechseln aber von 870 auf 1153 ist es eigentlich nicht notwendig da ja schon alle Latin-2 Sprachräume enthalten sind.

Kann mir hier jemand weiter helfen ?

Fuerchau
05-04-11, 09:15
Nun ja, Kompatibel und Umsetzbar unterscheiden sich da wohl doch.

Testen kann man das selber mit einem kleinen Programm und dem Konvertierungs-API Convert a Graphic Character String (CDRCVRT, QTQCVRT) API (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/CDRCVRT.htm)
, wo denn der Unterschied ist.
Anscheinend gibts da doch eine Differenz, die es bei der Kombination 273/1141 nicht gibt.

Zu bedenken ist noch, dass ODBC-Verbindungen über die Sprach-ID des Benutzers/Systems die CCSID des Jobs festgelegt wird.
Wenn dann aus Dateien mit unterschiedlichen CCSID's gelesen wird, kommt es zu Darstellungsproblemen.

edv90020
05-04-11, 19:35
Ich habe mir noch mal die "character set" Tabellen verglichen. Der einzige Unterschied ist wirklich das €-Zeichen ersetzt wurde. Die Host Codepage ist bis auf das €-Zeichen gleich. Ich glaube das ist ein IBM Problem...

Habe mich jetzt dazu entschieden bei 870 zu bleiben. Schließlich ist diese Änderung nicht lebensnotwendig.
Aber ich werde meien Einstellungen im deutschen sprachraum von 273 auf 1148 ändern. Das wird uns später bei weiteren Sprachräumen im Latin-1 Bereich einfacher.

Für jeden Tipps, Hinweis und Anmerkungen zu diesem Thema bin ich dankbar.
:)

Fuerchau
06-04-11, 08:05
Innerhalb des Latin-1 (ISO 8859-1) ist es vollkommen egal, welche CCSID du wählst, da alle diese CCSID's kompatibel sind (Konvertierung hin und zurück ohne Verluste).

Wichtig ist lediglich, dass Job und Bildschirm die selbe CCSID/Hostcodepage verwenden!

Zwischen Job und DB findet eine passende CCSID-Umsetzung statt.

Dies betrifft ebenso andere Sprachräume, die in sich selbst kompatibel sind.
Lediglich Unicode erlaubt eine Mischung verschiedener Sprachräume in der selben Datei.

edv90020
06-04-11, 08:21
Wichtig ist lediglich, dass Job und Bildschirm die selbe CCSID/Hostcodepage verwenden!


Noch eine Frage zu CA:

In den Konfigurationseinstellungen gibt es unter der Host Codpage die 500 (Latin-1, ohne €) Deutschland, Belgien, Frankreich usw. Mir fehlen die ganzen Latin-1 Länder unter der Host Codepage 1148 (mit €), wo nur Belgien, Kanada und Schweiz steht. Gibt es dafür einen Grund ?

Fuerchau
06-04-11, 09:33
Da alle doch die selbe Codepage haben, ist es doch letztlich egal welche 1148 du wählst. 1148 ist letztlich Französisch also 297 mit €.

Wichtig ist nur, wenn du Sekundärsprachen (QSYS29xx) verwendest und diese in der SYSLIBL vorschaltest, dass Job-CCSID und CCSID der Sprachlib zu einander passen.

Ob der Job nun 273 und das Device 1141 oder 273 unterscheidet sich nur in der Darstellung des €-Zeichens, alles andere bleibt ja gleich.

Verwendest du also z.B. französisch ist die QSYS29xx auf CCSID 297.
Der Job kann nun 297 oder 1148 sein, das Terminal dazu passend 297/1148.