<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Blank injection in a string in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10339#M761</link>
    <description>Chuck&lt;BR /&gt;
I think it is a defect.&lt;BR /&gt;
Do the generated code lines in the log, exceed 255 characters?&lt;BR /&gt;
Where the MFILE option generates code wider than 255, a problem has occured in the past with null characters being generated at the "final" end of the "wrapped" line.&lt;BR /&gt;
There is a minor overlap between MFILE and call execute code generation..&lt;BR /&gt;
Of course, this is just guesswork&lt;BR /&gt;
 &lt;BR /&gt;
hope customer support comes up with the solution...&lt;BR /&gt;
 &lt;BR /&gt;
good luck&lt;BR /&gt;
PeterC</description>
    <pubDate>Mon, 02 Nov 2009 23:57:35 GMT</pubDate>
    <dc:creator>Peter_C</dc:creator>
    <dc:date>2009-11-02T23:57:35Z</dc:date>
    <item>
      <title>Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10322#M744</link>
      <description>I have a weird thing happening, and am hoping another SAS expert, with more knowledge and experience than myself, can shed some light on the subject.&lt;BR /&gt;
&lt;BR /&gt;
I have a data step that uses a call execute statement to "call" a macro.&lt;BR /&gt;
The controlling dataset has hundreds of observations in it.&lt;BR /&gt;
The last parameter in the macro call is a path to a directory, like \\localhost\folder1\dev\content\unix_servers\daily\loc-servername\interfacename.&lt;BR /&gt;
&lt;BR /&gt;
A sample of the "call execute" is&lt;BR /&gt;
&lt;BR /&gt;
      call execute('%superq(make_chart)(combined,' ||"'"|| s_where ||"'"|| ', inpkts, in_packets, ' || s_title || ' , ' || base_path || ')' );&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
it is the "base_path" that is being corrupted.&lt;BR /&gt;
&lt;BR /&gt;
I have 4 of these data steps in the program.&lt;BR /&gt;
I get three errors, which are caused by a blank suddenly appearing in the path.&lt;BR /&gt;
1)  \\localhost\folder1\dev\content\ unix_servers\daily\loc-servername\interfacename&lt;BR /&gt;
2)  \\localhost\folder1\dev\content\unix_servers\daily\ loc-servername\interfacename&lt;BR /&gt;
3)  \\localhost\folder1\dev\content\unix_servers\daily\loc- servername\intervacename&lt;BR /&gt;
Each occurs only once in one of the 4 data steps.&lt;BR /&gt;
the observation immediately before the error and the observation immediately following the error do not contain the injected blank.&lt;BR /&gt;
The blank is inserted, it is not an overwrite.&lt;BR /&gt;
&lt;BR /&gt;
Any clues?

Message was edited by: Chuck</description>
      <pubDate>Fri, 30 Oct 2009 16:11:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10322#M744</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-10-30T16:11:23Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10323#M745</link>
      <description>Is there a limit to the number stuff added after a data step by a call execute?</description>
      <pubDate>Fri, 30 Oct 2009 18:43:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10323#M745</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-10-30T18:43:51Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10324#M746</link>
      <description>Are you sure this blank is not already stored this way in "base_path " before you pass it as a macro parameter?&lt;BR /&gt;
&lt;BR /&gt;
No clue why this might happen - but as UNIX paths never contain blanks a compress(base_path) might help. May be you also might want to use some of the additional "options" and remove all whitespace characters.&lt;BR /&gt;
&lt;BR /&gt;
HTH&lt;BR /&gt;
Patrick</description>
      <pubDate>Sat, 31 Oct 2009 06:53:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10324#M746</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2009-10-31T06:53:14Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10325#M747</link>
      <description>We have seen no code related to your program - no explanation about how variable base_path is constructed.  Are you using FILENAME &lt;FILEREF&gt; PIPE engine to get your information or is it stored in a SAS dataset to start?  So, here's some code to add somewhere in your program to diagnose the imbedded blank condition:&lt;BR /&gt;
&lt;BR /&gt;
IF INDEXC(TRIM(BASE_PATH),' ') THEN PUTLOG '&amp;gt;DIAG-GOT_BLANK&amp;gt;' / _ALL_;&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.&lt;/FILEREF&gt;</description>
      <pubDate>Sat, 31 Oct 2009 08:18:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10325#M747</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-10-31T08:18:13Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10326#M748</link>
      <description>I am absolutely certain my code is not injecting the blank.</description>
      <pubDate>Sat, 31 Oct 2009 21:00:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10326#M748</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-10-31T21:00:01Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10327#M749</link>
      <description>This is not voo-doo.  So, did you run the recommended diagnostic that was suggested or not?&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Sat, 31 Oct 2009 21:06:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10327#M749</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-10-31T21:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10328#M750</link>
      <description>[pre]&lt;BR /&gt;
