Created On:  11 February 2011

Problem:

By default, the definition of the figurative constant HIGH-VALUES is hex FF.  Users may want to change this, particularly users of the Native Language Set (NLS) feature.  In native languages, such as Spanish or French, the collating sequence is different and there may be a more appropriate definition for HIGH-VALUES than the default hex FF.

Resolution:

The following COBOL program sets HIGH-VALUES to the uppercase letter A, which is the 66th character of the ASCII sequence if you begin counting from 1 rather than from 0.   Following the same method as this example, HIGH-VALUES may be set to any character, if the user knows the location of the character in the ASCII sequence starting from 1.   It may even be set to characters beyond the end of the ASCII sequence, up to 255.   The OVERRIDE compiler option does not necessarily have to be specified in a $set statement in the source code.   Instead, it may be specified on the cob command line, or by any other method for setting compiler directives.

     1$set override (high-values)==(my-high-values)
     2  special-names.
     3  symbolic high-values 66.
     4  working-storage section.
     5  77 item1 pic x(5).
     6  procedure division.
     7  move high-values to item1.
     8  exhibit named item1.

The figurative constant HIGH-VALUES can be changed from its default of hex FF, through the use of the OVERRIDE compiler directive and the SPECIAL-NAMES paragraph.
Incident #2071212