Я пытаюсь написать крошечную программу с параметрами для резервного копирования наборов данных (имя + дата + время) в Enterprise Guide. Вот код:
data &WhatLib..&WhatTable%str(_)&SYSDATE.%sysfunc(tranwrd(%str(&SYSTIME.),:,_)) ;
set &WhatLib..&WhatTable ;
run;
WhatLib
(значение по умолчанию работает) и WhatTable
(значение по умолчанию _PRODSAVAIL) - параметры. Что ж, я получаю результат, который на скриншоте:
Я добавил еще несколько строк для проверки значений макропеременных:
%put &WhatLib..&WhatTable%str(_)&SYSDATE.%sysfunc(tranwrd(%str(&SYSTIME.),:,_));
%put &WhatLib..&WhatTable;
И результат в журнале был:
work._PRODSAVAIL_22AUG1613_28
work._PRODSAVAIL
Затем я заключил этот код в определение макроса:
%macro TEST();
...
<--same code-->
...
%mend TEST;
%TEST();
Но результат был тот же. Буду признателен, если вы укажете ошибку или функцию, которую я не реализовал.