Are you using CALL EXECUTE to call the macro? You might try changing that to instead write code to a file and %INC the file. Here is an example. 275 %macro test; 276 data x; 277 line1='This is testing how long lines of code look'; 278 line2='This is testing how long lines of code look'; 279 line3='This is testing how long lines of code look'; 280 run; 281 %mend test; 282 283 data _null_; 284 call execute('%test'); 285 run; MPRINT(TEST): data x; MPRINT(TEST): line1='This is testing how long lines of code look'; MPRINT(TEST): line2='This is testing how long lines of code look'; MPRINT(TEST): line3='This is testing how long lines of code look'; MPRINT(TEST): run; NOTE: DATA statement used (Total processtime): real time 0.00 seconds cpu time 0.00 seconds NOTE: CALL EXECUTE generated line. 1 +data x; line1='This is testing how longlines of code look'; line2='This istesting how long lines of code look'; line3='This is testing how long lines of codelook'; run; NOTE: The data set WORK.X has 1 observationsand 3 variables. NOTE: DATA statement used (Total processtime): real time 0.01 seconds cpu time 0.00 seconds 286 287 filename code temp; 288 data _null_; 289 file code; 290 put '%test;'; 291 run; NOTE: The file CODE is: Filename=C:\DOCUME~1\ABERNA~1\LOCALS~1\Temp\SAS TemporaryFiles\_TD2288\#LN00010, RECFM=V,LRECL=256,File Size (bytes)=0, Last Modified=30Sep2011:14:29:38, Create Time=30Sep2011:14:29:38 NOTE: 1 record was written to the file CODE. The minimum record length was 6. The maximum record length was 6. NOTE: DATA statement used (Total processtime): real time 0.00 seconds cpu time 0.01 seconds 292 %inc code; MPRINT(TEST): data x; MPRINT(TEST): line1='This is testing how long lines of code look'; MPRINT(TEST): line2='This is testing how long lines of code look'; MPRINT(TEST): line3='This is testing how long lines of code look'; MPRINT(TEST): run; NOTE: The data set WORK.X has 1 observationsand 3 variables. NOTE: DATA statement used (Total processtime): real time 0.00 seconds cpu time 0.00 seconds
... View more