<?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: Create quoted flat file headers in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151946#M29923</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I am sure there is a better way, however you can generate the necessary code rather than using a macro variable, something like:&lt;/P&gt;&lt;P&gt;filename temp 's:\temp\rob\test.txt' ;&lt;/P&gt;&lt;P&gt;data temp;&lt;BR /&gt;&amp;nbsp; set sashelp.vcolumn (where=(libname="SASHELP" and memname="CLASS")) end=last;&lt;BR /&gt;&amp;nbsp; length lst_list $2000.;&lt;BR /&gt;&amp;nbsp; retain lst_list;&lt;BR /&gt;&amp;nbsp; if _n_=1 then lst_list='"'||strip(name)||'";';&lt;BR /&gt;&amp;nbsp; else lst_list=strip(lst_list)||'"'||strip(name)||'";';&lt;BR /&gt;&amp;nbsp; if last then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('data _null_; file temp dlm=";" dsd lrecl=3000; set sashelp.class;');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute(" put '"||strip(lst_list)||"';");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('; put (_all_)(~); run;');&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Dec 2014 11:18:06 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-12-16T11:18:06Z</dc:date>
    <item>
      <title>Create quoted flat file headers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151945#M29922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Dear all, &lt;/P&gt;&lt;P&gt;I finally discovered that using a &lt;STRONG&gt;tilde&lt;/STRONG&gt; put quotes around the values.&lt;/P&gt;&lt;P&gt;Perfect!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I still what quotes around the headers. &lt;/P&gt;&lt;P&gt;I can use the quote function in the query&amp;nbsp; &lt;EM&gt;quote(trim(name))&lt;/EM&gt;&amp;nbsp; . . and yes quotes are added but&amp;nbsp; the PUT statement still&lt;BR /&gt;fails in the data _null_ step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Suggestions???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc sql noprint; &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; select trim(name) &lt;/STRONG&gt;&lt;STRONG&gt; into :vars separated by ';' &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; from dictionary.columns &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; where libname="SASHELP" &lt;/STRONG&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; &amp;amp; memname="CLASS" &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; order by varnum ; &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;quit; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;filename temp 'c:\temp\test.txt' ;&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;STRONG&gt;data _null_;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; file temp dlm=";" dsd lrecl=3000; &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; put "&amp;amp;vars."&amp;nbsp; ;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; do until (eof);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set SASHELP.CLASS end=eof;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; put (_all_)(~);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; end;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; stop;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;GreetZ,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;Herman&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 10:47:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151945#M29922</guid>
      <dc:creator>Jaheuk</dc:creator>
      <dc:date>2014-12-16T10:47:13Z</dc:date>
    </item>
    <item>
      <title>Re: Create quoted flat file headers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151946#M29923</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I am sure there is a better way, however you can generate the necessary code rather than using a macro variable, something like:&lt;/P&gt;&lt;P&gt;filename temp 's:\temp\rob\test.txt' ;&lt;/P&gt;&lt;P&gt;data temp;&lt;BR /&gt;&amp;nbsp; set sashelp.vcolumn (where=(libname="SASHELP" and memname="CLASS")) end=last;&lt;BR /&gt;&amp;nbsp; length lst_list $2000.;&lt;BR /&gt;&amp;nbsp; retain lst_list;&lt;BR /&gt;&amp;nbsp; if _n_=1 then lst_list='"'||strip(name)||'";';&lt;BR /&gt;&amp;nbsp; else lst_list=strip(lst_list)||'"'||strip(name)||'";';&lt;BR /&gt;&amp;nbsp; if last then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('data _null_; file temp dlm=";" dsd lrecl=3000; set sashelp.class;');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute(" put '"||strip(lst_list)||"';");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('; put (_all_)(~); run;');&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 11:18:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151946#M29923</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-12-16T11:18:06Z</dc:date>
    </item>
    <item>
      <title>Re: Create quoted flat file headers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151947#M29924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to make the syntax correct by doubling the double quotes inside the quoted string in the PUT statement.&amp;nbsp; Use the QUOTE function again on VARS.&lt;/P&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;sql&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;noprint&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;select&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; quote(trim(name)) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;into&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; :vars separated by &lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;';'&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;from&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; dictionary.columns &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;where&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; libname=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"SASHELP"&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; memname=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"CLASS"&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;order&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; varnum ; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;quit&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;%put&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; NOTE: &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;%superq&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;vars&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;)&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;filename&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;temp&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;temp&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="color: #008000; background-color: #ffffff;"&gt;*'c:\temp\test.txt' ;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_null_&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;file&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;temp&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;dlm&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;";"&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;dsd&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;lrecl&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;3000&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;put&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;(quote(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;%superq&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;vars&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;));&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;until&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; (eof);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; SASHELP.CLASS &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=eof;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_all_&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;)(~);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;stop&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_null_&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;infile&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;temp&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;put&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_infile_&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;;&lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;IMG alt="12-16-2014 6-45-37 AM.png" class="jive-image" src="https://communities.sas.com/legacyfs/online/8411_12-16-2014 6-45-37 AM.png" /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 12:47:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151947#M29924</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2014-12-16T12:47:06Z</dc:date>
    </item>
    <item>
      <title>Re: Create quoted flat file headers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151948#M29925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why not use ods csv ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;ods csvall file='c:\temp\x.csv' options(doc="help" Delimiter=';' Quoted_columns="123456789");
 title ' ';
 proc print data=sashelp.class noobs;run;
ods csvall close;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Dec 2014 15:34:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-quoted-flat-file-headers/m-p/151948#M29925</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-12-17T15:34:03Z</dc:date>
    </item>
  </channel>
</rss>

