sas - 呼叫模块 SAS 企业指南
问题描述
此代码适用于 PC 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。注意:函数 MODULE('WNetGetConne'[显示 18 个字符中的 12 个],'O:'[显示 200 个字符中的 12 个],'
'[显示 200 个字符中的 12 个],200) 在第 54 行第 186 列的参数无效。 input_dir =O: output_dir= output_len=200错误=1 N =1
解决方案
推荐阅读
- java - 如何使用 Java Optional 来防止读取未初始化的数组?
- symfony - 在更新另一个实体的同时创建一个实体
- c++ - C++ 重载 | 返回常量值的(按位或)运算符
- circleci-2.0 - circleci 过滤器分支不工作
- python - 让烧瓶应用程序中的两个页面使用相同的 html 是不好的做法吗?
- javascript - 使用 jQuery 调用 javascript 同步方法
- redux - Redux 中的“应用程序的最小表示”应该是什么?
- mysql - 如何将 REGEXP 与单词边界等转义序列一起使用?
- excel - VBA 中带有变量的动态范围的“运行时错误 13”。数据类型不匹配
- python - 我如何翻译此代码以使用 .kv 文件?