CCSID und kein Ende.

Es ist immer wieder das selbe Thema. Solange man sich im SBCS aufhält kann man nur Daten des selben Sprachaumes mischen, bzw. übersetzen.

Erst mit UNICODE (UCS2 auf der AS/400) kann man in der Speicherung vereinheitlichen.

ILERPG/COBOL unterstützt sogar UCS2. Die Felder werden vom Typ C deklariert (UCS2) und erfahren beim MOVE/EVAL automatisch ein Konvertierung (ggf. mit MCH-Fehler bzw. Verlusten).
D.h., ein ILERPG-Programm kann UCS2-Daten lesen und schreiben. Bei der Übertragung von Dateifeld zu/von DSPF-Feld wird automatisch in/von die/der Job-CCSID (die hier nicht 65535 sein darf!) konvertiert.

Hier kann man leider nicht den Vorteil der Namensgleichheit zwischen DB- und DSPF-Feld nutzen, dies weist der Compiler als ungleich deklariert ab.

Für die 5250-Programmierung kann man also damit arbeiten, wenn man auf die gleichzeitige Darstellung am 5250-Terminal verzichten kann.

Beim Drucken muss man da den Weg z.B. über Java mit Ausgabe in PDF arbeiten, da die normale PRTF keine UCS2 unterstützt.
Hier kann man allerdings auf Datei/Feldebene ein CHRID einstellen, so dass der Drucker auf die dazu passende Codepage (ggf. WSCST) umschalten kann.

Den Rest gibts nun nur noch per Schulung