z/OS TSO/E REXX Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Mixed String Validation

z/OS TSO/E REXX Reference
SA32-0972-00

The validation of mixed strings depends on the instruction, operator, or function. If you use a mixed string with an instruction, operator, or function that does not allow mixed strings, this causes a syntax error.

The following rules must be followed for mixed string validation:
  • DBCS strings must be an even number of bytes in length, unless you have SO and SI.
EBCDIC only:
  • SO and SI must be paired in a string.
  • Nesting of SO or SI is not permitted.
These examples show some possible misuses:
'ab<cd'       ->    INCORRECT - not paired
'<.A<.B>.C>   ->    INCORRECT - nested
'<.A.BC>'     ->    INCORRECT - odd byte length

The end of a comment delimiter is not found within DBCS character sequences. For example, when the program contains /* < */, then the */ is not recognized as ending the comment because the scanning is looking for the > (SI) to go with the < (SO) and not looking for */.

When a variable is created, modified, or referred to in a REXX program under OPTIONS EXMODE, it is validated whether it contains a correct mixed string or not. When a referred variable contains a mixed string that is not valid, it depends on the instruction, function, or operator whether it causes a syntax error.

The ARG, PARSE, PULL, PUSH, QUEUE, SAY, TRACE, and UPPER instructions all require valid mixed strings with OPTIONS EXMODE in effect.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014