Hi: The "universal" template idea won't work, unfortunately. Every procedure (except for PRINT, REPORT and TABULATE) has a separate output object with a required name for example, the required name for the QUANTILES table in PROC UNIVARIATE is Base.Univariate.Quantiles -- you cannot change that name -- every time you run UNIVARIATE and get Quantiles this is the template for this object that is going to be used. You can't make a "universal" template because every output object "knows" what unique template name it needs to be created from. So you'd need a modified PROC FREQ template, a modified PROC REG template, a modified UNIVARIATE template and not just a modified UNIVARIATE template, but a modified QUANTILES template, a modified EXTREMEOBS template, a modified TESTSFORLOCATION template, etc, etc ..and then what if...off the wall, somebody decides to use your "universal" idea for PROC GLIMMIX and you didn't account for that?? Rather than 1 universal template as you envision, you'll end up with needing a modified template for each procedure and each output object created by a procedure, that you want to change AND you'll have to make sure that everybody can use the template store where you write the templates so everybody can access them. Each procedure creates output objects and each output object is linked to a specific table template which dictates things like order of columns, intermediate headers, placement for notes, formats for numbers, etc. You have to change the TABLE template for EACH procedure and each output object to suit what you want. Far easier, in my opinion, to teach folks ODS OUTPUT to grab the table information they want for their output object of interest (after the procedure is done with it) and then use PROC PRINT/PROC REPORT. For example, with PROC UNIVARIATE, and QUANTILES, you'd do something like this:
title 'Some Title';
ods noproctitle;
ods select quantiles;
ods output quantiles=work.carquant;
proc univariate data=sashelp.cars;
var mpg_highway;
run;
proc report data=work.carquant;
Column ('Quantiles (Definition 5)' Quantile Estimate);
define Quantile / 'Level' order order=data style(column)=Header;
define estimate / 'Quantile' display;
run;
Cynthia
... View more