Without a job scheduler, there is not really a way to guarantee job execution order -- that is the purpose of a scheduler. If you have JES3, you can use DJC to force job 1 to run before job 2. But if a second job 1 is submitted before job 2 runs and clears the DJC network, the second job 1 will be placed on operator hold and must be manually released.
Your best bet is probably to create a file with the last GDG number processed and have a program as part of job 1 read that file and submit job 2 to the internal reader with an absolute generation number instead of using the relative generation. If there is a requirement that the generations be processed in order, you either use a scheduler or you report back that the assignment is not possible as given.