I would like to thank everyone for their generous replies to my original post, and I want to report on the eventual solution that I hit upon. First, thank you Patrick, reading just the first character of the up to 1500 character title field worked very well. And thanks to all for the commentary. It turns out that the problem reading in the file had to do with Windows 10 text files. Sometimes a DOS End of File or EOF character gets inserted in the midst of these files, ending execution as soon as it is encountered. This character is hexadecimal '1A'x. To solve this, you insert a IGNOREDOSEOF into the options section of the INFILE command. My code looked like this, in the meantime adopting Patrick's suggestion of reading just the first character of the very long title variable, which I did not need: options nocenter replace ls=80 ps=54; libname tlaivs 'C:\Adams_Data\Adams_NSF1_Commerc_Compsci\Database_IVs\sasdsns'; data tlaivs.item2; infile 'C:\Adams_Data\Adams_NSF1_Commerc_Compsci\Database_IVs\item.txt' delimiter = ';' DSD MISSOVER lrecl = 1600 firstobs=2 ignoredoseof; input item_id :$15. issue_id :$10. item_number :best32. _dummy :$1. doc_type :$32. ref_count :$4. ; drop _dummy; run; proc contents data=tlaivs.item2; run; This suggestion of inserting IGNOREDOSEOF is taken from a blog post by SAS guru Charley Mullin, written on April 17, 2015, and entitled "Turning text files into SAS data sets--six common problems and their solution". This did the trick. Instead of having 10+ million records, my file now includes all 35+ million records. I hope that this rediscovery helps others who are having trouble reading in text files into SAS under Windows 10. At least it is one more weapon in the arsenal.
... View more