It's nothing to do with '.quit (or '.exit')' - as soon as the nested .run completes, the script goes back to the bteq script as opposed to the initial .run step as bmclare pointed out.
Does anyone have a solution for this?
According to the below, this is not possible:
"If you specify a RUN command within a run file, BTEQ switches and begins reading from the new file; BTEQ does not return to the previous file."
I would recommend coding the solution within the script itself rather than nesting the RUN commands.
Thanks Heps - I found this myself in the manual and will raise with Teradata to see if any plans to change this functionaility (seems like a big loss within BTEQ).
The easiest solution is to make the scripts less dynamic unfortunately. Thanks anyway.