BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
SASFanTodd
Calcite | Level 5


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

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

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

View solution in original post

4 REPLIES 4
Tom
Super User Tom
Super User

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

SASFanTodd
Calcite | Level 5

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?

ballardw
Super User

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

SASFanTodd
Calcite | Level 5

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

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 4 replies
  • 2599 views
  • 0 likes
  • 3 in conversation