Another way to specify options in the EXEC statement is by declaring all your options in an options file and coding the following:
//STEP1 EXEC PGM=IBMZPLI,PARM='+DD:OPTIONS'
This method allows you to provide a consistent set of options that you frequently use. This is especially effective if you want other programmers to use a common set of options. It also gets you past the 100-character limit.
The MARGINS option does not apply to options files: the data in column 1 will be read as part of the options. Also, if the file is F-format, any data after column 72 will be ignored.
The parm string can contain "normal" options and can point to more than one options file. For instance, to specify the option LIST as well as options from both the file in the GROUP DD and in the PROJECT DD, you could specify
PARM='LIST +DD:GROUP +DD:PROJECT'
The options in the PROJECT file would have precedence over options in the GROUP file.
Also, in this case, the LIST option might be turned off by a NOLIST option specified in either of the options files. To insure that the LIST option is on, you could specify
PARM='+DD:GROUP +DD:PROJECT LIST'
Options files may also be used under z/OS UNIX. For example, in z/OS UNIX, to compile sample.pli with options from the file /u/pli/group.opt, you would specify
pli -q+/u/pli/group.opt sample.pli
Earlier releases of the compiler used the character '@' as the trigger character that preceded the options file specification. This character is not part of the invariant set of EBCDIC code points, and for that reason the character '+', which is invariant, is preferred. However, the '@' character may be still be used as long as it is specified with the hex value '7C'x.