What it means
When a TSO command or a program started from TSO abends, TSO catches the failure, prints IKJ56641I with the command or program name, and returns you to READY. The message is a wrapper. The real error is the abend code, and the message doesn't show it straight away.
The plus sign at the end of the line means TSO has more to say. Type ? at the READY prompt and press Enter. TSO then shows a second line with the system abend code and reason code, or the user abend code. Look that code up, because that is the error you need to fix.
Read the lines above IKJ56641I too. The program, Language Environment or z/OS often writes a more specific message just before it, such as CSV003I for a missing program or ICH408I for a security refusal.
The I at the end of the message number stands for informational. By the time you see it, TSO has already returned to READY.
Common causes
- The program or one of the modules it calls wasn't found. The abend is S806, and CSV003I names the missing module.
- The program itself failed with a program check, such as S0C4 (storage it couldn't reach), S0C7 (bad numeric data) or S0C1.
- A data set problem stopped it, for example S013 when a file's attributes conflict, S913 when RACF refused access, or SB37 when an output data set ran out of space.
- The TSO session's region was too small for the program, giving S878 or S80A. The region comes from the SIZE value at logon.
- The program ended itself with a user abend, such as U4038 from Language Environment.
How to find the problem
- At the READY prompt, type
?and press Enter. Write down the abend code and reason code it shows. - Scroll back and read the messages printed before IKJ56641I. They often name the module, data set or resource involved.
- If you don't see message IDs at all, type
PROFILE MSGID. TSO then shows the ID in front of each message, which makes them easier to look up. - If you need a dump to find the failing instruction, allocate a SYSUDUMP file before you run the program again, or check whether Language Environment wrote a CEEDUMP.
- If you're in ISPF and need to know which libraries your session uses, enter
TSO ISRDDNto list every allocated file and its data sets.
How to fix it
- Fix the cause the abend code points to. Each code has its own page in this library, linked below.
- For S806, check the program name and make sure the library that holds it is allocated to your session, for example through STEPLIB, ISPLLIB or the CALL command's data set name.
- For S878 or S80A, log on again with a larger SIZE value, within the maximum your RACF profile allows.
- For S913, send the ICH408I message to your security administrator and ask for the access you need.
- If an IBM or vendor command abends again and again, give your systems programmers the full text of both lines and the abend code. They may ask for a dump.
What it looks like
READY CALL 'TEST.PAYROLL.LOADLIB(PAYEXTR)' IKJ56641I PAYEXTR ENDED DUE TO ERROR+ READY ? IKJ56641I SYSTEM ABEND CODE 0C4 REASON CODE 00000004 READY