In whihc case that should be taken care of by access restrcitions, a user who can run from fresh would have different rights, and have access to their code, and vice versa. Should all be covered in your Functional Design Specifications, i.e. who access what at what level etc. Also, depends on the setup a bit, if you have modularised the process then its simply a matter of tracking models and pass/fail sucess, then picking up at the first fail, and running the chain from there.
The last three else's in the code you provide:
%else %do;
%let rflag = N;
%end;
%end;
%else %do;
%let rflag = N;
%end;
%end;
%else %do;
%let rflag = N;
%end;
They all do the same thing, i.e. setting rflag=N. Save yourself some typing and set rflag to N at top of program and only set it to Y on success - or have various levels:
rflag=Module1_Pass;
rflag=Module2_Pass;
...
So it is descriptive and you only need to alter it if something changes.
... View more