What it means
Abend 306 is raised when the system fails to bring a program into storage on request. The hexadecimal reason code that comes with it decides the real cause, so always read it first.
Several reasons are security related. Reason 30 means the user is not allowed to run a RACF-protected program in the current environment, and reason 34 means a program was started while a program-accessed data set was open and the program was not suitably protected or permitted. Other reasons are not about RACF at all, for example a z/OS UNIX external link whose target library is not APF-authorized (reason 0C, seen on older releases).
Typical causes
- Reason 30: the user is not on the access list of the program's RACF PROGRAM profile.
- Reason 30: a program that must run protected is combined with an unprotected program in the same address space.
- Reason 34: a program was run while a program-accessed data set was open and the program or user/program pair was not allowed.
- Reason 0C: a z/OS UNIX external link points to a module in a library that is not APF-authorized.
- Reason 40: with FIPS signature checking, verification of a System SSL module failed after IBM's signing certificate expired (fixed by a PTF).
How to fix it
- Read the reason code in the abend message or dump before anything else.
- For reasons 30 and 34, ask your security administrator to review the PROGRAM profile and access list through the normal process.
- After the security team changes PROGRAM profiles, a SETROPTS WHEN(PROGRAM) REFRESH is needed for the change to take effect.
- For reason 0C, ask the systems programmer whether the target library should be in the APF list.
- Search IBM support for the abend and reason code if it began after maintenance.
Example
Illustrative only; names and values are invented.
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=306 REASON CODE=00000030
ABEND IN PROGRAM PAYPGM1 STEP STEP010 JOB PAYJOB01