In CICS®, translation of terminal user-input to uppercase characters can be done either by using the UCTRAN option on the PROFILE and TYPETERM definitions, or by using the EXEC CICS SET TERMINAL(termid) UCTRANST command.
However, some languages have characters which are not part of the set of EBCDIC characters translated by UCTRAN, and so are never translated to uppercase, regardless of what you have specified on your resource definitions. To translate these national characters, you have two options:
Whichever method you use, the Character Data Representation Architecture Level 1 - Registry manual, SC09-1391-00, is a useful reference for information on code pages.
XZCIN is described on page 121. To use it for uppercase translation, you must supply your own translation routine, which is then invoked when terminal input occurs.
To translate national characters which are not handled by UCTRAN, you can modify the translation table in the terminal control table.
If you use RDO for all your terminals and have TCT=NO specified in your SIT or its overrides, CICS uses the dummy TCT, DFHTCTDY, to create control blocks for RDO-defined and autoinstalled terminals. It is not recommended that you modify DFHTCTDY directly. Instead, take a copy of the DFHTCTDY source file, save it under a new name, and modify the copy. The steps you need to follow are:
Figure 114 shows a suggested way to code the assembler source statements to translate your national characters.
MACRO
NATLANG
DFHUCTRT CSECT Resume UCTRAN table CSECT
.*
.* This example translates lowercase 'a' ( EBCDIC X'81') to
.* uppercase 'A' (EBCDIC X'C1') for a US code page.
.*
ORG TCZUCTAB+X'81' Reset the counter to the
character to be translated.
DC X'C1' Declare the replacement
character as a constant.
.*
.* Repeat the above two statements for each extra character you wish
.* to be translated.
.*
ORG , Reset the location counter
&SYSLOC LOCTR Resume previous location counter
MEND End of macro definition
DFHTCT TYPE=INITIAL,SUFFIX=xx, *
MIGRATE=COMPLETE, *
ACCMETH=(VTAM), *
DUMMY=DUMMY
NATLANG Execute NATLANG
DFHTCT TYPE=FINAL
END DFHTCTBA