When you have a catalogues procedure and you call that proc in a job, you usually see parameters as part of Job and as part of proc as well.
Why do we specify that at both the places.
If nothing is specified in job (when calling the proc) then whatever is available in the proc will be used
If the symbolic parm is specified in both the job and the proc, then the parm value in the job takes precedence.
This is usually done when the same job is run multiple times like daily, weekly, monthly, quarterly. Proc can have symbolic parameter for the daily job. But if the same job is run during other frequencies, parameter related to that frequency can be placed in job so that it overrides whatever is in proc.
Even though the proc is having a value of D (Daily) for the parm FREQ, it will be overridden by the value in job (M – Monthly)
//STEP01 EXEC PROC01,FREQ=M
//PROC01 PROC FREQ=D
//STEP10 EXEC PGM=PGM01,PARM=’&FREQ’