Blanks in file

Accepted Solution Solved
Reply
Super User
Super User
Posts: 7,430
Accepted Solution

Blanks in file

Hi,

Probably something simple, but have tried the options and can't seem to get it working.  In a text file (RTF) I have some data fields with spaces in (asis=on from a proc report), looks like:

\pard\plain\intbl\sb0\sa0\ql\f1\fs18\cf1{Sometext {\line}

  More Text {\line}

    Even More Text\cell}

On an infile statement:

  length buffer $2000.;

  infile "S:\Temp\Rob\RTF\Current\FLT2504_DOSEA_L-0301-mh-rand.rtf" dsd missover lrecl=32767;

  input buffer $;

These blanks are removed.  Any thoughts on getting them to read in correctly?


Accepted Solutions
Solution
‎09-24-2014 08:02 AM
Respected Advisor
Posts: 3,777

Re: Blanks in file

You need to use an INFORMAT that does not trim leading blanks.  Your INPUT BUFFER $; statement is using LIST input which you don't want. Looks like you want to read the whole line as a string.  I use $VARYING informat with the LENGTH= option for the length variable.  This is fine as long as LRECL is LE 32767 which I expect it will be for RTF.  I have not seen RTF with LRECL anywhere near that.

View solution in original post


All Replies
Super User
Posts: 5,260

Re: Blanks in file

I have no isdea about the problem, attaching the rtf could help us test.

But why do you want to read an rtf created by SAS? Is this a rescue operation and the original data is not available?

Data never sleeps
Solution
‎09-24-2014 08:02 AM
Respected Advisor
Posts: 3,777

Re: Blanks in file

You need to use an INFORMAT that does not trim leading blanks.  Your INPUT BUFFER $; statement is using LIST input which you don't want. Looks like you want to read the whole line as a string.  I use $VARYING informat with the LENGTH= option for the length variable.  This is fine as long as LRECL is LE 32767 which I expect it will be for RTF.  I have not seen RTF with LRECL anywhere near that.

Super User
Super User
Posts: 7,430

Re: Blanks in file

Thanks, knew its was something simple like that.  Informat=$varying200. works fine.

In response to LinusH, thanks for your response, actually its an RTF parser, mainly for validation, but possibly for other things as well.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 199 views
  • 0 likes
  • 3 in conversation