Find how far each job step can be read

Proprietary

Report every job step with the program it runs, the procedure it came through, what its PARM passes position by position, where the control cards it is handed are written, and a verdict on whether all of that could be read from the source supplied — marking each EXEC card with the verdict its step reached. A step is a chain of names: the EXEC names a procedure, the procedure's cards name symbols, a symbol names the member a DD reads, and that member holds the cards the program really runs. RESOLVED says every link held and everything the step does is written in what was read; INHERITED says every link held and part of what it does is a setting written outside the application libraries; UNRESOLVED says a name was not followed at all. Only RESOLVED is safe to rewrite without asking anyone anything, which is what makes this the gate any change to a job has to pass first. AnalyzeExecutionPaths answers the same question and changes nothing.

io.moderne.mainframe.batch.FindExecutionPaths
mod run . --recipe=io.moderne.mainframe.batch.FindExecutionPaths

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.