Mixed String Validation

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.


Reference Reference

Feedback


Timestamp icon Last updated: Tuesday, 7 January 2014


http://pic.dhe.ibm.com/infocenter/cicsts/v5r1/topic/com.ibm.cics.rexx.doc//dfhrx/mixval.html