The File Manager SET function is used to change various File Manager options that affect the processing
of other File Manager functions. It can RESET the options, which sets them all to the current defaults as defined in the
File Manager options table. And per the documentation, it is supposed to be able to LIST the processing options currently in effect,
but that doesn't actually work.
When SET is used in a File Manager batch job, it has local effect: it only affects the subsequent batch functions.
SET can also be used in “keyword” mode (e.g. “FILEMGR $SET”), which sets the File Manger processing options in the
ISPF profile for the current application, which may or many not be File Manager. Processing options are destructive and
persistent: if SET is used this way in a File Manager application, they change that application's settings and affect future
File Manager functions, both via ISPF menus or other File Manager keyword functions. If used this way in a different application,
they affect any future File Manager functions executed in that application.
Keyword mode is of particular interest, since for certain File Manager options, the SET command is the only way to execute
other File Manager functions with the desired processing modes. For example, let's say a developer wants to use a File Manager
function in keyword mode from within an exec (address TSO “FILEMGR $function”) and wants the output to go a REXX stem variable.
This is controlled by the PRINTOUT option, but that option can only be set by the SET function. If the developer just executes the
File Manager function, the PRINTOUT option's value would not be known; it could have been changed by some previous command.
So, the developer would need to first do address TSO “FILEMGR $SET PRINTOUT=REXX”, but that would change this option in the application
going forward. The same goes for any of the other processing options that affect function behavior. And, if the exec is executed
in File Manager's application (which in some cases it must be for proper functionality), using SET could change the *user's* settings.
Therefore, this enhancement request is to add some additional keyword options to the SET function:
LIST: SET LIST would list the current values of all of the SET processing options:
SET with no other values would default to SET LIST, i.e. SET by itself would just list the options
SET with some other parm (e.g. SET HEADERPG=NO) would default to NOLIST
SET LIST with or without other parms would list the options in addition to other processing. For example,
SET LIST,PAGESIZE=50 would set the pagesize to 50 and then list the options
EXPORT: SET EXPORT would save the current processing options in a form that is machine-readable, e.g. could be processed by an exec.
SAVE and RESTORE: As mentioned above, using SET as a keyword instruction is destructive and persistent; it changes
whatever the current option in the profile is, even though the developer may just want to change it for the use by one
function execution. SAVE and RESTORE would save the current settings, and RESTORE would restore them. (How they are saved
and restored is up to IBM – perhaps there is just one command for SAVE/EXPORT, and RESTORE restored form the exported version.)
DELETE: There is a RESET option, but what it does is actually SET all the options to their current defaults. This “bakes” the
options in; if the options table is later changed, the new defaults won't be used. What SET DELETE would do (or some other
keyword to this effect) is delete all of the processing options from the profile so that the next File Manager function starts from scratch.