When you specify DISP=OLD for a PDS or a PDSE, and you also specify a member name in the DSNAME parameter, the data set must already exist. If the member name already exists and the data set is opened for output,the system replaces the existing member with the new member. If the member name does not already exist and the data set is opened for output, the system adds the member to the data set.
I think the above quote's will make you to understand.To be more clear,If the version of the GDG is not there it will create a new version with the given SPACE parameters when coded with DISP=OLD.
Nice standards you have - an output file allocated to FILEIN DD
I think that you can actually change the space allocation parameters when writing to a pre existing file, but it will only work for secondary allocations.
OK, why have you created the GDG in a different job when you are going to write to it in another job, what is the point of that. You are using up at least 150 cylinders of DASD resource until the job that writes to the GDG is processed.
Why not create the GDG version when it is written to, and then you can use the RLSE parameter to make sure that you do not hold and waste any unused DASD resource.
And if your storage group have got things set up correctly your GDG will have immediate free space release via DFSMSsms, and if it is empty will be just ONE cylinder in size.