<?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: Supressing Column Header using ODS in ODS and Base Reporting</title>
    <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5627#M2260</link>
    <description>Hi:&lt;BR /&gt;
  Here's what I don't understand...you seem to be mixing a DATA step with an ODS CSV step...you don't need both...since your DATA step is writing to a WORK library, I'm figuring you don't use WORK.OUTCSV2 at all. Here's what you have (***** are my divider lines/comments on your posted code):&lt;BR /&gt;
[pre]&lt;BR /&gt;
***** creating a WORK data set here??? why??? ;&lt;BR /&gt;
DATA OUTCSV2; &lt;BR /&gt;
SET DEALER_DETAILS2; &lt;BR /&gt;
   &lt;BR /&gt;
***** FILENAME is a global statement. It takes effect as soon as it is encountered ;&lt;BR /&gt;
***** and stays in effect until you end your session or change or clear the ;&lt;BR /&gt;
***** filename statement. For this reason, you usually find GLOBAL ;&lt;BR /&gt;
***** statements OUTSIDE a DATA step program boundary.;&lt;BR /&gt;
FILENAME CSVOUT2 'B23.D075.ODS(CSV2)' &lt;BR /&gt;
DSNTYPE=LIBRARY DSORG=PO &lt;BR /&gt;
DISP=(SHR,CATLG,DELETE); &lt;BR /&gt;
  &lt;BR /&gt;
**** OK, here you start the creation of CSV output and write it to your PDS;&lt;BR /&gt;
ODS CSV FILE=CSVOUT2 STYLE=NEWSTYLE2 TRANTAB=ASCII; &lt;BR /&gt;
      &lt;BR /&gt;
****** PROC PRINT will be step boundary for DATA OUTCSV2 step ;&lt;BR /&gt;
PROC PRINT DATA=DEALER_DETAILS2 NOOBS LABEL; &lt;BR /&gt;
VAR DIAL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
LABEL DIAL='00'x DLRNUM='00'x SAPACC='00'x TWN='00'x PDEALERN='00'x&lt;BR /&gt;
PNAME='00'x PHONE_NUM='00'x; &lt;BR /&gt;
TITLE 'DEALERSHIP DETAILS'; &lt;BR /&gt;
RUN; &lt;BR /&gt;
ODS CSV CLOSE; &lt;BR /&gt;
ODS LISTING; [/pre]&lt;BR /&gt;
&lt;BR /&gt;
Here's how you could simplify it and not have headers -- using '00'x is a good trick, but PROC REPORT has an option that lets you suppress headers completely:&lt;BR /&gt;
[pre]&lt;BR /&gt;
&lt;BR /&gt;
** only need FILENAME statement. Do not need DATA step;&lt;BR /&gt;
** use FILENAME to point to your PDS member;&lt;BR /&gt;
FILENAME CSVOUT2 'B23.D075.ODS(CSV2)' &lt;BR /&gt;
DSNTYPE=LIBRARY DSORG=PO &lt;BR /&gt;
DISP=(SHR,CATLG,DELETE); &lt;BR /&gt;
 &lt;BR /&gt;
** style not used for ODS CSV;&lt;BR /&gt;
** add rs=none just in case you find the CSV lines wrapping funny after;&lt;BR /&gt;
** you FTP -- RS=NONE tells ODS to write out 1 line of output at a time;&lt;BR /&gt;
ODS CSV FILE=CSVOUT2  TRANTAB=ASCII rs=none; &lt;BR /&gt;
  &lt;BR /&gt;
PROC REPORT DATA=DEALER_DETAILS2 NOWD NOHEADER;&lt;BR /&gt;
  COLUMN DIAL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
  TITLE 'DEALERSHIP DETAILS'; &lt;BR /&gt;
RUN; &lt;BR /&gt;
  &lt;BR /&gt;
