The parm definition would look something like this:<pre>
PARM KWD(STMFCODPAG) TYPE(*INT4) DFT(*STMF) +
RANGE( 1 32767 ) +
(*STMF -1) +
(*PCASCII -2) +
(*STDASCII -3) +
PROMPT(‘Stream file code page’)</pre>
The RANGE() parameter will restrict values that are entered by the user. There are also “special values” that may be entered — *STMF, *PCASCII and *STDASCII. If one of those is entered, the *CMD will translate it into the corresponding integer value.
It will be your program’s responsibility to recognize the three negative numeric values and to treat them appropriately. Since the only way that those values can appear in the parameter in your program is if they are translated from the “special values”, it will be easy to know what they mean.
You code a “special value” that way in order to handle them in numeric or date or similar types that won’t let you type them in normally.