Получение примечания, созданного условием _ERROR_ из оператора ввода - PullRequest
0 голосов
/ 21 сентября 2018

Ниже приведено простое представление моей проблемы.Я не контролирую ни данные, ни применяемый формат (это бэкэнд-сервис для веб-приложения Stored Process).Моя цель состоит в том, чтобы вернуть сгенерированное сообщение об ошибке, которое в данном случае на самом деле является NOTE.

data _null_;
input x 8.;
cards;
4 4
;
run;

. Выше приведено:

ПРИМЕЧАНИЕ. Неверные данные для x влиния 61 1-8.ПРАВИЛО:
---- + ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- +---- 5 ---- + ---- ---- 6 ---- + 7 ---- + ---- ---- 8 ---- + ---- + 9---- 0 61 4 4 x =. ОШИБКА = 1 N = 1 ПРИМЕЧАНИЕ. Используется оператор DATA (общее время процесса): реальное время 0,00 секунды, время процессора 0,01 секунды

Это достаточно простозахватить статус ошибки (if _error_ ne 0 then do), но я хотел бы вернуть значение NOTE - в котором легко указывается, какой столбец был недействительным, а также номера строк и столбцов.

Возможно ли этобез сканирования журнала?Я пробовал sysmsg() и syswarningtext безрезультатно.

1 Ответ

0 голосов
/ 21 сентября 2018

AFAIK, Нет функции для захвата примечаний, которые шаг данных вызывает во время выполнения шага данных.

Поскольку вы находитесь в среде STP, вы можете использовать либо:

  • -altlog при запуске сеанса или
  • proc printto log=… перенос шага

и выполнение этого сканирования.

...