ODS CSV CLOSE; &lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
If you REALLY want a DATA SET from the job, then do this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
** this is a made up name for a SAS library;&lt;BR /&gt;
libname PERMLIB 'B23.D075.PERMSAS'  DISP=OLD;&lt;BR /&gt;
&lt;BR /&gt;
DATA PERMLIB.OUTCSV2; &lt;BR /&gt;
SET DEALER_DETAILS2; &lt;BR /&gt;
RUN:&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
If you want to see the titles in the CSV file, then do this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
ODS CSVALL FILE=CSVOUT2  TRANTAB=ASCII rs=none;&lt;BR /&gt;
(your code)&lt;BR /&gt;
ODS CSVALL CLOSE;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Or, you could write to the file directly with a data step. Or you could use the &lt;BR /&gt;
%DS2CSV macro or you could use the %FLATFILE macro:&lt;BR /&gt;
&lt;A href="http://ftp.sas.com/techsup/download/misc/flatfile.pdf" target="_blank"&gt;http://ftp.sas.com/techsup/download/misc/flatfile.pdf&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://support.sas.com/kb/26/085.html" target="_blank"&gt;http://support.sas.com/kb/26/085.html&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi27/p174-27.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi27/p174-27.pdf&lt;/A&gt;&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
    <pubDate>Wed, 21 Nov 2007 01:14:37 GMT</pubDate>
    <dc:creator>Cynthia_sas</dc:creator>
    <dc:date>2007-11-21T01:14:37Z</dc:date>
    <item>
      <title>Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5624#M2257</link>
      <description>Hi All&lt;BR /&gt;
&lt;BR /&gt;
I am trying to output a csv file but I do not want to see the Column Headers.  I can do this by using the LABEL VARIABLE='00'x statement, but then when I open the csv file in excel, I see a blank line at the top on row 1, how can I remove this row as well in SAS before outputing the file, so that the output only consists of the data.  I need to achieve this because this data has to be fed into another program.&lt;BR /&gt;
&lt;BR /&gt;
Part of the program:&lt;BR /&gt;
&lt;BR /&gt;
DATA OUTCSV2;                                                        &lt;BR /&gt;
 SET DEALER_DETAILS2;                                                &lt;BR /&gt;
 FILENAME CSVOUT2  'B23.D075.ODS(CSV2)'                              &lt;BR /&gt;
                    DSNTYPE=LIBRARY DSORG=PO                         &lt;BR /&gt;
                    DISP=(SHR,CATLG,DELETE);                         &lt;BR /&gt;
 ODS CSV FILE=CSVOUT2 STYLE=NEWSTYLE2 TRANTAB=ASCII;                 &lt;BR /&gt;
 PROC PRINT  DATA=DEALER_DETAILS2 NOOBS LABEL;                       &lt;BR /&gt;
 VAR DIAL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM;                &lt;BR /&gt;
 LABEL DIAL='00'x  DLRNUM='00'x SAPACC='00'x TWN='00'x PDEALERN='00'x&lt;BR /&gt;
 PNAME='00'x PHONE_NUM='00'x;                                        &lt;BR /&gt;
 TITLE 'DEALERSHIP DETAILS';                                         &lt;BR /&gt;
 RUN;                                                                &lt;BR /&gt;
 ODS CSV  CLOSE;                                                     &lt;BR /&gt;
 ODS LISTING;                                                        &lt;BR /&gt;
&lt;BR /&gt;
Thanks alot for your help.&lt;BR /&gt;
Regards&lt;BR /&gt;
Shelton.</description>
      <pubDate>Tue, 20 Nov 2007 06:30:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5624#M2257</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-20T06:30:10Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5625#M2258</link>
      <description>don't use ODS, if it's not doing what you want.&lt;BR /&gt;
just use a simple data step.&lt;BR /&gt;
It's shorter![pre]&lt;BR /&gt;
data _null_;&lt;BR /&gt;
  file 'your.file.csv' dsd lrecl=10000 ;&lt;BR /&gt;
  set   your.data ;&lt;BR /&gt;
  put (_all_)(:);&lt;BR /&gt;
run;[/pre]&lt;BR /&gt;
&lt;BR /&gt;
PeterC</description>
      <pubDate>Tue, 20 Nov 2007 08:43:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5625#M2258</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-20T08:43:40Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5626#M2259</link>
      <description>Hi Peter&lt;BR /&gt;
