COMMAND NOT FOUND
You enter some TSO command. You understand search order and you know it’s there. So why do you get the message IKJ56500I COMMAND xxxx NOT FOUND ? Of course, the message doesn’t say xxxx, it says the name of the TSO command you wanted to run. What’s going on?
True this message is issued if the command is in fact not found in STEPLIB, the active LIBDEF, LPALIB etc., according to the program search order. But it also happens if it is there, but there is also some restriction in place to prevent the system from giving you the copy it has.
Couldn’t it give you a different message, or an extended message? NOT FOUND IN LPA, perhaps, or NOT AUTHORIZED FOR YOUR USE. Yeah, it could. It just doesn’t always.
So, to get to the bottom of your particular instance, here are some places you can look (or get someone responsible for setup to look).
It can happen if there is an ISPF Command Table (usually the ISPF ISPTCM table), and that table specifies that this particular TSO command has to be invoked in some particular way; for example, that it can only come from LPA. (See preceding article on Program Search Order to find more information on ISPF Command Tables.) In such a case, the system only looks where the table tells it to look. Then it stops looking. So the message is accurate – the command was not found – but it does seem a bit misleading. So, check for command tables.
If the PCF (Program Control Facility) feature of RACF is in use (ENHANCED rather than BASIC program security mode), and if the particular TSO command you’re trying to run is defined in the PROGRAM class with some special attributes, or if a rule requires that program xxxx must be executed from a particular load library and that isn’t the load library where the command actually resides. This can happen when new versions are installed.
The message can also occur if the command was prefixed with the percent (%) prefix (e.g. %xxxx) and the command is not a CLIST. The % prefix limits the search to CLISTS only. As a variation on this, the command can be defined as a CLIST in a Command Table, and the same thing happens as if you had used the percent prefix.
You may be amused, as I was, to know that this type of thing happened with the IBM-distributed SDSF in 1999, as mentioned at this IBM link:
To quote directly from the above link:
Installations executing SDSF from LPA must add command 'SDSF' to the ISPF TSO command table, ISPTCM, if message 'IKJ56500I COMMAND SDSF NOT FOUND' is received when SDSF is invoked with command 'TSO SDSF' from ISPF.
This is not an exhaustive list of the possibile causes of this annoying message, but it covers the most likely.