When a logical file is keyed on a field which contains mixedcase (that is, a mixture of upper and lowercase), it doesn't always sort the way you might want it to. The reason for this is that lowercase letters always come before uppercase letters in the EBCDIC collating sequence. So what you end up with is lowercase "a" through "z" followed by uppercase "A" through "Z."
To correct this problem the field can be translated to uppercase before being indexed. The way to accomplish this is to use the logical file DDS keyword RENAME and TRNTBL as shown in 1.
To correct this problem the field can be translated to uppercase before being indexed. The way to accomplish this is to use the logical file DDS keyword RENAME and TRNTBL as shown in Figure 1.
Field CTDESC contains mixedcase text. Field CTCAPS contains a capitalized version of CTDESC. Notice that the field is keyed on CTCAPS. When the file is read in keyed sequence and field CTDESC is presented, the data appears to be more naturally sorted. All records starting with upper or lowercase "A" will be together, followed by all records starting with "B," and so on.
-- Robin Klima
TechTalk: Indexing Mixedcase Fields
Figure 1 Using RENAME and TRNTBL in DDS
Figure 1: Using RENAME and TRNTBL in DDS ....1.... ....2.... ....3.... ....4.... ....5.... ....6.... ....7.... A R CTREC PFILE(CATGRY) A CTDESC A CTCAPS I RENAME(CTDESC) A TRNTBL(QSYSTRNTBL) A K CTCAPS ....1.... ....2.... ....3.... ....4.... ....5.... ....6.... ....7....
LATEST COMMENTS
MC Press Online