SAS already writes an end of line character at the end of every line it writes to a text file.
Also it looks like you are using Unix. On Unix file system text files normally use LineFeed as the end of line markers as apposed to Windows file systems that use CarriageReturn and LineFeed as the end of line markers. You can change this by using the TERMSTR= option on the FILE statement.
Why do you want to add an extra carriage return at the end of the file?
If you really just want to write an extra empty line at the end of your file the add an extra PUT statement that runs only on the last observation.
Note you don't need the @ 1 since SAS always starts writing at the first position unless you tell it otherwise. You also don't need the @ 3 since you just wrote two characters into columns 1 and 2 so the pointer is already at column 3.
data _null_;
file "/path/path/File_name.txt";
set work.file end=eof;
put Variable $2. Variable2 yymmddS10.
...
@300 Variable37 $4.
;
if eof then put;
run;