You can also specify compile options in the PARM clause fo the EXEC JCL
stmt that executes the compiler step.
It's worth noting that some options shouldn't be specified in the CBL stmt preceding the pgm code. LIST and SSRANGE are good examples.
Because option values stated in the CBL stmt override those stated in the JCL PARM. Since SSRANGE is used by developers for debugging and its reputation as performance degrader it's not a good idea to use it in production. The LIST option provides the assembler expansion of all COBOL stmts producing an expanded listing.
On the other hand some options should (in my opinion) be invoked by the CBL stmt. Some options are required to allow a pgm to operate the way the developer desires (the TRUNK option comes to mind). I options like these are invoked in the JCL the need for them can be lost over time and execution errors can result (sometimes undetected!).