&lt;BR /&gt;
Thanks for the response.  Will this code work on the mainframe - we are using OS/390.&lt;BR /&gt;
&lt;BR /&gt;
Also I need to FTP this file out to a Windows box.&lt;BR /&gt;
&lt;BR /&gt;
Thanks!

Message was edited by: sdcruz</description>
      <pubDate>Tue, 20 Nov 2007 23:39:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5626#M2259</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-20T23:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5627#M2260</link>
      <description>Hi:&lt;BR /&gt;
  Here's what I don't understand...you seem to be mixing a DATA step with an ODS CSV step...you don't need both...since your DATA step is writing to a WORK library, I'm figuring you don't use WORK.OUTCSV2 at all. Here's what you have (***** are my divider lines/comments on your posted code):&lt;BR /&gt;
[pre]&lt;BR /&gt;
***** creating a WORK data set here??? why??? ;&lt;BR /&gt;
DATA OUTCSV2; &lt;BR /&gt;
SET DEALER_DETAILS2; &lt;BR /&gt;
   &lt;BR /&gt;
***** FILENAME is a global statement. It takes effect as soon as it is encountered ;&lt;BR /&gt;
***** and stays in effect until you end your session or change or clear the ;&lt;BR /&gt;
***** filename statement. For this reason, you usually find GLOBAL ;&lt;BR /&gt;
***** statements OUTSIDE a DATA step program boundary.;&lt;BR /&gt;
FILENAME CSVOUT2 'B23.D075.ODS(CSV2)' &lt;BR /&gt;
DSNTYPE=LIBRARY DSORG=PO &lt;BR /&gt;
DISP=(SHR,CATLG,DELETE); &lt;BR /&gt;
  &lt;BR /&gt;
**** OK, here you start the creation of CSV output and write it to your PDS;&lt;BR /&gt;
ODS CSV FILE=CSVOUT2 STYLE=NEWSTYLE2 TRANTAB=ASCII; &lt;BR /&gt;
      &lt;BR /&gt;
****** PROC PRINT will be step boundary for DATA OUTCSV2 step ;&lt;BR /&gt;
PROC PRINT DATA=DEALER_DETAILS2 NOOBS LABEL; &lt;BR /&gt;
VAR DIAL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
LABEL DIAL='00'x DLRNUM='00'x SAPACC='00'x TWN='00'x PDEALERN='00'x&lt;BR /&gt;
PNAME='00'x PHONE_NUM='00'x; &lt;BR /&gt;
TITLE 'DEALERSHIP DETAILS'; &lt;BR /&gt;
RUN; &lt;BR /&gt;
ODS CSV CLOSE; &lt;BR /&gt;
ODS LISTING; [/pre]&lt;BR /&gt;
&lt;BR /&gt;
Here's how you could simplify it and not have headers -- using '00'x is a good trick, but PROC REPORT has an option that lets you suppress headers completely:&lt;BR /&gt;
[pre]&lt;BR /&gt;
&lt;BR /&gt;
** only need FILENAME statement. Do not need DATA step;&lt;BR /&gt;
** use FILENAME to point to your PDS member;&lt;BR /&gt;
FILENAME CSVOUT2 'B23.D075.ODS(CSV2)' &lt;BR /&gt;
DSNTYPE=LIBRARY DSORG=PO &lt;BR /&gt;
DISP=(SHR,CATLG,DELETE); &lt;BR /&gt;
 &lt;BR /&gt;
** style not used for ODS CSV;&lt;BR /&gt;
** add rs=none just in case you find the CSV lines wrapping funny after;&lt;BR /&gt;
** you FTP -- RS=NONE tells ODS to write out 1 line of output at a time;&lt;BR /&gt;
ODS CSV FILE=CSVOUT2  TRANTAB=ASCII rs=none; &lt;BR /&gt;
  &lt;BR /&gt;
PROC REPORT DATA=DEALER_DETAILS2 NOWD NOHEADER;&lt;BR /&gt;
  COLUMN DIAL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
  TITLE 'DEALERSHIP DETAILS'; &lt;BR /&gt;
RUN; &lt;BR /&gt;
  &lt;BR /&gt;
