BASE SAS actually automatically ends a PROC or DATA process when it encounters a RUN statement or the next PROC or DATA statement. So the second data _null_ statement actually reinitializes the variable a to missing, and when you add anything to a missing value you still get missing as the result. If you remove this second data _null_ statement, the process works correctly. Included is a brief test that I completed in BASE SAS. Code: filename out 'c:\temp\test.html'; data _null_; file out; length a 4; a=0; put 'Value: ' a+(-1) ' <br>'; a = a+1; put 'Value: ' a +(-1) '<br>'; run; Output: ~ Angela Hall http://blogs.sas.com/content/bi
... View more