Как получить параметр кодирования SAS программно?

Как узнать SAS global программно? Я могу бежать!--1-->, и он даст мне ответ, но мне нужно сделать это из кода.

Я надеюсь на ответ на строки "посмотрите на символ макроса и sysencoding", но это может быть слишком много, чтобы надеяться. Я бы предпочел избежать хрупких вещей, таких как запись во внешний файл и повторный анализ.

2 ответов


вы можете использовать функцию GETOPTION в Base SAS:

data _null_;
  val=GETOPTION('encoding');
  put val=;
run;

в моей системе это дает выход журнала

5    data _null_;
6      val=GETOPTION('encoding');
7      put val=;
8    run;

val=LATIN1

в SCL (язык компонентов SAS) вы можете использовать функции OPTGETC и OPTGETN. Дополнительные сведения см. В руководстве по конкретной версии системы SAS.


в SAS 9.2 &sysencoding даст вам то же самое как getoption('encoding') хотя случай отличается (он описан кратко здесь).

157  %put &sysencoding;
wlatin1
158
159  data _null_;
160    val=GETOPTION('encoding');
161    put val=;
162  run;

val=WLATIN1