/*-----------------------------------------------------------------
            S A S   S A M P L E   L I B R A R Y                   
                                                                  
      NAME: TEMPLEX5                                              
     TITLE: Documentation Example 5 for Template Modification     
   PRODUCT: STAT                                                  
    SYSTEM: ALL                                                   
      KEYS: graphics, ods                                         
     PROCS:                                                       
      DATA:                                                       
                                                                  
   SUPPORT: saswfk                UPDATE: July 25, 2011           
       REF: ods graphics                                          
      MISC:                                                       
     NOTES: This sample provides the DATA step and PROC code      
     from the chapter "ODS Graphics Template Modification."  It   
     does not provide most of the ODS statements and style        
     changes that are in the chapter.  Rather, this sample        
     provides code that can be run in one large batch to make     
     all of the graphs in the chapter.  If destinations were      
     repeatedly opened and closed, as in the chapter, then        
     output would be lost and rewritten.  Note that you should    
     not specify destination style changes without first          
     closing a destination.  Changing the style of the output     
     without first closing the destination will not work          
     as you might expect.  Do not do the following:               
                                                                  
        ODS HTML STYLE=STATISTICAL;                               
        . . . code . . .                                          
        ODS HTML STYLE=DEFAULT;                                   
        . . . code . . .                                          
        ODS HTML STYLE=ANALYSIS;                                  
        . . . code . . .                                          
                                                                  
     Instead, do the following:                                   
                                                                  
        ODS HTML STYLE=STATISTICAL;                               
        . . . code . . .                                          
        ODS HTML CLOSE;                                           
        ODS HTML STYLE=DEFAULT;                                   
        . . . code . . .                                          
        ODS HTML CLOSE;                                           
        ODS HTML STYLE=ANALYSIS;                                  
        . . . code . . .                                          
        ODS HTML CLOSE;                                           
                                                                  
     Note that several steps are commented out in this sample,    
     because they create large volumes of output.  To run those   
     steps, remove the comments.                                  
-----------------------------------------------------------------*/

/*
%let date = Project 17.104, &sysdate;

proc template;
   list stat     / where=(type='Statgraph');
   list stat.reg / where=(type='Statgraph');
run;

options ls=96;
proc template;
   source stat     / where=(type='Statgraph');
   source stat.reg / where=(type='Statgraph');
options ls=80;

*/
ods graphics on;

proc reg data=sashelp.class plots=fit(stats=none);
   model weight = height;
quit;

/*
proc template;
   delete stat.reg / store=sasuser.templat;
run;
*/

proc template;
   source / where=(type='Statgraph') file="tpls.sas";
run;

data _null_;
   infile 'tpls.sas' lrecl=256 pad;
   input line $ 1-256;
   file 'newtpls.sas';
   put line;
   line = left(lowcase(line));
   if line =: 'begingraph' then
      put 'mvar __date;' /
          'entryfootnote halign=left textattrs=GraphValueText __date;';

   file log;
   if index(line, '__date') then
      put 'ERROR: Name __date already used.' / line;
   if index(line,'entryfootnote') and not index(line,'_byline_') then put line;
run;

proc template;
   %include 'newtpls.sas' / nosource;
run;