z/OS message

IKJ56500I: Command not found

IKJ56500I means TSO looked for the command you entered and couldn't find it anywhere it searches. It wasn't a load module in the program libraries, and it wasn't a CLIST or REXX exec in the libraries allocated to SYSPROC or SYSEXEC.

Other names for this code

Also written as IKJ56500I COMMAND NOT FOUND, IKJ56500, TSO command not found, IKJ56500I REXX, IKJ56500I CLIST.

What it means

When you type a command name at the READY prompt, or after TSO on an ISPF command line, TSO first looks for a program of that name. It searches the load libraries in your session, such as STEPLIB, ISPLLIB under ISPF, the link list and the link pack area. If it finds nothing, it tries the name as an implicit EXEC. It then looks for a CLIST or REXX exec member in the libraries allocated to SYSEXEC and SYSPROC, and in any library activated with ALTLIB.

IKJ56500I is the message when that last search also comes up empty. IBM puts it in the range of messages from the EXEC command processor. The message reads COMMAND name NOT FOUND, so check the name first. A typo is the simplest cause.

If you start the name with a percent sign, for example %PAYCHK, TSO skips the program search and goes straight to the CLIST and exec libraries. That is faster, and it stops TSO from running a program that happens to have the same name.

Common causes

  • The command name was mistyped.
  • The exec or CLIST is in a library that isn't allocated to SYSPROC or SYSEXEC in this session. Exec libraries added for an ISPF application with LIBDEF don't count, because LIBDEF doesn't change SYSEXEC or SYSPROC.
  • The command is a load module in a library that isn't in STEPLIB, ISPLLIB or the link list for this session.
  • The command works on one system but not another, because the logon procedure or the startup exec on each system allocates different libraries.
  • A product's REXX execs are in a library that its install steps say to add to SYSEXEC, and that step wasn't done for your user ID.

How to find the problem

  1. Check the spelling of the command name in the message.
  2. Run LISTALC STATUS, or TSO ISRDDN under ISPF, to see which libraries are allocated to SYSPROC, SYSEXEC, STEPLIB and ISPLLIB.
  3. In ISRDDN, use the member search (for example M PAYCHK) to see whether the name exists in any allocated library. ISRDDN LINKLIST searches the link list.
  4. Ask a colleague for whom the command works to run the same checks and compare the allocations.

How to fix it

  • Run the exec directly from its library to prove it works: EXEC 'PROD.REXX.EXEC(PAYCHK)' EXEC.
  • Add the library for your session with ALTLIB ACTIVATE APPLICATION(EXEC) DATASET('PROD.REXX.EXEC'), or concatenate it to SYSEXEC or SYSPROC.
  • For a load module, call it directly with CALL 'PROD.LOADLIB(PAYCHK)', or have the library added to your logon procedure or the link list.
  • Ask your systems team to add the library to the logon procedure or the startup exec so it is there in every session.
  • Use %name for execs and CLISTs to skip the program search.

What it looks like

READY
PAYCHK
IKJ56500I COMMAND PAYCHK NOT FOUND
READY

IBM documentation

IBM z/OS documentation. Use the documentation for your installed release.

This link opens the relevant IBM reference library or lookup instructions. Match the complete code and your installed product release; it is not a code-specific review.

Report a correction to WND Software.

Questions

Why does the command work in ISPF option 6 for my colleague but not for me?

Your sessions probably have different libraries allocated to SYSPROC, SYSEXEC or STEPLIB. Compare the allocations with ISRDDN.

I used LIBDEF to add my exec library. Why does TSO still not find the exec?

LIBDEF works on ISPF libraries such as ISPLLIB and ISPPLIB. For CLISTs and REXX execs use ALTLIB, or allocate the library to SYSPROC or SYSEXEC.

Is IKJ56500I the same as an S806 abend?

They are related. IKJ56500I is the TSO message when a command can't be found at all. S806 is the abend when a program tries to load a module that isn't in any library it searches.