On 1 February 2012 15:50, Kirk Wolf <k...@dovetail.com> wrote:
> OK, so I found a sneaky way of adding a new conversion table to Unicode
> Services to match TCPIP.STANDARD.TCPXLBIN.    Thanks again to Mark and John
> for getting me started..
>
> 1) Unless you want to modify SYS1.SCUNTBL, create a new PDS: HLQ.SCUNTBL
> with RECFM=F,LRECL=256,BLKSIZE=256

(Remember the unfortunate would-be AOL users from Scunthorpe in the
UK, years ago?  We surely won't have that problem on IBM-MAIN in
2012...
http://en.wikipedia.org/wiki/Scunthorpe_problem )

> 2) I wanted to create a new conversion from IBM-850 <-> IBM-037.   Looking
> these up in the manual, their two-character codes are EB (850) and AA (037).
>    For my new conversion, I'll use the conversion technique code "2".

An interesting pair of codepages. You might find recent APAR OA37099
and its PTFs UA62130/UA62131, followed by OA38383 and UA63909/UA63910
of some interest. The first APAR *removes entirely* several hundred
translations of technique "L" from Unicode services, and the second
puts them back as technique "M" tables. The APAR texts are less then
enlightening, and there is no PE on the first, nor are they marked as
connected in any obvious way. The PTFs for the first were shipped as
routine maintenance, and broke character conversion for applications
using the iconv() service with codepage pairs like yours. Several of
our customers had "Monday morning" problems when they promoted these
PTFs into production, and the iconv() results suddently changed. Well,
the second "fix" seems to put things back about they way they were,
but there's no hint about what the whole exercise was for.

This is the old issue of line ending conversion: does NL go to LF or
to NEL, and so on. Reasonable people can agree to disagree on this,
but I'm not sure it's reasonable that the customer's Unicode services
configuration, let alone IBM maintenance should change the result of a
conversion that has been working the same way for 10+ years. But I'm
sounding grumpy, I'm sure...

Your example of the same codepage pair we are using, plus a conversion
technique in the user range (the "2") reminds me that I'm a little
nervous about the whole topic.

>    If you look at TCPIP.STANDARD.TCPXLBIN, you will see that it has three 
> records -
>    1) a comment
>    2) the 256-byte ASCII->EBCDIC table
>    3) the 256-byte EBCDIC->ASCII table
>
>   a) create a new member CUN2EBAA  (850->037, TECH=2)
>
>      copy the first non-comment record from TCPIP.STANDARD.TCPXLBIN into this 
> member
>
>   b) create another new member CUN2AAEB (037->850, TECH=2)
>
>      copy the second non-comment record from TCPIP.STANDARD.TCPXLBIN into 
> this member
>
>  3) To activate your new conversion tables:
>
>      setuni add,from(037),to(850),TECH(2),DSN(HLQ.SCUNTBL)
>      setuni add,from(850),to(037),TECH(2),DSN(HLQ.SCUNTBL)
>
>      (You would also want to update PARMLIB(CUNUNIxx) to include these add 
> statements)

How are you expecting a user conversion technique to fit into your or
a customer's environment? In other words, how will the fact that you
want a different conversion for these codepage pairs to be used be
communicated to the program? Will it explicitly request a technique 2
conversion, or is it expected that things will fall through to
technique 2 because of the system configuration? Are you using iconv()
or calling the Unicode services directly?

>  4) verify with iconv that it works.  We have a simple utility in Co:Z that 
> will display single byte translate tables:
>
>> *showtrtab -s IBM-850 -t IBM-037 -q 2*

What does that call internally?

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to