%let make_chart = %qsubstr('%make_chart',2,11);&lt;BR /&gt;
 &lt;BR /&gt;
data _null_;&lt;BR /&gt;
  length s_where s_title $64 test_path base_path $128;&lt;BR /&gt;
  set things;&lt;BR /&gt;
 &lt;BR /&gt;
  test_path = "&amp;amp;base_path\" || trim(left(node_name)) ;&lt;BR /&gt;
  if not fileexist(test_path) then base_path = dcreate(node_name, "&amp;amp;base_path");&lt;BR /&gt;
                              else base_path = test_path;&lt;BR /&gt;
  if base_path &amp;gt; " " then do;&lt;BR /&gt;
    test_path = cats(base_path,'\',intrf_name);&lt;BR /&gt;
    if not fileexist(test_path) then base_path = dcreate(intrf_name, base_path);&lt;BR /&gt;
                                else base_path = test_path;&lt;BR /&gt;
    if base_path &amp;gt; " " then do;&lt;BR /&gt;
      s_where = 'node_name = "' || trim(left(node_name)) || '"  and  intrf_name = "' || trim(left(intrf_name)) || '"';&lt;BR /&gt;
      s_title = 'Out Packets for '|| trim(left(intrf_name)) || ' on ' || trim(left(node_name));&lt;BR /&gt;
put base_path=;&lt;BR /&gt;
      call execute('%superq(make_chart)(combined,' ||"'"|| trim(s_where) ||"'"|| ', outpkts, out_packets, ' || trim(s_title) || ' , ' || base_path || ')' );&lt;BR /&gt;
    end;&lt;BR /&gt;
  end;&lt;BR /&gt;
run;&lt;BR /&gt;
quit;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Because of security restrictions, since this deals with our servers, I cannot share any log messages as that would reveal internal server names.&lt;BR /&gt;
&lt;BR /&gt;
I can absolutely assure you that my code does not insert a blank.&lt;BR /&gt;
The problem has to be with SAS itself, and I am suspecting some sort of internal buffer thing.&lt;BR /&gt;
&lt;BR /&gt;
%Make_Chart is a simple macro that runs a Proc GPLOT.&lt;BR /&gt;
The reason I am not using a BY statement in the GPLOT is that for each call, the resulting chart is placed in a different directory, and an HTML drilldown file is also created.  Not using a BY statement simplifies the process of putting things where I want/need with the names that I want/need.</description>
      <pubDate>Sat, 31 Oct 2009 21:10:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10328#M750</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-10-31T21:10:03Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10329#M751</link>
      <description>I recommend to declare a temporary SAS CHARACTER variable in your DATA step, perform the necessary assignment statements to build your CALL EXECUTE argument, and instead of invoking CALL EXECUTE with a series of concatenations, pass a SAS CHARACTER variable as the function invocation argument.&lt;BR /&gt;
&lt;BR /&gt;
If you cannot share the exact SAS code and log output being executed, you're left to debug the condition mostly on your own, which I'd submit is a good opportunity to get the most out of learning about the SAS language for current and future code support and maintenance operations.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Sun, 01 Nov 2009 15:16:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10329#M751</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-11-01T15:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10330#M752</link>
      <description>not superq, but nrstr, and repeat the %, like&lt;BR /&gt;
  call execute('%nrstr(%%make_chart)(combined</description>
      <pubDate>Sun, 01 Nov 2009 23:43:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10330#M752</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2009-11-01T23:43:29Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10331#M753</link>
      <description>I have four of these data steps in the program.&lt;BR /&gt;
I have already done that last week.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
data _null_;&lt;BR /&gt;
  length s_where s_title $64 test_path base_path $128 statement $250;&lt;BR /&gt;
  set things;&lt;BR /&gt;
 &lt;BR /&gt;
  test_path = "&amp;amp;base_path\" || trim(left(node_name)) ;&lt;BR /&gt;
  if not fileexist(test_path) then base_path = dcreate(node_name, "&amp;amp;base_path");&lt;BR /&gt;
                              else base_path = test_path;&lt;BR /&gt;
  if base_path &amp;gt; " " then do;&lt;BR /&gt;
    test_path = cats(base_path,'\',intrf_name);&lt;BR /&gt;
    if not fileexist(test_path) then base_path = dcreate(intrf_name, base_path);&lt;BR /&gt;
                                else base_path = test_path;&lt;BR /&gt;
    if base_path &amp;gt; " " then do;&lt;BR /&gt;
      s_where = 'node_name = "' || trim(left(node_name)) || '"  and  intrf_name = "' || trim(left(intrf_name)) || '"';&lt;BR /&gt;
      s_title = 'In Packets for '||trim(left(intrf_name)) || ' on ' || trim(left(node_name));&lt;BR /&gt;
      statement = cats( '%superq(make_chart)(combined,' , "'" , s_where , "'" , ',inpkts,in_packets,' , s_title , ',' , base_path , ')' );&lt;BR /&gt;
      call execute(statement);&lt;BR /&gt;
    end;&lt;BR /&gt;
  end;&lt;BR /&gt;
run;&lt;BR /&gt;
quit;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Apparently you don't believe me that the my code is not the problem.&lt;BR /&gt;
I began programming in 1977.&lt;BR /&gt;
I began SAS programming in 1996.&lt;BR /&gt;
While it is true that I am always learning, this is not the first time that I have found problems in a vendor's product -- bugs in Novell, C compilers, OS's (Solaris) and within the last 12 months, some bugs in SAS itself (Proc Robustreg).&lt;BR /&gt;
&lt;BR /&gt;
So my question is if my fellow expert SAS programmers have run into limitations involving call execute before, what were they, and how did they get around them.&lt;BR /&gt;
I am not asking how to "debug" my program, because that is not the problem.  I know how to debug programs.  I am generally also debugging other people's programs in addition to my own -- I know I'm not perfect, never have been, never will be.</description>
      <pubDate>Mon, 02 Nov 2009 13:07:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10331#M753</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-02T13:07:10Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10332#M754</link>
      <description>Why not superq?&lt;BR /&gt;
It works.&lt;BR /&gt;
&lt;BR /&gt;
I need to insure that all of the called macro runs after the data step, not within it.&lt;BR /&gt;
&lt;BR /&gt;
I'll have to try your suggestion, though.&lt;BR /&gt;
What would make that a better way?</description>
      <pubDate>Mon, 02 Nov 2009 13:10:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10332#M754</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-02T13:10:27Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10333#M755</link>
      <description>Getting interesting - more code revealed this time.  And, also, nothing personal, strictly feedback on technique with the SAS language in particular - you should be able to code the PUTLOG as demonstrated in this thread, place it just before the CALL EXECUTE and you should have what you need to answer the problem/question.  For this thread, I'm stepping away from the mouse cursor - good luck.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.</description>
      <pubDate>Mon, 02 Nov 2009 13:53:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10333#M755</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-11-02T13:53:05Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10334#M756</link>
      <description>1)  I don't understand your comment about "stepping away from the mouse cursor".&lt;BR /&gt;
&lt;BR /&gt;
2)  Your "PUTLOG" suggestion is worthless to me for this instance (although, I am putting it into my bag of tricks for the future).  It simply detects if a blank appears in the base_path variable before the call execute, which I had already determined wasn't happening by simply placing "put baselog=;" immediately prior to the call execute.  As I said, I know how to troubleshoot my own code, and that I was absolutely certain that my code was not causing the problem.  I know for absolute certain that it has something to do with "call execute" itself, and probably the number of items it is injecting after the "run;" of the current data step.&lt;BR /&gt;
&lt;BR /&gt;
3) I got an email response this morning, finally, from SAS support about issues with call execute.</description>
      <pubDate>Mon, 02 Nov 2009 15:22:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10334#M756</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-02T15:22:22Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10335#M757</link>
      <description>Sounds like you have SAS support's input, finally.  My other point is you have sufficient feedback, at least from my perspective, so I'm exitting the discussion.&lt;BR /&gt;
