2017-03-28 22 views
0

我在寫一個宏來幫助創建必須使用ods escapechar的文檔。我需要它來保存任何選項/設置使用的原始程序。但是,在宏中設置新的轉義字符會覆蓋原始程序的轉義字符。我如何才能在我的宏期間更改轉義字符?查找ODS的當前值ESCAPECHAR

SAS中有哪張表存儲當前的ods escapechar?我的想法是將當前值分配給宏變量,並在我的過程完成後使用它來重新分配它。

回答

2

使用轉義序列,而不是

(*ESC*) 

那麼你不必知道或重置任何東西。 (?)

+0

如果要編寫的文本包含當前轉義字符,會發生什麼情況?它是否也被視爲開始命令?就像在舊的行式打印機天有分隔字符的文本字符串造成的麻煩一樣? – Tom

1

地方約9.3他們增加& SYSODSescapeChar:

%put &=SYSODSescapeChar ; 
SYSODSESCAPECHAR=^ 

但由於受data_null_所述一般(*ESC*)來到第一,我在使用的習慣,而不是做保存選項/重置選項/恢復保存的選項跳舞。