z/OS Language Environment Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


CEEXOPT coding guidelines for CEEROPT and CELQROPT

z/OS Language Environment Customization
SA38-0685-00

Be aware of the following coding guidelines for the CEEXOPT macro:
  • A continuation character (X in the source) must be present in column 72 on each line of the CEEXOPT invocation except the last line. The continuation line must start in column 16. You can break the coding after any comma.
  • Options and suboptions must be specified in uppercase. Only suboptions that are strings can be specified in mixed case or lowercase. For example, both MSGFILE=(SYSOUT) and MSGFILE=(sysout) are acceptable.
  • A comma must end each option except for the final option. If the comma is omitted, everything following the option is treated as a comment.
  • If one of the string suboptions contains a special character, such as an embedded blank or unmatched right or left parenthesis, the string must be enclosed in apostrophes (' '), not in quotation marks (" "). A null string can be specified with either adjacent apostrophes or adjacent quotation marks.

    To get a single apostrophe (') or a single ampersand (&) within a string, two instances of the character must be specified. The pair is counted as only one character in determining if the maximum allowable string length has been exceeded, and in setting the effective length of the string.

  • Avoid unmatched apostrophes in any string. The error cannot be captured within CEEXOPT itself; instead, the assembler produces a message such as:
    IEV03  *** ERROR ***  NO ENDING APOSTROPHE
    which bears no particular relationship to the suboption in which the apostrophe was omitted. Furthermore, none of the options are parsed properly if this mistake is made.
  • Macro instruction operands cannot be longer than 1024 characters. If the number of characters to the right of the equal sign is greater than 1024 for any keyword parameter in the CEEXOPT invocation, a return code of 12 is produced for the assembly, and the options are not parsed properly.
  • You can completely omit the specification of any runtime option. Options not specified are ignored at the time Language Environment® merges the options.
  • Any options specified must be designated as overridable (OVR) or nonoverrideable (NONOVR).

Performance considerations

For optimal performance when using CEEROPT or CELQROPT, code only those options that you want to change. Start of change This enhances performance by minimizing the number of options that Language Environment must merge at runtime. End of change Options and suboptions that are to remain the same as the defaults do not need to be repeated. For example, if the only change you want to make is to define STACK with an initial value of 64K and an increment of 64K, include only that runtime option, as shown in the following example:
CEEROPT CSECT
CEEROPT AMODE ANY
CEEROPT RMODE ANY
        CEEXOPT STACK=((64K,64K,ANYWHERE,KEEP,512K,128K),OVR)
   END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014