&lt;BR /&gt;
Scott</description>
      <pubDate>Mon, 02 Nov 2009 16:00:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10335#M757</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-11-02T16:00:59Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10336#M758</link>
      <description>Ok.&lt;BR /&gt;
Thanks for trying.&lt;BR /&gt;
&lt;BR /&gt;
So, you have not had any issues with call execute in your past experience?</description>
      <pubDate>Mon, 02 Nov 2009 16:46:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10336#M758</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-02T16:46:20Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10337#M759</link>
      <description>Definitely no problem with constructing either a macro, PROC, or DATA step invocation data-string, and not with a SAS variable passed as an argument.  With the most recent code you contributed, it appears you are using a mix of SAS data variables and macro variables, sometimes with functions to construct your literal argument being passed to the CALL EXECUTE.  Another opportunity would be to output your code to a temp-allocated sequential file, and then %INCLUDE the allocated &lt;FILEREF&gt; to invoke your code -- remember to end your main DATA step with a RUN;   statement, then your %INCLUDE statement.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.&lt;/FILEREF&gt;</description>
      <pubDate>Mon, 02 Nov 2009 17:30:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10337#M759</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-11-02T17:30:24Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10338#M760</link>
      <description>I'm familiar with the %include technique.&lt;BR /&gt;
We use that in some other programs.&lt;BR /&gt;
I also use a form of threading in another one where the call execute calls a macro that issues a signon and rsubmit to run a set of processes on a remote server.&lt;BR /&gt;
&lt;BR /&gt;
I am not having problems with building the string.&lt;BR /&gt;
The string is correct in the data step, as evidenced by using a put statement in front of the call execute.&lt;BR /&gt;
But, then, in the log, what SAS records as the generated statement, the blank insertion appears, and only once in &amp;gt; 600 observations.  One time, the insertion was in a part of the string that had been hard coded between single quotes.&lt;BR /&gt;
&lt;BR /&gt;
It's a real mystery.&lt;BR /&gt;
SAS tech support is still not understanding/acceptng what I'm seeing.&lt;BR /&gt;
Their first response was for a proc sql execute statement.  eesh.&lt;BR /&gt;
It would be nice if people would actually pay attention.</description>
      <pubDate>Mon, 02 Nov 2009 19:11:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10338#M760</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-02T19:11:42Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10339#M761</link>
      <description>Chuck&lt;BR /&gt;
