I have a stored process that displays the output of a PROC REPORT to an HTML. One of the fields in the PROC REPORT is a text field having more than 200 characters. The stored process is failing with an error as shown in the log snapshot below. It seems like there is a maximum number of characters for the put statement. Is that right? Please let me know how I may be able to fix this issue.
MPRINT(RMT_MANAGE_PAGE): put 'Donna Montesclaros';
WARNING: Truncated record.
3220 +put 'Thjis is a test comment Thjis is a test comment Thjis is a test comment Thjis is a test comment Thjis is a test comment Thjis is a test comment Thjis is a test comment Thjis is a test
3220 !+comment Thjis i
3221 +put '';
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, arrayname, #, (, +, /, //, ;, @, @@, OVERPRINT, _ALL_, _BLANKPAGE_, _ODS_, _PAGE_.
I'm confused, because PROC REPORT does not support the PUT statement, it supports only the LINE statement. Is there perhaps OTHER code (such as a DATA _NULL_) in your program that is writing your own <TD> tag????
There are two different limits you could be running into with a PUT statement -- 1) the allowed line length for submitted program code statements -- and this Tech Support note has more information about this line length: http://support.sas.com/kb/5/953.html
2) the allowed line length (or LRECL) of the FILE to which your PUT statement writes. Usually, for a stored process, you write to _WEBOUT, a reserved FILEREF. For more information about writing directly to _WEBOUT with PUT statements, refer to page 116 in the Stored Process Developer's Guide: http://support.sas.com/documentation/cdl/en/stpug/61271/PDF/default/stpug.pdf
You might want to open a track with Tech Support on this issue. It seems unlikely to me that the issue is with PROC REPORT code and more likely that it is something else.