ODS CSV CLOSE; &lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
If you REALLY want a DATA SET from the job, then do this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
** this is a made up name for a SAS library;&lt;BR /&gt;
libname PERMLIB 'B23.D075.PERMSAS'  DISP=OLD;&lt;BR /&gt;
&lt;BR /&gt;
DATA PERMLIB.OUTCSV2; &lt;BR /&gt;
SET DEALER_DETAILS2; &lt;BR /&gt;
RUN:&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
If you want to see the titles in the CSV file, then do this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
ODS CSVALL FILE=CSVOUT2  TRANTAB=ASCII rs=none;&lt;BR /&gt;
(your code)&lt;BR /&gt;
ODS CSVALL CLOSE;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Or, you could write to the file directly with a data step. Or you could use the &lt;BR /&gt;
%DS2CSV macro or you could use the %FLATFILE macro:&lt;BR /&gt;
&lt;A href="http://ftp.sas.com/techsup/download/misc/flatfile.pdf" target="_blank"&gt;http://ftp.sas.com/techsup/download/misc/flatfile.pdf&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://support.sas.com/kb/26/085.html" target="_blank"&gt;http://support.sas.com/kb/26/085.html&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi27/p174-27.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi27/p174-27.pdf&lt;/A&gt;&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Wed, 21 Nov 2007 01:14:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5627#M2260</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2007-11-21T01:14:37Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5628#M2261</link>
      <description>getting the MF to write to somewhere else, needs an FTP server on that somewhere else, and an account on that server which your MF program is allowed to use. You can write directly to the ftp server from the data step, which eliminates all the file/space allocation issues on the mainframe. &lt;BR /&gt;
Take my earlier code and preceed it with a filename statement using the FTP engine ( for details, see online-doc at &lt;A href="http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000178980.htm.)" target="_blank"&gt;http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000178980.htm.)&lt;/A&gt; a bit like&lt;BR /&gt;
[pre]filename csvout ftp .......................................... ;&lt;BR /&gt;
data _null_;&lt;BR /&gt;
   file csvout dsd lrecl=10000 ;&lt;BR /&gt;
   set your.data ;&lt;BR /&gt;
   put (_all_)(:);&lt;BR /&gt;
run;&lt;BR /&gt;
filename csvout clear ;[/pre]&lt;BR /&gt;
the ftp parameters are subject to your ftp server and the local administrators rules&lt;BR /&gt;
&lt;BR /&gt;
Good Luck&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
PeterC</description>
      <pubDate>Wed, 21 Nov 2007 15:48:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5628#M2261</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-21T15:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5629#M2262</link>
      <description>Hi Cynthia&lt;BR /&gt;
&lt;BR /&gt;
I tried your code but cannot open the file in Excel.  I get a window pop up just after I double click on the file to open it saying "File Not Completely Loaded"&lt;BR /&gt;
&lt;BR /&gt;
Hitting the Help button I get the following message:&lt;BR /&gt;
This message can appear if:&lt;BR /&gt;
You are trying to open a file that contains more than 65,536 rows or 256 columns. To fix this problem, open the source file in a text editor such as Microsoft Word. Save the source file as several smaller files that conform to this row and column limit, and then open the smaller files in Excel. If the source data cannot be opened in a text editor, try importing the data into Microsoft Access, and then exporting subsets of the data from Access to Excel.&lt;BR /&gt;
You are trying to paste tab-delimited data into an area that is too small. To fix this problem, select an area in the worksheet large enough to accommodate every delimited item.&lt;BR /&gt;
Notes&lt;BR /&gt;
You can not configure Excel to exceed the limit of 65,536 rows and 256 columns.&lt;BR /&gt;
By default, Excel places three worksheets in a workbook file. Each worksheet can contain 65,536 rows and 256 columns of data, and workbooks can contain more than three worksheets if your computer has enough memory to support the additional data.&lt;BR /&gt;
&lt;BR /&gt;
I haven't tried anyother of the options you mentioned yet.</description>
      <pubDate>Fri, 30 Nov 2007 01:29:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5629#M2262</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-30T01:29:09Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5630#M2263</link>
      <description>Hi Peter&lt;BR /&gt;
