GTL templates are pretty much only used by Proc SGRender. There is something called Data Step Graphics Interface, I'm not sure if it survived past SAS 9.2 or not, but that uses graphic primatives and I would hate to have to work out something to attempt to mix the graphics output and something else in the same data step.
The example I mentioned could replace the SGPlot with SGrender as that was a very generic outline for generating output.
Remember the nice things about computers is they do the repetitive work. You could stuff all of the PDF generation into one largish data _null_ with lots of calls to call execute. The example I provided with the one line of proc per Call Execute call was to be very explicit. If you have lots of boilerplate you can put it into large sections with one Call Execute and only have the bits where parameters change.
For instance with a Proc Report step that the only change is the Where clause you could likely get by with 3 call executes: the first for the proc statement and options, second for the Where clause and third all of the rest in a single call execute:
call execute ('line of code; second line of code; third line of code; repeat until; run;');
If you intersperse the text or table generating bits with the graphs in the correct order within an ODS sandwich then your report is basically finished.
With some ODS text statements and mixing table procs like Tabulate, Print and Report plus some graphs I have completed reports of a 100 or so pages with thirty odd tables intermixed with about 50 graphs.
... View more