UNICODE experience?

Paul Ogborne

UNICODE experience?
Hi, I would welcome other peoples thoughts and experiences on 'full' UNICODE z/OS V8 subsystems please (i.e. where ENSCHEME and APPENSCH are both set to UNICODE in zparms). So far, I have only installed one z/OS V8 subsystem as above but found few details about anything that needs to be done differently (if anything). In addition, documentation mentions adding rows into SYSSTRINGS and also z/OS Conversion Services but there doesn't seem to be a lot of information regarding which and when that I have found. We are a UK shop but supporting Europe, the Far East and the US. No doubt we will need to develop and ship to/from UNICODE and EBCDIC and convert too. I have one z/OS V9 subsystem but am planning more, any implications please? Are there any good redbooks (apart from the Internationalization Guide) that I have missed or good experiences out there please? Thanks, Paul.
The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L list archives, the FAQ, and delivery preferences are at www.idug.org under the Listserv tab. While at the site, you can also access the IDUG Online Learning Center, Tech Library and Code Place, see the latest IDUG conference information, and much more.
If you have not yet signed up for Basic Membership in IDUG, available at no cost, click on Member Services

Troy Coleman

Re: UNICODE experience?
(in response to Paul Ogborne)
Hi Paul,
Are you using COBOL on z/OS? The compiler will compile in the encoding
of the source code.
If you are using ISPF or CICS and the terminal is encoded let's say 1026
for Turkey. Then data will be translated from the data entry point into
what your program needs. Then the data will be converted from program
encoding into the database encoding. So if you want to minimize one of
the conversion I would have the database in the same encoding as your
source language programs.
The other thing to remember is that dataset names on z/OS are always
encoded as EBCDIC 37. We had an issue using special characters in
dataset names and dynamically allocating them using a source program
encoded in code page 1026 Turkey. That is when we realized that z/os is
not going to allow us to allocate file names in codepage 1026. We have
to make sure all special characters used in file names is encoded
codepage 37.

I'm not sure what you get when you set ENSCHEME and APPENSCH to UNICODE
since I have not looked into that. Maybe someone else can add some more
light to the subject. I know I struggled with this trying to support
other languages and character sets. You have three parts (data entry,
program source code, data base).

Troy


Paul Ogborne wrote:
> Hi, I would welcome other peoples thoughts and experiences on 'full'
> UNICODE z/OS V8 subsystems please (i.e. where ENSCHEME and APPENSCH
> are both set to UNICODE in zparms). So far, I have only installed one
> z/OS V8 subsystem as above but found few details about anything that
> needs to be done differently (if anything). In addition, documentation
> mentions adding rows into SYSSTRINGS and also z/OS Conversion Services
> but there doesn't seem to be a lot of information regarding which and
> when that I have found. We are a UK shop but supporting Europe, the
> Far East and the US. No doubt we will need to develop and ship to/from
> UNICODE and EBCDIC and convert too. I have one z/OS V9 subsystem but
> am planning more, any implications please? Are there any good redbooks
> (apart from the Internationalization Guide) that I have missed or good
> experiences out there please? Thanks, Paul.
> The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L
> list archives, the FAQ, and delivery preferences are at _ www.idug.org
> < http://www.idug.org/lsidug > _ under the Listserv tab. While at the
> site, you can also access the IDUG Online Learning Center, Tech
> Library and Code Place, see the latest _ IDUG conference information
> <%20 http://www.idug.org/lsconf > _, and much more.
> If you have not yet signed up for Basic Membership in IDUG, available
> at no cost, click on _ Member Services <%20 http://www.idug.org/lsms > _

The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L list archives, the FAQ, and delivery preferences are at http://www.idug.org/lsidug under the Listserv tab. While at the site, you can also access the IDUG Online Learning Center, Tech Library and Code Place, see the latest IDUG conference information, and much more. If you have not yet signed up for Basic Membership in IDUG, available at no cost, click on Member Services at http://www.idug.org/lsms

Peter Vanroose

