Review: '%if &outref ne 0' handed %EVAL the text 'derref5 ne 0', which needs a numeric operand - so the catalog branch failed in exactly the case it was added for, on every caller that passes a fileref. Quoted, the default 0 still skips the file and a fileref creates it. The test now proves both halves: fopen tells us the file was created, and a read loop counted zero records tells us it is empty. A single INPUT is no good - on an empty file it stops the step before the symputx, which is why the first version recorded a FAIL. The outvars placeholder keeps 'keep=name'; the comment records why that is the whole column set: the engine builds the dataset in exactly two places and both project NAME, and the only projection in the SAS tree is getdata.sas.