I thought I'd mention ODS DOCUMENT/PROC DOCUMENT. Since you can add, insert, rearrange, relabel and delete the output objects and insert, rearrange, relabel and delete folder levels for the output objects' folders, it is also possible to save your objects in a document store and build your bookmark structure using ODS DOCUMENT/PROC DOCUMENT. When you replay a new ODS DOCUMENT, the new/changed folder and object labels become bookmarks. That would take care of the "section/folder" and "object" bookmarks.
You probably already thought of this as a possibility, but for folks who don't know about the ability to change the TOC in this way, I thought it worth mentioning.
I thought I would reply something on Document as Cynthia did. But I did a quick test and ODSOUT does not seem to be supported (in 9.1.3 SP4) in the Document destination.
Is that correct, Dan ? Or did I miss some important option ?
I knew the ANCHOR statement, but can I use it within the data step ?
Say, I create 3 tables within the ODS Data Step Object per observation, can I create achors like: ANCH_OBS1_TAB1, ANCH_OBS1_TAB2, ANCH_OBS1_TAB3, ANCH_OBS2_TAB1, ...
Or even, just one per observation: ANCH_OBS1, ANCH_OBS2, ...
I guess the question is really if I can create anchors data driven.
I have done this successfully:
ods pdf file='wombat.pdf' anchor1='tab1';
ods pdf anchor='tab2';
ods pdf close;
Since ANCHOR= goes on the ODS PDF statement, it applies to the whole output object. I don't think that the anchors ever get down to the observation level in -regular- ODS. I have used the PDF anchors in the URL= option, as in URL="#tab2" -- but I'm not sure how you could implement ANCHOR= at the obs level. I know you can reference a URL at the OBS level -- but I don't know how to set an ANCHOR at the obs level.
That's outside the world of the DATA step object. It's an interesting question. (I know, that's no help...)