What is the difference between PROC & PGM used in JCL.
I think pgm is a utility while PROC is pretested JCL statements.
proc contains jcl statements used to make only load module of a program.
please correct me .
What you have said and the other replies are perfectly right.
Just to add a little more...
Programs can reside in system libraries (datasets usually named SYS1.LINKLIB), in temporary libraries, and in private (user defined) libraries. A program must be a member of a partitioned dataset.
If the program name cannot be found in the libraries the job terminates abnormally.
Procs can be catalogued or instream and not necessarily restricted to making load module of a program.
( while coding we may also code //stepname EXEC PROC=procname , but usually no one does)
A little correction: Program must always to be a compiled load module. Even and interpreted program (REXX, EZTRIEVE, NATURAL) runs through some interpreter - which is a load module by itself. Instream programs also link-edited and become load modules before the "go" step.