As you haven't coded a literal after VAR1 / VAR2 in your RETAIN statement, they will be set to missing values. What happens next depends whether they appear in &SYSLAST. If they do, the effect of RETAIN is redundant and VAR1 / VAR2 will get refreshed with every observation read. If they don't appear in &SYSLAST then they will stay missing until referenced explicitly in the DATA step.
In your example, VAR1 / VAR2 could be missing for all time and VAR1 may never be equal to A - unless it appears in &SYSLAST.