I’m a bit rusty on this.
I’m assuming you are using one job to create both scenarios?
I believe you can use an ‘<b>if’</b>’ statement between job steps.
If you can identify when a Saturday run is executed, then you can duplicate the job steps where this file is created. On all days, except Saturday, the output for this file is dumped into the current ‘(0)’ version of this file or a null file, and on Saturday, the other step is executed (based on the ‘if’ statement) and the next version ‘(+1)’ is created.
I think if you use catalogued procedures and symbolic variables, you can achieve the same thing while using only one job step. As an example, the variable for the GDG could be called &GDG1. and it would be stored in the JCL as DSN=??????(&GDG1). The default value for this variable would be GDG1=’0′. On Saturday, this variable (again using some type of key to indicate Saturday), change this variable to GDG1=’+1′.
Another technique is to use the deferred data name JCL statement. On Saturdays, this DD statement points to the +1 (new) version. On all the other days, it points to the current (0) version or a null file.
The key is to identify a Saturday run. Your ‘if’ job step could issue a return-code of 7, thus letting the rest of the job-steps know that this is a Saturday run.
Perhaps you can run a utility to check the day of the week, then issue a unique return-code?
Just some foggy recollections.