|
Do you really mean character data in a field, or do you mean literal values in
the RPG source being moved?
RPG forces all literals to be in the CCSID of the source member of the compiled
module. Hence '!@#$' will come across as CCSID 37 on my system.
To put literal in a known format you must encode them in %UCS2('@#$%') as
follows:
D myField S 10C Inz(%UCS2('ABABRA@#$%'))
Now that data is "forced" to be in UCS-2 format and can be move safely to other
fields, such as a regular field using %CHAR(myField) or one of the other
built-in functions.
I used to store all my literals as literals but now I store them using this
method so I don't have issue when my code is run on a non-CCSID(37) machine.
-Bob
-Bob Cozzi
www.RPGxTools.com
RPG xTools - Enjoy programming again.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On
Behalf Of James H H Lampert
Sent: Friday, March 31, 2006 7:17 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Moving bytes from a SBCS EBCDIC field to a DBCS Unicode fieldwithout
translation
As I recall from experiments I conducted some months ago,
when I try to move data from a character (SBCS EBCDIC)
field to a graphic (DBCS Unicode) field in RPG (the actual
bytes are already DBCS Unicode), the RPG runtime assumes
the source data is EBCDIC, and garbles it by forcibly
translating it and/or inserting SI/SO control characters.
My experiments never got far enough to find a way to avoid
this translation. Is there an easy way?
Would it be as simple as overlaying (e.g., as a coincident
field in a data structure) a Unicode field on the source
field, and using the Unicode overlay in the MOVE/MOVEL
statement? Or is there a different approach that's better?
--
JHHL
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.