BookmarkSubscribeRSS Feed
YNWA1
Obsidian | Level 7

 Hi, can anyone help why i am not seeing spaces in between paragraph when generating RTF file.

Not sure if i am using PROC ODSTEXT in the wrong way....

 

proc template;
 define style Styles.DQRpt;
 parent = Styles.htmlblue;    
/* parent = Styles.rtf;  */
 replace fonts / 
    'TitleFont'           = ("Arial",10pt,Bold)   
	'TitleFont2'          = ("Arial",10pt,Bold)   
	'StrongFont'          = ("Arial",10pt,Bold)                   
	'EmphasisFont'        = ("Arial",10pt,Italic)
	'headingEmphasisFont' = ("Arial",10pt,Bold)
	'headingFont'         = ("Arial",10pt,Bold)          
	'docFont'             = ("Arial",10pt)               
	'footFont'            = ("Arial",9pt)               
	'FixedEmphasisFont'   = ("Arial",10pt,Italic)
	'FixedStrongFont'     = ("Arial",10pt,Bold)
	'FixedHeadingFont'    = ("Arial",10pt,Bold)
	'BatchFixedFont'      = ("Arial",8pt)
	'FixedFont'           = ("Arial",10pt)
    ;
 replace GraphFonts / 
	'GraphDataFont'     = ("Arial",7pt)
    'GraphUnicodeFont'  = ("<MTserif-unicode>",9pt)
    'GraphValueFont'    = ("Arial",8pt)
    'GraphLabel2Font'   = ("Arial",9pt)
    'GraphLabelFont'    = ("Arial",9pt)
    'GraphFootnoteFont' = ("Arial",9pt)
    'GraphTitleFont'    = ("Arial",10pt,bold)
    'GraphTitle1Font'   = ("Arial",11pt,bold)
    'GraphAnnoFont'     = ("Arial",9pt)
    ;
 class UserText / 
    bordertopcolor=white 
    borderbottomcolor=white 
    borderleftcolor=white 
    borderrightcolor=white 
    ;

 class Graph /just=left 
    ;
 style Data /                                                            
    font = fonts('DocFont')                                              
    backgroundcolor = cxFFFFFF                                           
    bordercolor = cxFFFFFF                                                
    bordertopwidth = 0px                                                 
    borderleftwidth = 0px                                                
    borderbottomwidth = 1px                                              
    borderrightwidth = 1px
    ;  
 style Table /                                                           
    cellpadding = 3                                                      
    frame = box                                                          
    rules = all                                                          
    bordertopwidth = 1px                                                 
    borderleftwidth = 1px                                                
    borderbottomwidth = 0px                                              
    borderrightwidth = 0px                                               
    bordercolor = cxFFFFFF                                              
    ;     
 replace color_list /	
    'link' = blue             /* links */
	'bgH'  = grayBB           /* row and column header background */
	'bgT'  = white            /* table background */
	'bgD'  = white            /* data cell background */
	'fg'   = black            /* text color */
	'bg'   = white            /* page background color */
    ;
 class Titlesandfooters / 
   borderbottomcolor=white 
   bordertopcolor=white 
   borderleftcolor=white 
   borderrightcolor=white
   ; 
 class Body /
   backgroundcolor = cxFFFFFF
   ;
end;
run;

options	nocenter orientation = portrait papersize = A4	nodate nonumber 
  	    topmargin = 1.25cm bottommargin = 1.25cm leftmargin = 1.25cm rightmargin = 1.25cm
        ; 
ods noptitle escapechar = "^" ;

title;    * Clear all titles.; 
footnote; * Clear all footers.;

options	orientation = portrait;

ods rtf file="C:\Users\admf684\example.rtf" style=DQRpt startpage=off bodytitle nogtitle;

ods rtf startpage=YES;
proc odstext ;
p"Executive Summary"/ style=[fontsize=12pt font_weight=bold fontfamily=Arial just=Left ];
p"";
p"As at &curr_mth."/ style=[fontsize=11pt fontfamily=Arial]; 
p"";
p"";
p"Non Retail - Overall Assessment of Data Quality"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial]; 
p"- <<to add comment on Exceptions if any >>"/ style=[fontsize=11pt fontstyle=italic fontfamily=Arial];
p"";
p"Non Retail - Improvements Progress"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial]; 
p"- <<to add comment on Exceptions if any >>"/ style=[fontsize=11pt fontstyle=italic fontfamily=Arial];
p"";
p"Retail - Overall Assessment of Data Quality"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial]; 
p"- <<to add comment on Exceptions if any >>"/ style=[fontsize=11pt fontstyle=italic fontfamily=Arial];
p"";
p"Retail - Improvements Progress"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial]; 
p"- <<to add comment on Exceptions if any >>"/ style=[fontsize=11pt fontstyle=italic fontfamily=Arial];
p"";
p"";
p"";
p"General Notes on Report"/ style=[fontsize=12pt font_weight=bold fontfamily=Arial just=Left ];
p"";
p"The Data Quality Report summarises the data quality position as at the end of each month."/ style=[fontsize=11pt fontfamily=Arial]; 
p"It brings together a variety of existing reports or metrics." / style=[fontsize=11pt fontfamily=Arial]; 
p"The intent is for the report to develop and change as new reports are developed and/or requirements or focus shifts."/ style=[fontsize=11pt fontfamily=Arial]; 
p"";
p"For most of the non-retail data, the summary is across the most recent 6 month window."/ style=[fontsize=11pt fontfamily=Arial]; 
p"The retail pages focus on the data utilised by the modelling and capital calculation processes." / style=[fontsize=11pt fontfamily=Arial]; 
p"Whilst the main consideration is given to the current month, the graphs include a 12 month window for comparison."/ style=[fontsize=11pt fontfamily=Arial]; 
p"";
p"The creation of the report is a combination of SAS code and Excel functionality, with the resulting sheets being exported as a PDF document"/ style=[fontsize=11pt fontfamily=Arial]; 
p"";
p"Traffic Lighting - Within tables"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial]; 
p"";
p"Many of the tables utilise a simple traffic lighting which is applied to the cells."/ style=[fontsize=11pt fontfamily=Arial];
p"";
p"Red - denotes that the value this month is greater than the previous month."/ style=[fontsize=11pt fontfamily=Arial];
p"Amber - denotes that the value this month has not changed from the previous month."/ style=[fontsize=11pt fontfamily=Arial];
p"Green - denotes that the values this month is less than the previous month."/ style=[fontsize=11pt fontfamily=Arial];
quit;

This is what I get

Capture1.PNG

 

I want to reproduce something similar to the below:

Capture3.PNG

1 REPLY 1
hlnquynh
Obsidian | Level 7

Hi,

 

How about adding ^{newline n} before a new paragraph like this?

 

p"Executive Summary"/ style=[fontsize=12pt font_weight=bold fontfamily=Arial just=Left ];
p"^{newline 1}As at &curr_mth."/ style=[fontsize=11pt fontfamily=Arial];
p"^{newline 2}Non Retail - Overall Assessment of Data Quality"/ style=[fontsize=11pt font_weight=bold fontfamily=Arial];

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 862 views
  • 1 like
  • 2 in conversation