Re: UNICODE experience?
(in response to Troy Coleman)
> If you are using ISPF or CICS and the terminal is encoded let's
> say 1026 for Turkey. Then data will be translated from the data
> entry point into what your program needs.

Actually, it's not ISPF which decides about the codepage used by
the compiler, but the compiler itself.
Use (pre)compiler option CODEPAGE(1026) to let the precompiler
interpret SQL text (like data constants, i.e., SQL text in '...')
as if it were codepage 1026. The precompiler will then *convert*
this *SQL* to UNICODE (into the DBRM). Also, host variables and
returned text data (as long as it is not "for bit data") will be
passed from & to the program in codepage 1026 (irrespective of the
data encoding), hence conversion will happen wherever necessary.

-- Peter.














--


__________________________________________________________
Går det långsamt? Skaffa dig en snabbare bredbandsuppkoppling.
Sök och jämför hos Yahoo! Shopping.
http://shopping.yahoo.se/c-100015813-bredband.html?partnerId=96914325

The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L list archives, the FAQ, and delivery preferences are at http://www.idug.org/lsidug under the Listserv tab. While at the site, you can also access the IDUG Online Learning Center, Tech Library and Code Place, see the latest IDUG conference information, and much more. If you have not yet signed up for Basic Membership in IDUG, available at no cost, click on Member Services at http://www.idug.org/lsms

Troy Coleman

Re: UNICODE experience?
(in response to Peter Vanroose)
Hi Peter,
Actually you are correct I was not clear on what I was trying to say.
The codepage(1026) will take a literal in your source code like the @
character which is X'7C' in codepage 37 and look it up in the 1026
codepage and return a character that looks like similar to $. But if
you edit your code using codepage(1026) the @ would be X'AE' and then
using the CODEPAGE(1026) the correct value would be found. What we had
to do was move all our literals into variables and use codepage services
to handle the conversion but in some cases we needed the x'7C' to stay
since codepage 37 is the only valid codepage for file names in z/OS.

Sorry to cause confusion, I know I could not find much help on this
topic myself.
The key is try not to use literals in your code especially '@', '#' and '$'.

-- Troy


Peter Vanroose wrote:
>> If you are using ISPF or CICS and the terminal is encoded let's
>> say 1026 for Turkey. Then data will be translated from the data
>> entry point into what your program needs.
>>
>
> Actually, it's not ISPF which decides about the codepage used by
> the compiler, but the compiler itself.
> Use (pre)compiler option CODEPAGE(1026) to let the precompiler
> interpret SQL text (like data constants, i.e., SQL text in '...')
> as if it were codepage 1026. The precompiler will then *convert*
> this *SQL* to UNICODE (into the DBRM). Also, host variables and
> returned text data (as long as it is not "for bit data") will be
> passed from & to the program in codepage 1026 (irrespective of the
> data encoding), hence conversion will happen wherever necessary.
>
> -- Peter.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
>
>
> __________________________________________________________
> Går det långsamt? Skaffa dig en snabbare bredbandsuppkoppling.
> Sök och jämför hos Yahoo! Shopping.
> http://shopping.yahoo.se/c-100015813-bredband.html?partnerId=96914325
>
> The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L list archives, the FAQ, and delivery preferences are at http://www.idug.org/lsidug under the Listserv tab. While at the site, you can also access the IDUG Online Learning Center, Tech Library and Code Place, see the latest IDUG conference information, and much more. If you have not yet signed up for Basic Membership in IDUG, available at no cost, click on Member Services at http://www.idug.org/lsms
>
>
>

The IDUG DB2-L Listserv is only part of your membership in IDUG. DB2-L list archives, the FAQ, and delivery preferences are at http://www.idug.org/lsidug under the Listserv tab. While at the site, you can also access the IDUG Online Learning Center, Tech Library and Code Place, see the latest IDUG conference information, and much more. If you have not yet signed up for Basic Membership in IDUG, available at no cost, click on Member Services at http://www.idug.org/lsms