SAS adds the TERMSTR (depending on platform, LF or CRLF) to the results of PUT statements, unless you set RECFM=F (the default for RECFM is V). Of course, you can use FILE statement options PAD and TERMSTR= CRLF (assuming default is still RECFM=V) That is why you might get 446 or larger, instead of the 445. ( by adding that TERMSTR) Avoid that problem by using RECFM=F and LRECL=445. Then the record length should be truncated to 445. Just because the last item on the PUT statement places a 0Dx at 445 doesn't mean that is the total line width: Beware using the implied format for variable COUNT in @435 COUNT A default numeric format might use character width 12 which results in 446 characters before the TERMSTR is added, when RECFM=V Also, earlier variables might be big enough to overflow that 445 Full clarity needs something like a PROC Contents report of the input dataset and the log of the session including the NOTEs following this export step
... View more