53%macro mp_filtervalidate(inref,targetds,abort=YES,outds=work.mp_filtervalidate);
55%mp_abort(iftrue= (&syscc ne 0 or &syserr ne 0)
57 ,msg=%str(syscc=&syscc / syserr=&syserr - on macro entry)
61%let fref1=%mf_getuniquefileref();
65 infile &inref end=eof;
68 put
"validate select * from &targetds";
74 if eof then put
";quit;";
80 if &sqlrc or &syscc or &syserr then
do;
81 REASON_CD=
'VALIDATION_ERR'!!
'OR: '!!
82 coalescec(symget(
'SYSERRORTEXT'),symget(
'SYSWARNINGTEXT'));
90%
if %mf_nobs(&outds)>0 %then %
do;
91 %
if &abort=YES %then %
do;
94 call symputx(
'REASON_CD',reason_cd,
'l');
99 msg=%str(Filter validation issues.)
105%mend mp_filtervalidate;