<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ODS PDF and PROC REPORT : dealing with borders and backgrounds in ODS and Base Reporting</title>
    <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974600#M26919</link>
    <description>&lt;P&gt;Since PROC REPORT reads left to right on the Column statement, I would suggest adding a dummy variable at then end and use that in the Compute block.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ods escapechar='^';
ods listing close;
options nodate nonumber orientation=portrait;
ods pdf file="C:\Temp\test.pdf"
        /*STYLE= STYLES.BIGGERFONT*/
        startpage=never
;

proc report data=work.tableau1 STYLE(REPORT) = [RULES = NONE FRAME = VOID FONT_SIZE = 12PT WIDTH=100%];
    columns Colonne1 Colonne2 Filler Colonne3 Colonne4 dummy;
    define Colonne1 / 'Patient IPP :' style(header)=[just=r background= WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne2 / '123456789' style(header)=[just=l background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Filler   / ' ' style(header)=[background = white font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne3 / 'Gestionaire :' style(header)=[just=r background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne4 / 'J1' style(header)=[just=l background = WHITE Font_face=Arial Font_size=12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
	define dummy / computed noprint;
    COMPUTE dummy;*Colonne1;
       count+1;
       IF count LE 5 THEN DO;
          CALL DEFINE(_ROW_,'style','style={background=#F7F7F7 Font_face=Arial Font_size=9pt}');
          CALL DEFINE('_C3_','style','style={background=WHITE Font_face=Arial Font_size=9pt}');
       END;
       IF count IN (6,7) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
       END;
       IF count IN (8) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
       END;
    ENDCOMP; 
run;

ods pdf close;
ods listing;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 09 Sep 2025 11:02:45 GMT</pubDate>
    <dc:creator>Kathryn_SAS</dc:creator>
    <dc:date>2025-09-09T11:02:45Z</dc:date>
    <item>
      <title>ODS PDF and PROC REPORT : dealing with borders and backgrounds</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974584#M26918</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;
&lt;P&gt;With this code :&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA work.tableau1;
   LENGTH Colonne1 Colonne2 Filler Colonne3 Colonne4 $200.;
   Colonne1 = "Nom :";
   Colonne2 = "DOE";
   Filler = "";
   Colonne3 = "Sexe : Masculin";
   Colonne4 = "Situation juridique : Séparé";
   OUTPUT;
   Colonne1 = "Nom usuel :";
   Colonne2 = "DOE";
   Filler = "";
   Colonne3 = "Téléphone :";
   Colonne4 = "06.12.34.56.78";
   OUTPUT;
   Colonne1 = "Prénom :";
   Colonne2 = "John";
   Filler = "";
   Colonne3 = "Pays :";
   Colonne4 = "France";
   OUTPUT;
   Colonne1 = "Né(e) le :";
   Colonne2 = "01/01/2000";
   Filler = "";
   Colonne3 = " ";
   Colonne4 = " ";
   OUTPUT;
   Colonne1 = "Adresse habituelle :";
   Colonne2 = " ";
   Filler = "";
   Colonne3 = "Adresse secondaire :";
   Colonne4 = " ";
   OUTPUT;
   Colonne1 = "121 Baker Street";
   Colonne2 = " ";
   Filler = "";
   Colonne3 = " ";
   Colonne4 = " ";
   OUTPUT;
   Colonne1 = " ";
   Colonne2 = " ";
   Filler = "";
   Colonne3 = " ";
   Colonne4 = " ";
   OUTPUT;
   Colonne1 = "LONDON";
   Colonne2 = " ";
   Filler = "";
   Colonne3 = " ";
   Colonne4 = " ";
   OUTPUT;
RUN;

ods escapechar='^';
options nodate nonumber orientation=portrait;
ods pdf file="C:\Temp\SAS\test.pdf"
        /*STYLE= STYLES.BIGGERFONT*/
        startpage=never
;

proc report data=work.tableau1 STYLE(REPORT) = [RULES = NONE FRAME = VOID FONT_SIZE = 12PT WIDTH=100%];
    columns Colonne1 Colonne2 Filler Colonne3 Colonne4;
    define Colonne1 / 'Patient IPP :' style(header)=[just=r background= WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne2 / '123456789' style(header)=[just=l background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Filler   / ' ' style(header)=[background = WHITE font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne3 / 'Gestionaire :' style(header)=[just=r background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne4 / 'J1' style(header)=[just=l background = WHITE Font_face=Arial Font_size=12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    COMPUTE Colonne1;
       count+1;
       IF count LE 5 THEN DO;
          CALL DEFINE(_ROW_,'style','style={background=#F7F7F7 Font_face=Arial Font_size=9pt}');
          CALL DEFINE('_C3_','style','style={background=WHITE Font_face=Arial Font_size=9pt}');
       END;
       IF count IN (6,7) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
       END;
       IF count IN (8) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
       END;
    ENDCOMP;
run;

ods pdf close;
ods listing;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I am not able to get proper background for the column in the middle of the report (column Filler) as :&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;CALL DEFINE('_C3_','style','style={background=WHITE Font_face=Arial Font_size=9pt}');&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Is not interpreted.&lt;/P&gt;
&lt;P&gt;And I can't remove borders :&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CHUNantes_0-1757409442179.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109793i56BD3161639E26ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="CHUNantes_0-1757409442179.png" alt="CHUNantes_0-1757409442179.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have tried to PUT a COMPUTE Colonne2 block to get borders for that column but this is worse &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I set borders for each row / column the way I want ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I set the background colour for specific column ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help&lt;/P&gt;</description>
      <pubDate>Tue, 09 Sep 2025 09:23:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974584#M26918</guid>
      <dc:creator>CHUNantes</dc:creator>
      <dc:date>2025-09-09T09:23:50Z</dc:date>
    </item>
    <item>
      <title>Re: ODS PDF and PROC REPORT : dealing with borders and backgrounds</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974600#M26919</link>
      <description>&lt;P&gt;Since PROC REPORT reads left to right on the Column statement, I would suggest adding a dummy variable at then end and use that in the Compute block.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ods escapechar='^';
ods listing close;
options nodate nonumber orientation=portrait;
ods pdf file="C:\Temp\test.pdf"
        /*STYLE= STYLES.BIGGERFONT*/
        startpage=never
;

proc report data=work.tableau1 STYLE(REPORT) = [RULES = NONE FRAME = VOID FONT_SIZE = 12PT WIDTH=100%];
    columns Colonne1 Colonne2 Filler Colonne3 Colonne4 dummy;
    define Colonne1 / 'Patient IPP :' style(header)=[just=r background= WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne2 / '123456789' style(header)=[just=l background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Filler   / ' ' style(header)=[background = white font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne3 / 'Gestionaire :' style(header)=[just=r background = WHITE Font_face=Arial font_size = 12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
    define Colonne4 / 'J1' style(header)=[just=l background = WHITE Font_face=Arial Font_size=12pt borderwidth = 0]
                                      style(column)=[borderrightcolor=#F7F7F7 borderrightwidth=1
                                                     borderleftcolor=#F7F7F7 borderleftwidth=1
                                                     bordertopcolor=#F7F7F7 bordertopwidth=1
                                                     borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                    ]
    ;
	define dummy / computed noprint;
    COMPUTE dummy;*Colonne1;
       count+1;
       IF count LE 5 THEN DO;
          CALL DEFINE(_ROW_,'style','style={background=#F7F7F7 Font_face=Arial Font_size=9pt}');
          CALL DEFINE('_C3_','style','style={background=WHITE Font_face=Arial Font_size=9pt}');
       END;
       IF count IN (6,7) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=WHITE borderbottomwidth=1
                                                }');
       END;
       IF count IN (8) THEN DO;
          CALL DEFINE('Colonne1','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=#F7F7F7 borderleftwidth=1
                                                 borderrightcolor=WHITE borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
          CALL DEFINE('Colonne2','style','style={background=WHITE Font_face=Arial Font_size=9pt
                                                 borderleftcolor=WHITE borderleftwidth=1
                                                 borderrightcolor=#F7F7F7 borderrightwidth=1
                                                 bordertopcolor=WHITE bordertopwidth=1
                                                 borderbottomcolor=#F7F7F7 borderbottomwidth=1
                                                }');
       END;
    ENDCOMP; 
run;

ods pdf close;
ods listing;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 09 Sep 2025 11:02:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974600#M26919</guid>
      <dc:creator>Kathryn_SAS</dc:creator>
      <dc:date>2025-09-09T11:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: ODS PDF and PROC REPORT : dealing with borders and backgrounds</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974604#M26920</link>
      <description>Thank you very much for this tip &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt; !!</description>
      <pubDate>Tue, 09 Sep 2025 11:28:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-PDF-and-PROC-REPORT-dealing-with-borders-and-backgrounds/m-p/974604#M26920</guid>
      <dc:creator>CHUNantes</dc:creator>
      <dc:date>2025-09-09T11:28:19Z</dc:date>
    </item>
  </channel>
</rss>

