Tenir compte du fragment de code sas suivant:Remplacement guillemets dans un SAS macrovariable
%macro temp(querystr=);
filename request temp;
data _null_;
file request;
put "<string>&querystr</string>";
run;
%mend temp;
%temp(querystr="term 1" and "term2");
Notez que ce morceau de code ne compilera pas parce que la première citation dans queryStr fermera la citation à partir de la déclaration de vente lorsque le Le compilateur remplace querystr dans l'étape de données.
Je voudrais masquer les guillemets dans la chaîne de requête pour le transformer en un fragment XML valide, comme:
<string>"term 1" and "term 2"</string>
est-il un moyen de sortie de la ligne ci-dessus pour le fichier avec masquage approprié du guillemets? J'ai essayé la fonction% sysfunc (TranWrd()) en combinaison avec des fonctions de masquage comme% nrbquote() etc. mais jusqu'ici je n'ai pas trouvé de solution de travail. Toute aide est appréciée!
REMARQUE: Le fichier demande est: Nom du fichier = C: \ DOCUME ~ 1 \ wroehl \ LOCALS ~ 1 \ Temp \ SAS fichiers temporaires \ _TD1888 \ # LN00028, RECFM = V, LRECL = 256 REMARQUE: 1 enregistrement a été écrit dans le fichier REQUEST. La durée minimale d'enregistrement est 26. La longueur maximale d'enregistrement a été 26. NOTE: instruction DATA utilisé (Durée totale du processus): temps réel 0.03 secondes temps cpu 0.00 secondes –
Cette imprime & queryStr dans le tempfile. –