
>>-OPTIONS--expression--;--------------------------------------><
OPTIONS passes special requests or parameters
to the language processor. For example, these may be language
processor options
or perhaps define a special character set.
The expression is
evaluated,
and the result is examined one word at a time.
The language processor converts the words to uppercase.
If the language processor recognizes the words,
then they are obeyed. Words that are not recognized are ignored
and assumed to be instructions to a different processor.
The language processor recognizes the following words:
- ETMODE
- specifies that literal strings
and symbols and comments
containing DBCS characters are
checked for being valid DBCS strings.
If you use this option, it must be the first instruction of the program.
If the expression is an external
function call, for example OPTIONS 'GETETMOD'(), and the
program contains DBCS literal strings, enclose the name of the
function in quotation marks to ensure that the
entire program is not scanned before the option takes
effect. It is not recommended to use internal function
calls to set ETMODE because of the possibility of errors
in interpreting DBCS literal strings in the program.
- NOETMODE
- specifies that literal strings
and symbols and comments
containing DBCS characters are not
checked for being valid DBCS strings.
NOETMODE is the default.
The language processor ignores this option
unless it is the first instruction in a program.
- EXMODE
- specifies that instructions, operators, and functions handle
DBCS
data in mixed strings on a logical
character basis.
DBCS data integrity is maintained.
- NOEXMODE
- specifies that any data in strings is handled
on a byte basis.
The integrity of DBCS characters, if any, may be lost.
NOEXMODE is the default.
Notes:
- Because of the language processor's scanning procedures,
you must
place an OPTIONS 'ETMODE'
instruction
as the first instruction in
a program containing DBCS characters in literal
strings, symbols, or comments.
If you do not place OPTIONS 'ETMODE'
as the first instruction and you use
it later in the program, you receive error message
CICREXX488E.
If you do place it as the first instruction of your program,
all subsequent uses are ignored.
If the expression contains anything that would start
a label search, all clauses tokenized during the label
search process are tokenized within the
current setting of ETMODE. Therefore, if this is the first
statement in the program, the default is NOETMODE.
- To ensure proper scanning of a program containing
DBCS literals
and DBCS comments,
enter the words ETMODE, NOETMODE, EXMODE, and NOEXMODE
as literal strings
(that is, enclosed in quotation marks) in the OPTIONS instruction.
- The EXMODE
setting is saved and restored across subroutine
and function calls.
- To distinguish DBCS characters from 1-byte EBCDIC
characters, sequences of DBCS characters are enclosed with a
shift-out (SO) character and a shift-in (SI) character.
The hexadecimal values of the SO and SI
characters are X'0E' and X'0F', respectively.
- When you specify OPTIONS 'ETMODE',
DBCS characters within a literal string
are excluded from the search for a closing quotation mark
in literal strings.
- The words
ETMODE, NOETMODE, EXMODE,
and NOEXMODE
can appear several times within the result.
The one that takes effect is determined by the last
valid one
specified between the pairs ETMODE-NOETMODE
and EXMODE-NOEXMODE.