/*

/ Program   : maxtitle.sas
/ Version   : 1.0
/ Author    : Roland Rashleigh-Berry
/ Date      : 30-Jul-2007
/ Purpose   : To find the highest number title and footnote and output to global
/             macro variables.
/ SubMacros : none
/ Notes     : The global macro variables used to hold the maximum for titles and
/             footnotes will be _maxtitle_ and _maxfoot_ .
/ Usage     : %maxtitles
/ 
/===============================================================================
/ PARAMETERS:
/-------name------- -------------------------description------------------------
/ quiet             (pos) Set this to anything to stop message at end
/===============================================================================
/ AMENDMENT HISTORY:
/ init --date-- mod-id ----------------------description------------------------
/ rrb  13Feb07         "macro called" message added
/ rrb  30Jul07         Header tidy
/===============================================================================
/ This is public domain software. No guarantee as to suitability or accuracy is
/ given or implied. User uses this code entirely at their own risk.
/=============================================================================*/

%put MACRO CALLED: maxtitle v1.0;

%macro maxtitle(quiet);

%global _maxtitle_ _maxfoot_;
%let _maxtitle_=0;
%let _maxfoot_=0;


*- extract maximum title and footnote number from the vtitle view -;
data _null_;
  retain maxtitle maxfoot 0;
  set sashelp.vtitle end=last;
  if type='T' then maxtitle=number;
  else if type='F' then maxfoot=number;
  if last then do;
    call symput('_maxtitle_',compress(put(maxtitle,2.)));
    call symput('_maxfoot_',compress(put(maxfoot,2.)));
  end;
run;

%if not %length(&quiet) %then %do;
  %put;
  %put MSG: (maxtitle) The following global macro variables have been set up;
  %put MSG: (maxtitle) and can be used in your code. ;
  %put _maxtitle_=&_maxtitle_;
  %put _maxfoot_=&_maxfoot_;
%end;

%mend;