I think it is a defect.&lt;BR /&gt;
Do the generated code lines in the log, exceed 255 characters?&lt;BR /&gt;
Where the MFILE option generates code wider than 255, a problem has occured in the past with null characters being generated at the "final" end of the "wrapped" line.&lt;BR /&gt;
There is a minor overlap between MFILE and call execute code generation..&lt;BR /&gt;
Of course, this is just guesswork&lt;BR /&gt;
 &lt;BR /&gt;
hope customer support comes up with the solution...&lt;BR /&gt;
 &lt;BR /&gt;
good luck&lt;BR /&gt;
PeterC</description>
      <pubDate>Mon, 02 Nov 2009 23:57:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10339#M761</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2009-11-02T23:57:35Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10340#M762</link>
      <description>The response back from customer support is that there is a hotfix/patch for a totally different problem that seems to also clear up some "call execute" issues as a side benefit.&lt;BR /&gt;
&lt;BR /&gt;
I have put in a request with our people to obtain and apply the patch, but I'll have to way a number of days for the change management process to do its thing.&lt;BR /&gt;
&lt;BR /&gt;
As a work around, per support's suggestion, I am going to us a temp file and %include to mimic the call execute affect.  This is simple is all I have to do is&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
*  call execute(statement);&lt;BR /&gt;
   file tempfile;&lt;BR /&gt;
   put statement;&lt;BR /&gt;
   file log;&lt;BR /&gt;
...&lt;BR /&gt;
run;&lt;BR /&gt;
quit;&lt;BR /&gt;
 &lt;BR /&gt;
%include tempfile;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
For the four affected data steps.&lt;BR /&gt;
&lt;BR /&gt;
Well, not quite that simple, I had to make some minor changes to the creation of statement as will, but nothing huge.&lt;BR /&gt;
&lt;BR /&gt;
Thanks for the note Peter.C&lt;BR /&gt;
The generated lline is &amp;lt; 255 characters, but, that doesn't mean that there isn't some sort of wrapping occurring.&lt;BR /&gt;
The problem isn't showing up an every line, and some lines are longer than ones being corrupted.&lt;BR /&gt;
I think it may have something to do with the total buffer space for something within SAS.  My test run yesterday produced only one error, whereas last week, I was getting 3 of them.

Message was edited by: Chuck</description>
      <pubDate>Tue, 03 Nov 2009 13:31:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10340#M762</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-11-03T13:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: Blank injection in a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10341#M763</link>
      <description>Call execute will do strange things as code reaches boundries in the editor.  It is quite often better to construct the string ina temporary variable, then pass that variable to the Call Execute.  It is also easier to diagnose since you can put the string to the log to insure it was constructed correctly.</description>
      <pubDate>Wed, 04 Nov 2009 14:17:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Blank-injection-in-a-string/m-p/10341#M763</guid>
      <dc:creator>Flip</dc:creator>
      <dc:date>2009-11-04T14:17:28Z</dc:date>
    </item>
  </channel>
</rss>

