CEEXOPT coding guidelines for CEEUOPT

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.
  • 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. ALL31=(off) is not 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 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 was 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:
    IEV063  *** ERROR ***  NO ENDING APOSTROPHE
    which bears no particular relationship to the suboption in which the apostrophe was omitted. Furthermore, none of the options are properly parsed 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 retain the current default values. There are two other methods available for omitting an option, as follows:
    • Specify the option with only a comma following the equal sign, for example:
      HEAP=,                                                       X
    • Specify the option with empty parentheses and a comma following the equal sign, for example:
      HEAP=(),                                                     X

    In either case, the continuation character (X in this example) must still be present in column 72.

  • You can completely omit any suboption of those runtime options which are included. Default values are then supplied for each of the missing suboptions in the options control block that is generated, and these values are ignored at the time Language Environment merges the options. You can use commas to indicate the omission of one or more suboptions for options having more than one suboption. For example, if you want to specify only the second suboption of the STORAGE option, the omission of the 1st, 3rd, and 4th suboptions can be indicated in any of the following ways:
    STORAGE=(,NONE),                                              X
    STORAGE=(,NONE,),                                             X
    STORAGE=(,NONE,,),                                            X

    Because suboptions are positional parameters, do not omit the comma if the corresponding suboption is omitted and another suboption follows.

  • Options that permit only one suboption do not need to enclose that suboption in parentheses. For example, the COUNTRY option can be specified in either of the following ways:
    COUNTRY=(US),                                                 X
    COUNTRY=US,                                                   X