Вызов модуля SAS Enterprise Guide - PullRequest
0 голосов
/ 28 мая 2020

Этот код работает на P C SAS 9.4, но не на SAS Enterprise Guide. Есть ли способ заставить эту работу работать на EG?

FILENAME SASCBTBL CATALOG "work.temp.attrfile.source";

DATA _NULL_;
FILE SASCBTBL;
    PUT "ROUTINE WNetGetConnectionA MODULE=MPR MINARG=3 MAXARG=3 STACKPOP=CALLED RETURNS=LONG;";
    PUT "  ARG 1 CHAR INPUT BYADDR FORMAT=$CSTR200.;";
    PUT "  ARG 2 CHAR UPDATE BYADDR FORMAT=$CSTR200.;";
    PUT "  ARG 3 NUM UPDATE BYADDR FORMAT=PIB4.;";
RUN;

%MACRO getUNC;
DATA zz1;
length input_dir $200 output_dir $200;
* The input directory can only be a drive letter + colon ONLY e.g. j: ;
input_dir = 'O:';
output_dir = ' ';
output_len = 200;
call module('*IE',"WNetGetConnectionA", input_dir, output_dir, output_len);
call symputx('dir',input_dir,'l');
call symputx('path',output_dir,'l');
RUN;
%put drive letter is &dir;
%put path is &path;
%MEND getunc;

%getunc;

Когда я пытаюсь запустить его на SAS EG, я получаю следующее примечание: ОШИБКА: не удалось загрузить модуль MPR. ПРИМЕЧАНИЕ. Неверный аргумент функции МОДУЛЬ ('WNetGetConne' [показано 12 из 18 символов], 'O:' [показано 12 из 200 символов], '
' [показано 12 из 200 символов], 200) в строке 54 столбца 186. input_dir = O: output_dir = output_len = 200 ОШИБКА = 1 N = 1

...