Is it possible that there is a length limit? The code is producing an error after it determines the length when trying to produce the out data set. I have a variable ~5000 characters long and it's trying to use a format where the number is transformed into a truncated notation with 'E'. See below. It's still useful because I can use the value I read in the log to set my length correctly in the previous steps (this long string is the result of concatenating many strings of varying lengths together so I set it to 10,000 to make sure it holds them all).

MPRINT(SQUEEZECHARS): format polnum $10.;
MLOGIC(SQUEEZECHARS): %DO loop index variable I is now 2; loop will iterate again.
SYMBOLGEN: && resolves to &.
SYMBOLGEN: Macro variable I resolves to 2
SYMBOLGEN: Macro variable LLL2 resolves to length total_msg $ 4798 ;
MPRINT(SQUEEZECHARS): length total_msg $ 4798 ;
SYMBOLGEN: && resolves to &.
SYMBOLGEN: Macro variable I resolves to 2
SYMBOLGEN: Macro variable FFF2 resolves to format total_msg $5E3.;

91 format total_msg $5E3.;
___
31
_
22
200
MPRINT(SQUEEZECHARS): format total_msg $5E3.;
MLOGIC(SQUEEZECHARS): %DO loop index variable I is now 3; loop will not iterate again.
SYMBOLGEN: Macro variable DSN resolves to WORK.ISSUING_TXN_ONLY
MPRINT(SQUEEZECHARS): set WORK.ISSUING_TXN_ONLY;
MPRINT(SQUEEZECHARS): run;
ERROR 31-185: Format 5E3 is unknown.