Hi: As I illustrated in my code example, BREAK AFTER PGBRK/PAGE will NOT cause the title to change automatically on every page with a different slide number. If you had multiple PROC REPORTS, with a different TITLE statement for each PROC REPORT, then you could use your Macro variable for each title. Or, if you had a %DO loop, as I illustrated. Unless you have multiple PROC REPORT steps with a different TITLE in each, OR you change your approach so that your macro program generates each PROC REPORT with its own TITLE (basically, you would be generating 1 PROC REPORT step for every page) -- the PROC REPORT that you show is not ever going to generate a different title using BREAK AFTER. You say that you are "initiating slideno =1 for first page, slide no is incrementing for each proc report graphs. i.e. for each output object(table or graph) i am giving unique slide number in title." I see a macro program invocation that occurs 1 time (a call to %increaseSlideNo) -- but I only see that 1 time. You say you are doing this in a stored process. If you are executing your stored process multiple times and you want to get a different value for &SlideNo for every invocation, then you will have to use other techniques to make this happen. As I understand stored processes, every stored process invocation gets a fresh, new SAS session, with a fresh, new symbol table. So, unless you persist your session and save your former values for &SlideNo, every invocation of your stored process will probably start out with SlideNo=1, assuming you made the macro variable global and not local. I did not see a CALL SYMPUTX with 'G' option or writing to the global symbol table instead of the local table -- and with stored processes, you probably want to be sure you are putting &SlideNo in the global and not the local table. Every new TITLE statement in your code replaces a previously issued TITLE statement. A single PROC REPORT step cannot change title statements for every internally generated page break unless you use BY group processing. Every time you invoke a stored process, as a new stored process, the TITLE statements that you use in your stored process code are like new. The title statements from the first invocation of the stored process are not around anymore when the second stored process starts up (unless you have done something to ensure that they are saved). You might want to consider working with Tech Support on this. Considering the macro code you're working with, the fact that this is a stored process, and that you seem to want PROC REPORT to operate in a way that is not possible for it to operate, it's hard to put all the separate pieces together to make a coherent suggestion. Working with a stored process and a macro program invocation in a stored process can change or should change your development approach (such as not having hard coded parameters and using a %GLOBAL statement and not having macro definitions nested within your %STPBEGIN/%STPEND invocations, understanding how you get a fresh symbol table for every stored process invocation, etc, etc. -- To me this needs someone to look at ALL your code and your data and help you figure out whether your current design is working as you need, from a stored process perspective. cynthia
... View more