What it means
When a program is called, linked to or loaded, the system finds it in a library and checks that it can be run. If the binder marked the module, or the alias being used, as not executable, the request fails with 706 and message CSV016I naming the module.
This is not a missing-module problem like 806. The member exists, but the last bind did not produce something the system is allowed to run.
Typical causes
- The binder marked the module, or one of its aliases, not executable when it was last built.
- An alias was left in a different text class from the main entry point after the program object was reprocessed, for example by a zap.
- A job picked up a broken copy from an earlier library in STEPLIB or JOBLIB.
- The program is called by an alias that no longer points to a valid entry point.
How to fix it
- Find CSV016I in the job log and note the module name.
- Check which library the module came from; it may be an older or broken copy.
- Look at the bind listing for that module, correct what it reports, then bind it again.
- If it fails only through an alias, recreate the alias and rerun.
- Search IBM support if the module or alias was changed by a service tool such as a zap.
Example
Illustrative only; names and values are invented.
CSV028I ABEND706-04 JOBNAME=PAYJOB01 STEPNAME=STEP010
IEF450I PAYJOB01 STEP010 - ABEND=S706 U0000 REASON=00000004