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?
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.
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?
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.
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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.