Chris and Cynthia,
Indeed i was first surprise about this as aaa is existing in the pdv
the only difference of functionning is about the sequentionnal position of the retain statement : before or after the external put statement using the _ALL_
Is ther some secondary buffer existing for the tabular print generated by a put
and different from the pdv?
and filled or not following certain reasons?
to show this difference i used two different put in an ods datastep context!
in one case aaa is empty in the other it is filled!
so the _ALL_ has a special functionning in regard gathering information
depending theit context of use!
[pre]
data _null_;
put _all_;
set sashelp.shoes(obs=5);
file 'c:\temp\test_putall.txt';
format _CHARACTER_ $quote.;
format _NUMERIC_;
put (_ALL_)(:);
retain AAA 25;
run;
data _null_;
put _all_;
set sashelp.shoes(obs=5);
file 'c:\temp\test_putOK.txt';
format _CHARACTER_ $quote.;
format _NUMERIC_;
retain AAA 25;
put (_ALL_)(:);
run;
ods pdf file="c:\temp\odsput.pdf";
data _null_;
putlog _all_;
set sashelp.shoes(obs=5);
file print ods=(var=(_all_));
format _CHARACTER_ $quote.;
format _NUMERIC_;
put (_ALL_)(:);
retain AAA 25;
run;
ods pdf close;
ods pdf file="c:\temp\put_ods_.pdf";
data _null_;
putlog _all_;
set sashelp.shoes(obs=5);
file print ods=(var=(_all_));
format _CHARACTER_ $quote.;
format _NUMERIC_;
put (_ALL_)(:) _ODS_ ;
retain AAA 25;
run;
ods pdf close;
[/pre]
BUT Chris this is documented on
http://support.sas.com/documentation/cdl/en/lrdict/61724/HTML/default/a000214163.htm
If you specify _ALL_, _CHAR_, or _NUMERIC_, only the variables that are defined before the RETAIN statement are affected.
HTH
Andre