у меня есть такой макрос:
%macro processme(uuid=);
%put &uuid;
%mend;
, вызываемый из другого макроса, в котором генерируется uuid:
%macro processLinks (data=);
proc sql;
reset noprint;
select uuid into :uuid1 from &data;
quit;
%local i;
%do i = 1 %to &sqlobs;
%processLink (uuid=uuid&i);
%end;
%mend;
, и этот макрос вызывается из , вызываемого как:
%processLinks(data=x.entities)
x.entities содержит восемь или около того uuid в виде 12345-123123-1234123-2342 и т. Д.
, когда он запускается, он просто печатает uuid1 через uuid8 из путкоманда
если я изменяю команду put на:
%put %superq(&uuid)
, то она печатает все UUID, как и ожидалось, т.е. 12345-123123-1234123-2342
вопрос, почему янужно superq это, чтобы получить ожидаемый результат, или я просто делаю что-то не так (снова :))
Спасибо