× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



David FOXWELL wrote:

This is a subject that everyone seems to ignore here and I will
be informing everyone.

I would just like to be clear in my own head as to what happened.

Our system is set to CCSID 65535. A programmer wrote some code
containing the <!!> characters to replace <concat>. I'm assuming
he used these characters as he found it had the result that he
would have wanted from the characters <||>. The Robot SYSAUTO
submitted the jobs running this program with the same CCCSID, and
so no problem. Then AUTOMATOR was introduced causing SYSAUTO to
run with CCSID 297 (I'm not sure how). The program actually
running the SQL instructions saw something other than <!!>.

I realise that we <should> be on CCSID 297, but surely there
would be issues if we just changed now. Also, there could be
other problems as AUTOMATOR takes over from SYSAUTO. Unless we
use 65535 for that as well...

I'd be glad if someone could confirm what I've written or put me
right here.


To anyone that had not been accustomed to using the exclamation symbol in place of the bar symbol, having done so in order to make the SQL function, should have been an glaring indication something was afoul. In that case, the problem would best have been addressed then, instead of delaying. Although using CONCAT avoids the issue altogether, simply changing to use CONCAT in place of the exclamation symbols would merely be a circumvention, to an error in either or both of the CCSID tagging of and use of the source data. Note however that using !! would seem /normal/ to some people who might even have seen documentation many years ago where using those characters would have been described as valid; e.g. pre v2r1m1 as I recall.

Realize that both the CCSID of the job and the CCSID of the source which defines the SQL statement are relevant in what transpired. If the source were also to be tagged as *HEX [aka 65535], then changing the job CCSID probably would not have had any impact. When either half of the equation is *HEX, that implicitly is a request to treat the character data as [hex] code points, not as /characters/ [which humans understand visually by their glyph].

Multi-lingual installations will likely have _some_ problems changing from QCCSID of *HEX to another value, except when all users had previously been created or changed to use their preferred CCSID; i.e. the QCCSID was already made irrelevant for lack of any user defaulting to CCSID(*SYSVAL). The failing scenario originating this thread is just one such example. If such a problem happened with SQL, the problem is likely to exist also, in source of other languages.

Uni-lingual installations where data is USA-like, English language centric, changing from *HEX to CCSID(37) is rarely much of an issue. However all of the same cautions and diligence are required to prevent the change from having some data manifest as incorrect output. That so few failures occur in transitions noted by those in the USA is more likely due to having few or no multi-language support requirements, than for their data having been properly tagged along with their then more appropriately established environment with whatever non-hex CCSID.

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.