Я не имею тенденцию включать параметры электронной почты в самом файле данных, а скорее в fileref. Я проверил код ниже с моим адресом электронной почты, и он сработал.
Как я уже сказал в комментариях, вам просто нужно обернуть свой файл datastep в макрос, если вы хотите, чтобы он выполнялся внутри макроса.
У вас могут быть позиционные или ключевые параметры. См. Это source для получения подробной информации. В этом примере я использовал параметры ключевых слов. вы вызываете макрос, задавая ключевое слово, а затем значение, как я показал последнюю строку. Если вы ничего не ставите, ключевое слово будет проигнорировано.
К слову, пустые ключевые слова приводят к инициализации локальных макропеременных. Пусть такие утверждения, как (% LET FROM = FROM = "& FROM"), должны добавить строку «FROM =» в начало макроопределения «FROM», чтобы синтаксис имени файла был завершен. Если макро переменная, такая как «ОТ», будет передана как есть, она решит адрес электронной почты, в котором имя файла не знает, что делать.
%MACRO send_email (TO=,FROM=,SUBJECT=,ATTACHMENT=,BODY=);
%IF &TO ne %THEN
%LET TO="&TO";
%IF &FROM ne %THEN
%LET FROM=FROM="&FROM";
%IF &SUBJECT ne %THEN
%LET SUBJECT=SUBJECT="&SUBJECT";
%IF &ATTACHMENT ne %THEN
%LET ATTACHMENT=ATTACHMENT="&ATTACHMENT";
%IF &BODY ne %THEN
%LET BODY="&BODY";
FILENAME outbox EMAIL &TO &FROM &SUBJECT &ATTACHMENT;
DATA _NULL_;
FILE outbox;
PUT &BODY;
RUN;
%MEND;
%send_email([email protected]);
Не могли бы вы рассказать о своем вопросе? Я не уверен, чего вы пытаетесь достичь. –
Макрос, который отправит электронное письмо. используя filename – Apache11
Предполагая, что ваш шаг данных работает, вы можете просто обернуть его в макрос, я покажу его в своем ответе. –