&lt;BR /&gt;
Will your code remove the blank line from the top of the csv file where the "" are present ?&lt;BR /&gt;
&lt;BR /&gt;
I will wait for Cynthia's reponse.&lt;BR /&gt;
&lt;BR /&gt;
Regards</description>
      <pubDate>Fri, 30 Nov 2007 01:54:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5630#M2263</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-30T01:54:11Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5631#M2264</link>
      <description>Hi:&lt;BR /&gt;
  Well, the CSV destination is NOT creating tab-delimited files. So, is there a possibility that your data file is more than or close to 65,536 rows???&lt;BR /&gt;
&lt;BR /&gt;
  A CSV file should open in Excel 97 and higher. Once you FTP'd it from the MF to Windows, did you give the file an extension of .CSV??? &lt;BR /&gt;
&lt;BR /&gt;
  If your file is NOT that big, you could try this code that uses SASHELP.SHOES and see if it has the same issue. &lt;BR /&gt;
[pre]&lt;BR /&gt;
data newshoes;&lt;BR /&gt;
  set sashelp.shoes;&lt;BR /&gt;
  do i = 1 to 160;&lt;BR /&gt;
    x+1;&lt;BR /&gt;
    output;&lt;BR /&gt;
  end;&lt;BR /&gt;
run;&lt;BR /&gt;
  &lt;BR /&gt;
ods csv file='testfile.csv' trantab=ascii rs=none;&lt;BR /&gt;
  &lt;BR /&gt;
proc report data=newshoes nowd noheader;&lt;BR /&gt;
  column x region subsidiary product sales;&lt;BR /&gt;
run;&lt;BR /&gt;
   &lt;BR /&gt;
ods csv close;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
On my system, this code creates a file with no headers and with 63,200 rows. The file opens in Excel 2002/2003 with no problems. However, if I go above 65,536 rows, then I get the same error message. If your Excel does not open the file of 63,200 rows and you get the same error message, then I'd suspect a problem with Excel. If your Excel does open the file created above, but still does not open your original file, then your only choice may be to break up the file or open it in a Notepad/text editor to see what might be wrong with it.&lt;BR /&gt;
&lt;BR /&gt;
  Or you might consider contacting Tech Support for more help with this issue.&lt;BR /&gt;
&lt;BR /&gt;
  cynthia</description>
      <pubDate>Fri, 30 Nov 2007 04:00:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5631#M2264</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2007-11-30T04:00:46Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5632#M2265</link>
      <description>The file size may indeed be the problem, or incorrect file naming as Cynthia has suggested.  If these cannot be proven, just make sure that that file was correctly sent from the mainframe.&lt;BR /&gt;
&lt;BR /&gt;
Did you use  ASCII  or  Binary  transfer to send the file?  The difference is possible misinterpretation of certain file bytes because of different character sets.&lt;BR /&gt;
&lt;BR /&gt;
However this turns out, if it isn't working then Tech Support is needed so they can replicate the environment and step you through a series of tests to identify the cause of the problem.&lt;BR /&gt;
&lt;BR /&gt;
Kind regards&lt;BR /&gt;
&lt;BR /&gt;
David</description>
      <pubDate>Fri, 30 Nov 2007 05:42:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5632#M2265</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-30T05:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5633#M2266</link>
      <description>When I open the csv file (yes it is named .csv, has 200 records and sent as Binary in the FTP step) it has one line and goes right across the spreadsheet horizontally on one row up to column IV (the maximum column i guess in Excel)&lt;BR /&gt;
