Hi:
It is much easier to append a new HTML file to an existing HTML file, than it is to append a new RTF or PDF file to an existing RTF or PDF file.
See these Tech Support notes:
http://support.sas.com/kb/24/034.html
http://support.sas.com/kb/23/660.html
The info about the RTF file also applies to PDF. Basically, both RTF and PDF have a very stringent (not flexible) syntax for the way they want the file open and file close to be specified.
You might consider writing a little VB script for Word that opens the first RTF file, brings in or inserts the second RTF file and then resaves the "new" document over the first file name. There might be 3rd party software that allows you append 2 RTF files together -- I'm betting they strip out the file close from the first file and the file open from the second file to make it work. I suppose you could also write a DATA step program to post process the 2 files and do the same thing, but the few times that I've messed with post-processing RTF, I've generated a corrupted RTF file too easily. RTF is hard to figure out and 1 wrong curly brace or \ and bam, you've corrupted the RTF file and Word won't open it.
Of course, one simple technique might be to save your original output objects (if possible) in an ODS Document store and then when you need to add information, you could replay the first document's output objects with the new output objects and make a new RTF file or write over the old name.
Another thing you could do is use ODS RTF TEXT= to insert big blocks of text around your table and/or graph. This is sort of doing the reverse that you asked about -- you would be taking the text from the first document and would add it to the new document.
An example of using ODS RTF TEXT= is shown below.
cynthia
[pre]
data _null_;
length bigtext $2000 line $100;
retain bigtext;
infile datalines dsd dlm=',';
input lineno line $ ;
bigtext = catx(' ',bigtext,line);
** can not use end= with datalines, so use lineno var;
** to create macro variable at end of poem.;
if lineno = 8 then do;
call symput('jabber',trim(bigtext));
end;
return;
datalines;
1,"Twas brillig and the slithy toves,"
2,"Did gyre and gimble in the wabe."
3,"All mimsy were the borogroves."
4,"And the mome raths outgrabe."
5,"Beware the Jabberwock, my son!"
6,"The jaws that bite, the claws that snatch."
7,"Beware the Jubjub bird and shun"
8,"The frumious Bandersnatch!"
;
run;
%put ---------> &jabber;
ods listing close;
options orientation=portrait center;
ods rtf file='c:\temp\addtext.rtf' startpage=no nokeepn;
ods escapechar='^';
title 'What This Report Needs Is Some Jabberwocky';
ods rtf text="^S={font_style=italic font_weight=bold just=l}&jabber &jabber &jabber";
proc print data=sashelp.class;
run;
ods rtf text="^S={foreground=red font_face=Arial font_size=10pt just=l}&jabber &jabber";
proc print data=sashelp.class;
run;
ods rtf text="^S={foreground=green font_face=Arial font_size=10pt just=l}&jabber &jabber";
ods rtf close;
[/pre]