Если вы пытаетесь сделать:
%let fieldname=EveningTelephoneNum ;
put ' <Contact>';
if (pi ne "") then put ' <PersonalId>' pi +(-1) '</PersonalId>';
if (&fieldname ne "") then put ' <&fieldname>' '. ' +(-1) '</&fieldname>';
put ' </Contact>';
Это не сработает, потому что макросы не разрешаются внутри одинарных кавычек.Вы можете попробовать (не проверено):
%let fieldname=EveningTelephoneNum ;
put ' <Contact>';
if (pi ne "") then put ' <PersonalId>' pi +(-1) '</PersonalId>';
if (&fieldname ne "") then put " <&fieldname>" '. ' +(-1) "</&fieldname>";
put ' </Contact>';
Но я могу неправильно понять ваш вопрос.И, вероятно, есть более простые способы создания файла XML, чем запись вручную с помощью операторов PUT.