The SAS Output Delivery System and reporting techniques

Extra Carriage Returns being created when using Proc Report

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Extra Carriage Returns being created when using Proc Report


I have this simple data set that I want to create a pipe delimited .txt file but I'm getting 2 added end-of-record/carriage returns in the file.  I'll try to supply all the necessary data/code so any help would be appreciated.  I'm still fairly new to SAS.

Simple Data Set (no imbedded CR or LF that I can see) output is called CSMOUT1_SUM

CNTR          TOT_CHARGE          TOT_PAID

150425          53,574,833.43          21,162,557.11

Code to create simple .txt file

DATA CSMOUT1_SUM2 (KEEP=CNTR TOTCHARGES TOTPAID);

          SET CSMOUT1_SUM;

          TOTCHARGES=PUT(TOT_CHARGE, COMMA13.2);

          TOTPAID=PUT(TOT_PAID, COMMA13.2);

RUN;

/* */

ODS LISTING CLOSE;

ODS CSV FILE='TESTOUT.TXT' OPTIONS(DELIMITER='|');

PROC REPORT DATA=CSMOUT1_SUB2 NOHEADER;

RUN;

ODS CSV CLOSE;

The output I get looks like the following when I look at the file in wordpad: (The CRLF are the added carriage returns that I'm getting)

150425|53574833.43|21162557.11 CRLF

CRLF

CRLF


Accepted Solutions
Solution
‎12-19-2012 03:21 PM
Grand Advisor
Posts: 9,740

Re: Extra Carriage Returns being created when using Proc Report

proc export data=CSMOUT1_SUM2 outfile='TESTOUT.TXT' DBMS=DLM delimiter='|' replace;run;

View solution in original post


All Replies
Super User
Super User
Posts: 5,971

Re: Extra Carriage Returns being created when using Proc Report

Did you try PROC PRINT instead of PROC REPORT.  Doesn' t look like you are doing anything that needs PROC REPORT functionality.

Occasional Contributor
Posts: 9

Re: Extra Carriage Returns being created when using Proc Report

I tried PROC PRINT as well.  I dont want the headers and I was aware of the option in PROC REPORT so thats what I used.  Anyway, PROC PRINT produces extra carriage returns as well.  Could it be a global setting in Options or somthing?

Solution
‎12-19-2012 03:21 PM
Grand Advisor
Posts: 9,740

Re: Extra Carriage Returns being created when using Proc Report

proc export data=CSMOUT1_SUM2 outfile='TESTOUT.TXT' DBMS=DLM delimiter='|' replace;run;

Occasional Contributor
Posts: 9

Re: Extra Carriage Returns being created when using Proc Report

Thanks ballardw!,

That is closer....now I only have 1 extra carriage return at the end instead of 2 so it looks like the following.

150425|53574833.43|21162557.11 CRLF

CRLF

There must be a way to not have the headers either I'm sure using PROC EXPORT....I can figure that part out.

Update

I got the headers out via "putnames=no"


I believe this is how the .txt file is to look - Thanks to all for the help

Post a Question
Discussion Stats
  • 4 replies
  • 652 views
  • 0 likes
  • 3 in conversation