PDA

View Full Version : VARCHAR Felder(UTF-8) und ILE RPG



uditzen
26-06-15, 08:19
Hallo zusammen,

ich habe via OpsNav eine Tabelle erstellt und möchten nun über ILE RPG auf Felder des Typs VARCHAR (UTF-8, nicht normalisiert) zugreifen. Wie bekomme ich z.B. die Daten in einer Bildschirmmaske angezeigt bzw. in eine Datei ausgegeben?

Hat jemand Erfahrung mit der Problematik und kann mir etwas unter die Arme greifen?

Vielen Dank im Voraus.

Gruß uditzen

Fuerchau
26-06-15, 10:03
UTF-8-Felder sind in ILE nur sehr schwer zu verarbeiten.
Besser sind da UCS2 (N[var]CHAR, bzw. [var]Graphic ccsid 13488).
Hierfür gibt es native Unterstützung im ILERPG.
Der Feldtyp ist "C" und mittels %UCS2 sowie %CHAR kann ich zwischen UCS2 und SBSC(*JOB) konvertieren.

UTF8 muss ich per Konvertierungs-API's selber in SBCS bzw. in UCS2 wandeln.

Die DSPF unterstützt ebenso UCS2-Felder. Allerdings muss ich die max. Eingabelänge auf die halbe Größe reduzieren. Die Konvertierung zwischen Hostcodepage (in Emulation) und UCS2 passiert automatisch.

Bei PRTF's habe ich allerdings wieder Mehraufwand.
Bei SCS-Drucken muss ich UCS2 dann in CHAR wandeln.
Problematisch wird das nur, wenn die Zeichen aus der DB mit der Job-CCSID nicht kompatibel sind.
Bei AFPDS kann ich UCS2 verwenden. Das funktioniert aber nur bei "echten" IPDS-Druckern (keine Emulationen!) oder PDF-Ausgabe.