Das Thema CCSID wird immer wieder falsch auf der AS/400 behandelt. Selbst die von IBM ausgelieferten Sprachbibliotheken (QSYS29xx) sind diesbezüglich nicht korrekt eingestellt.

Fast alle Objekte der AS/400 haben eine CCSID, so dass bei korrekter Anwendung eine Umsetzung an den entsprechenden Stellen durchgeführt wird:

1. Systemwert QCCSID
Dieser Wert sollte auf die Stammsprache des Systems (Deutschland 273) eingestellt sein.
Alle neuen Dateien, denen keine CCSID zugeordnet wird, erhalten diese CCSID.

2. Dateien (PF-Files)
Alle Dateien der Anwendung sollten auf die CCSID 273 gebracht werden, so dass die Daten eindeutig sind.
Dazu gehören allerdings auch die Source-Dateien (wichtig für die Programmerstellung) !!!!

3. Client-Access-Sitzungen (Display UND Drucker)
Auch wenn man hier eine beliebige CCSID auswählen kann, so ist hier eine andere Auswahl als die Entsprechung zum Systemwert GRUNDSÄTZLICH falsch !
Dazu muss man wissen, dass ja der Dialogjob nicht die Daten zum Terminal überträgt, sondern ein zugeordneter TCP-Job. Dieser Job läuft nun automatisch mit der CCSID des Systemwertes (wenn nicht angegeben, dann automatisch 500), so dass die Daten an der Sitzung also wieder 273 erhalten !!!
Wenn also die Sitzung auf eine andere CCSID als 273 gestellt wird, erfolgt trotzdem keine Umsetzung von/zur AS/400, da ja vom AS/400 die Daten in 273 erwartet bzw. gesendet werden.
Die CCSID in der Sitzung dient AUSSCHLIESSLICH der Umsetzung EBCDIC/ASCII !

4. Nachrichtendateien (MSGF)
Auch die Nachrichtendateien müssen auf die korrekte CCSID geändert werden (Default leider 65535), damit eine korrekte Umsetzung stattfindet, da Nachrichten ja häufig in Displayfiles verwendet werden.
Hier liegt leider der Fehler bei IBM in den QSYS29xx-Bibliotheken. Die französische Bibliothek wurde von der IBM am französischen Terminal erstellt, so dass die MSGF auf die französische CCSID umgestellt werden muss. Wenn dieses durchgeführt ist, werden französische Nachrichten an einem deutschen Terminal korrekt angezeigt.

5. Andere Objekte wie Menüs (UIM) und CMD's
Auch hier muss (allerdings leider schon bei der Erstellung) eine korrekte CCSID angegeben werden so dass bei der Verwendung die entsprechende Umsetzung erfolgen kann.
Eine NACHTRÄGLICHE Änderung ist leider NICHT MEHR MÖGLICH !

Und hier liegt leider der Fehler bei der IBM:
Stelle ich mein Terminal korrekt auf 273 erscheint meine Applikation vollkommen korrekt. Stelle ich die QSYS29xx entsprechend an den Anfang werden alle Systemmenüs, Kommandos und Nachrichten (dazu gehört auch das Joblog) falsch dargestellt.
Stelle ich mein Terminal auf französich, wird zwar das System korrekt dargestellt aber meine Applikation läuft falsch !

Auch bei den neueren Releases wird von IBM leider keine korrekte Sprachbibliothek ausgeliefert !!!

Schlussbemerkung:
Im west-europäischen Raum müssen alle Terminals eines Systems einheitlich auf die gleiche CCSID gestellt werden. Selbst wenn das Terminal von einem französichen oder anderssprachigem Benutzer verwendet wird.
Es funktioniert auch Korrekt, wenn der Windows-PC in einer französischen oder italienischen Version läuft, da von Windows immer der Standard ANSI-Code (1152)verwendet wird (Westeuropa).
Im Zeichensatz 273 sind auch alle entsprechenden Zeichen vorhanden, so dass hier keinerlei Probleme zu erwarten sind.

Für das gemeinsame Betreiben von ost- und westeuropäschen Benutzern auf einem gemeinsamen System gibt es ausschließlich nur die Möglichkeit der Verwendung von UNICODE-Sprachen. Dass heisst allerdings, dass sämtliche Anwendungen (insbesonders die Fremdsoftware) Unicode berücksichtigen muss.
Auswirkung auf sämtliche Dateiobjekte und Programme, was heute eigentlich unmöglich ist.