&lt;BR /&gt;
This is my new code - I need to create 2 CSV files - one with the column headings and another with a reduced number of columns and no headings.&lt;BR /&gt;
&lt;BR /&gt;
/* ODS FOR CSV OUTPUT                                          &lt;BR /&gt;
    DATA OUTCSV;                                               &lt;BR /&gt;
    SET DEALER_DETAILS;                                        &lt;BR /&gt;
    FILENAME CSVOUT   'B23.D075.ODS(CSV)'                      &lt;BR /&gt;
                       DSNTYPE=LIBRARY DSORG=PO                &lt;BR /&gt;
                       DISP=(SHR,CATLG,DELETE);                &lt;BR /&gt;
                                                               &lt;BR /&gt;
  ODS CSV FILE=CSVOUT STYLE=NEWSTYLE TRANTAB=ASCII;            &lt;BR /&gt;
  PROC PRINT  DATA=DEALER_DETAILS NOOBS;                       &lt;BR /&gt;
  TITLE 'DEALERSHIP DETAILS';                                  &lt;BR /&gt;
  VAR DIAL DLRNUM SAPACC TWN PDEALERN PSTREET STATE PCD CNTY   &lt;BR /&gt;
  E_MAIL PHONE_NUM FAX_NUM PNAME TM TCSM SSCTM_ SSCAM          &lt;BR /&gt;
                  AG CCE PS;                                   &lt;BR /&gt;
                                                               &lt;BR /&gt;
  RUN;                                                         &lt;BR /&gt;
  ODS CSV  CLOSE;                                              &lt;BR /&gt;
  ODS LISTING;                                                 &lt;BR /&gt;
                                                               &lt;BR /&gt;
  FILENAME CSVOUT2  'B23.D075.ODS(CSV2)'                       &lt;BR /&gt;
  DSNTYPE=LIBRARY DSORG=PO                  &lt;BR /&gt;
  DISP=(SHR,CATLG,DELETE);             &lt;BR /&gt;
ODS CSV FILE='CSVOUT2.csv' TRANTAB=ASCII rs=none;       &lt;BR /&gt;
                                                        &lt;BR /&gt;
PROC REPORT DATA=OUTCSV  NOWD NOHEADER;         &lt;BR /&gt;
COLUMN DAIL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
RUN;                                                    &lt;BR /&gt;
ODS CSV  CLOSE;&lt;BR /&gt;
&lt;BR /&gt;
Message was edited by: sdcruz

Message was edited by: sdcruz</description>
      <pubDate>Fri, 30 Nov 2007 06:12:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5633#M2266</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-30T06:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5634#M2267</link>
      <description>Shelton&lt;BR /&gt;
&lt;BR /&gt;
you asked if my code would remove the blank line from the top.....&lt;BR /&gt;
&lt;BR /&gt;
Try this version modified to run in display manager on a mainframe and write a file locally. &lt;BR /&gt;
It will probably ask you if you want to create the file named &lt;USERID&gt;.your.file.csv. Allow that .&lt;BR /&gt;
[pre]data _null_;&lt;BR /&gt;
  file '.your.file.csv' dsd lrecl=10000 ;&lt;BR /&gt;
  set   sashelp.class ; *** or your.data  if small enough for test ;&lt;BR /&gt;
   put (_all_)(:);&lt;BR /&gt;
run;&lt;BR /&gt;
proc FSlist file= '.your.file.csv' ; run;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
PROC FSlist will show you the file after creating it. There should be no header, not even an empty one.&lt;BR /&gt;
&lt;BR /&gt;
Good Luck&lt;BR /&gt;
&lt;BR /&gt;
PeterC&lt;/USERID&gt;</description>
      <pubDate>Fri, 30 Nov 2007 15:07:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5634#M2267</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-11-30T15:07:33Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5635#M2268</link>
      <description>Hi:&lt;BR /&gt;
  I am still having a hard time with your code. Here are my questions:&lt;BR /&gt;
1) What is the purpose of this code -- why not just use DEALER_DETAILS in the PROC REPORT step???? What is OUTCSV for anyway???? Why isn't there a RUN statement after the DATA step?:&lt;BR /&gt;
[pre]&lt;BR /&gt;
DATA OUTCSV; &lt;BR /&gt;
SET DEALER_DETAILS; &lt;BR /&gt;
   .&lt;BR /&gt;
   .&lt;BR /&gt;
   . &lt;BR /&gt;
ODS CSV FILE='CSVOUT2.csv' TRANTAB=ASCII rs=none; &lt;BR /&gt;
&lt;BR /&gt;
   PROC REPORT DATA=OUTCSV NOWD NOHEADER; &lt;BR /&gt;
       COLUMN DAIL DLRNUM SAPACC TWN PDEALERN PNAME PHONE_NUM; &lt;BR /&gt;
   RUN; &lt;BR /&gt;
ODS CSV CLOSE;&lt;BR /&gt;
&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
When you say that you need to create 2 CSV files -- is that by choice? PS...is the variable name DAIL or DIAL in the COLUMN statement??&lt;BR /&gt;
&lt;BR /&gt;
Also, it may not make any difference, but you might try NOT writing your CSV file to a partitioned data set -- in the case where you are creating a "flat" file -- where the possible record length of the flat file "line" may or may not "fit" in the PDS record length -- it's possible that the lines might be broken oddly when you FTP -- although that's unlikely these days with PDSE.&lt;BR /&gt;
&lt;BR /&gt;
I'm not sure whether you have what you want or not??? Possibly you've gotten too much wrong advice here on the forum because we've all misunderstood what you want the outcome to be. Tech Support can look over what you have and what you want and tell you the best method to accomplish that goal.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Fri, 30 Nov 2007 17:20:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5635#M2268</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2007-11-30T17:20:03Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5636#M2269</link>
      <description>Hi Peter&lt;BR /&gt;
&lt;BR /&gt;
Thanks for your comments - i tried your code and I can now supress the headers.  The amazing thing is that I didnt have to use ODS - simply ftp the contents in a normal dataset file using ASCII mode.  Code looks like this:&lt;BR /&gt;
&lt;BR /&gt;
 DATA FINALOUT;                                      &lt;BR /&gt;
   FILE 'B23.D075.REPORT.DLRCSV' DSD LRECL=10000 ;   &lt;BR /&gt;
   SET BRINGIN;                                      &lt;BR /&gt;
   PUT (_ALL_)(:);                                   &lt;BR /&gt;
 RUN;                                                &lt;BR /&gt;
                                &lt;BR /&gt;
&lt;BR /&gt;
Thanks again Peter and Cynthia for taking the time to reply.&lt;BR /&gt;
&lt;BR /&gt;
Regards,&lt;BR /&gt;
Shelton.</description>
      <pubDate>Mon, 03 Dec 2007 05:31:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5636#M2269</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-12-03T05:31:45Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5637#M2270</link>
      <description>Shelton&lt;BR /&gt;
&lt;BR /&gt;
the magic of ODS is most valuable when you want "output" that will require some "surface". Here you wanted no surface - no header - just data. "Data" has been the strength of the SAS System for over 30 years. &lt;BR /&gt;
The ODS CSV destination makes light work of controlling it's "surface", by which I mean the descriptive column headers and the column order. &lt;BR /&gt;
Where you want or need more formatting, for example : bookmarks in PDF; or T.O.C. layout; or formatting within excel; there is no satisfactory substitute for ODS. &lt;BR /&gt;
Your requirement for data without headers sounded like a call for the elemental features of "naked" base SAS. &lt;BR /&gt;
When you need to deliver large quantities of data from SAS data sets to csv files on another platform, you may find the FTP engine of the filename statement helpful. It means that through FTP you can write directly into the destination from the datastep. That removes two passes through the data, as well as removing the need to find space on the sending platform for the csv-format data file. (It also saved a lot of time when I was regularly shifting 10gb of month end datamarts in csv format from os390 to aix, during the parallel running of the transition of a data warehouse to the aix platform) &lt;BR /&gt;
&lt;BR /&gt;
However I recommend that you polish up your confidence in &lt;I&gt;reporting&lt;/I&gt; with ODS. It's far more rewarding than base SAS and data _null_ reporting without ODS.&lt;BR /&gt;
 &lt;BR /&gt;
Good Luck&lt;BR /&gt;
&lt;BR /&gt;
PeterC</description>
      <pubDate>Mon, 03 Dec 2007 09:01:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5637#M2270</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-12-03T09:01:44Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5638#M2271</link>
      <description>Thanks Peter&lt;BR /&gt;
&lt;BR /&gt;
BTW what does (:) do in the following statement ?&lt;BR /&gt;
&lt;BR /&gt;
PUT (_ALL_)(:);</description>
      <pubDate>Mon, 03 Dec 2007 22:14:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5638#M2271</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-12-03T22:14:29Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5639#M2272</link>
      <description>Hi Sdcruz&lt;BR /&gt;
&lt;BR /&gt;
I think I understand what you are trying to achieve.&lt;BR /&gt;
&lt;BR /&gt;
the ODS cvs tagset has a bug that is it will give you a blank first row. SI has corrected this but has given it a new tagset name (cvsall). So you can use this cvsall instead.&lt;BR /&gt;
&lt;BR /&gt;
ods tagset csvall file= ...etc;&lt;BR /&gt;
proc print data=mydata;&lt;BR /&gt;
   var a b etc;&lt;BR /&gt;
run;&lt;BR /&gt;
ods close _all_;&lt;BR /&gt;
&lt;BR /&gt;
I think this still give you the first row as the variables name though. Or I think there is&lt;BR /&gt;
an option for no header label. If not you can get rid of this by modifying the csvall tagset. I don't this is difficult - If you look at the csvall tagset it is pretty small.&lt;BR /&gt;
&lt;BR /&gt;
I preferred this method now over the data step method with the put statement.&lt;BR /&gt;
&lt;BR /&gt;
Hope this is what you are after.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Duong</description>
      <pubDate>Mon, 03 Dec 2007 23:24:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5639#M2272</guid>
      <dc:creator>Duong</dc:creator>
      <dc:date>2007-12-03T23:24:31Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5640#M2273</link>
      <description>That colon(:) is a format modiifier, in this case, for formats on a PUT statement.&lt;BR /&gt;
The style of PUT statement is documented as &lt;B&gt;PUT Statement, Formatted&lt;/B&gt;, in the on-line doc at&lt;BR /&gt;
&lt;A href="http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000175758.htm" target="_blank"&gt;http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000175758.htm&lt;/A&gt;.&lt;BR /&gt;
There, the second variation in &lt;B&gt;Syntax&lt;/B&gt; shows the technique with parentheses. &lt;BR /&gt;
The&lt;BR /&gt;
 (_all_)&lt;BR /&gt;
  is the list of variables to be PUT, and &lt;BR /&gt;
 (:)&lt;BR /&gt;
  is the list of formats to apply.&lt;BR /&gt;
Effectively the colon adds no more formatting, but something is needed at that point. &lt;BR /&gt;
The colon format modifier is documented at&lt;BR /&gt;
&lt;A href="http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000176623.htm" target="_blank"&gt;http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a000176623.htm&lt;/A&gt;. &lt;BR /&gt;
There, example 3 shows a simpler demonstration of the colon format modifier.&lt;BR /&gt;
&lt;BR /&gt;
PeterC</description>
      <pubDate>Tue, 04 Dec 2007 08:58:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5640#M2273</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2007-12-04T08:58:54Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5641#M2274</link>
      <description>Greetings Peter,&lt;BR /&gt;
&lt;BR /&gt;
I have a similar dilemna in that I am trying to post-process an RTF file to remore a couple of blank lines.  I read in the RTF file using an INFILE statement and delete the two roms containing the RTF control words that are causing it to include the extra two blank lines.   I tried using the code you provided earlier in this thread, however when I attempt to open the outputted RTF with Word, it says it cannot open the specified file (as if it were corrupt).  When I open the original file with NotePad and then manually remove the same to lines, save it and then re-open with Word ...it works fine.  Any ideas on how I can achieve my objective?</description>
      <pubDate>Wed, 09 Sep 2009 00:20:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5641#M2274</guid>
      <dc:creator>Michael_W</dc:creator>
      <dc:date>2009-09-09T00:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5642#M2275</link>
      <description>Suggestion: It's not a good idea to piggy-back on someone else's post, especially one from years ago.  If you must, then paste the link to the referenced post, and begin your own separate, independently authored post.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Wed, 09 Sep 2009 01:37:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5642#M2275</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-09-09T01:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: Supressing Column Header using ODS</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5643#M2276</link>
      <description>What happens after you completely terminate your SAS session - are you then able to open the file with Word?  While Word is open, even if the particular document is not open, you will see a backup-copy in the same-named folder where the primary document resides, with a leading "$" I believe.  This means that Word still has control over the document, until you close Word altogether.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Wed, 09 Sep 2009 01:40:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/Supressing-Column-Header-using-ODS/m-p/5643#M2276</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-09-09T01:40:14Z</dc:date>
    </item>
  </channel>
</rss>

