Мой шаг данных останавливается, когда моя команда INFILE не возвращает совпадающее значение из внешнего источника файла.Почему это так?
У меня есть набор данных work._input со следующими значениями:
fname
cus_01.txt
cus_02.txt
cus_03.txt
Вот значения каждого внешнего текстового файла:
cus_01.txt:
ID: 0001
Firstname: John
Lastname: White
cus_02.txt:
This is just a dummy/empty dataset
cus_03.txt:
ID: 0002
Firstname: Mike
Lastname: Harrel
Код:
%let sPath = /root/documents/files;
data work._output;
set work._input;
length firstname lastname path f2r $512. fname $32.;
path = symget('sPath');
f2r = catx("/", path, fname);
infile a filevar=f2r;
input @'Firstname:' firstname $;
input @'Lastname:' lastname $;
output work._output;
run;
ВЫХОД:
На первой итерации шага данных это будет значение:
Firstname Lastname fname
John White cus_01.txt
Однако на второй итерации шага данных в cus_02 не будет найдено соответствующих «Имя» и «Фамилия».TXT-файл, и это приведет к тому, что шаг данных прекратит обработку, следовательно, третья итерация для не будет выполнена, и cus_03.txt не будет прочитан.
Могу я знать, почему?
Спасибо!