script search order
scripts and programs searched for after command is known to not be a UDC and to not be a built-in command
same order for scripts and for program files
fully or partially qualified names are executed without qualification
unqualified names are combined with HPPATH elements to form qualified filenames:
- first match is executed
- filecode = 1029, 1030 for program files
- EOF > 0 and filecode in 0..1023 for script files
- to execute POSIX named scripts a POSIX named directory must be present in the HPPATH variable
Notes:
- HPPATH can contain POSIX names, e.g.. “/bin, /usr/bin/local” etc., mixed with or not mixed with traditional MPE group and group.account names.
- Typically script names should be chosen to not collide with UDC names nor with built-in command names.
- Qualifying a script name that is also a UDC or built-in command name does not work. For example, suppose you have a script named ABORTIO, which is also the name of a CI command,and this script resides in the XEQ.SYS group. If you enter: :abortio.xeq.sys 17,20you will see this CI error: ABORTIO has exactly one parameter, the device number. (CIERR 3027)
Why? The CI is really executing the built-in ABORTIO command and passing the arguments: “.xeq.sys”, “17”, “20”. The CI has “strange” name parsing rules for reasons of MPE V compatibility, and decides the command name ends on the first non-alpha character -- “.” in this case. Thus, the command name is “ABORTIO” and the first parameter is “.xeq.sys”. The ABORTIO command only expects a single LDEV number and thus reports the above error.The remedy is to use the XEQ command which expects its first parameter to be the name of a script or program file. :xeq abortio 17, 20 or :xeq abortio.xeq.sys 17, 20 works fine.