Using the CEEOPTS DD statement

Language Environment allows you to provide additional invocation-level runtime options using the CEEOPTS DD statement. The CEEOPTS DD can refer to an in-stream data set, regular sequential data set, or a member of a regular or extended partitioned data set. If specified, the data set must be available during initialization of the enclave so the options can be merged. To specify the CEEOPTS DD statement, use the following syntax, as appropriate.

Situation Syntax to use
For in-stream JCL
//CEEOPTS   DD  *
ALL31(OFF),STACK(,,BELOW)
For a sequential data set
//CEEOPTS   DD DSN=MY.CEEOPTS.DATASET,DISP=SHR
For a partitioned data set
//CEEOPTS   DD DSN=MY.CEEOPTS.DATASET(MYOPTS),
//          DISP=SHR
To ignore the DD statement
//CEEOPTS   DD DUMMY

Before using the CEEOPTS DD statement, review the following restrictions:

  1. The CEEOPTS DD supports only DASD data sets that can be read with QSAM. An informational message is issued when an unsupported data set type is used.
  2. Only the first 3K (excluding comment lines) of the CEEOPTS file are read. All other information is ignored.
  3. The file must be in fixed-block or fixed format. Variable block format is not supported.
  4. The CEEOPTS DD is ignored under CICS, SPC, and for an exec()ed program.
  5. Language Environment cannot use a CEEOPTS DDNAME dynamically allocated with the XTIOT, UCB nocapture, or DSAB-above-the-line options specified in the SVC99 parameters (S99TIOEX, S99ACUCB, S99DSABA flags).
As Figure 1 shows, the syntax of the runtime options within the CEEOPTS DD statement is similar to the syntax used on the JCL PARM= parameter or under TSO.
  • Each record in the CEEOPTS DD is concatenated to form one options string. No implicit space is added between lines.
  • Options must be separated by commas or blanks and can span multiple lines.
  • A trailing slash (/) is not valid to denote the end of the options string.
  • Input lines that begin with an asterisk (*) in column 1 are treated as comments and ignored.
  • The last 8 columns of each record are treated as sequential information and ignored.
Figure 1. Example syntax for the CEEOPTS DD statement
****** **** TOP OF FILE *** 
000001 * This line is a comment 
000002 ALL31(OFF),STACK(,,BELOW) 
000003 TRAP(ON, 
000004   NOSPIE 
000005 * This line is a comment within an option 
000006 ),TERMTHDACT( 
000007 UAIMM, 
000008 CICSDDS,96) 
****** *** END OF DATA ***

The Language Environment runtime options report identifies the options merged from the CEEOPTS DD source by using DD:CEEOPTS as an indicator. For an example of the options report, see z/OS Language Environment Debugging Guide.