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

Hi, folks.

I am using SAS 9.1.3 on a Windows virtual machine, and trying to read flat variable-length records created in EBCDIC.

The end-of-record (EOR) character in this file is 21x.

What can I do to persuade the DATA step to accept this as the EOR?

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
dan_waldo
Fluorite | Level 6

Thanks, folks, for taking the time to reply.

As SASKiwi notes, TERMSTR= is needed, and as KSharp notes, ENCODING= is needed too.

I ended up using

INFILE "xxx" ENCODING=EBCDIC037 RECFM=S370V TERMSTR=NL;

which worked like a champ in the Windows environment.

View solution in original post

3 REPLIES 3
SASKiwi
PROC Star

Check out the TERMSTR =  INFILE option as in:

https://communities.sas.com/message/18844#18844

And numerous other posts if you search on TERMSTR. Try TERMSTR = '21'x.

Ksharp
Super User

I recommend you to use ENCODING option for INFILE statement when you read in such a file.

data x;

infile 'c:\x.txt' encoding=EBCDIC ;

............

Ksharp

dan_waldo
Fluorite | Level 6

Thanks, folks, for taking the time to reply.

As SASKiwi notes, TERMSTR= is needed, and as KSharp notes, ENCODING= is needed too.

I ended up using

INFILE "xxx" ENCODING=EBCDIC037 RECFM=S370V TERMSTR=NL;

which worked like a champ in the Windows environment.

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 3 replies
  • 1892 views
  • 6 likes
  • 3 in conversation