我有我与新发布的SAS 9.2测试SAS应用。我到metadat_newobj函数的调用来创建在SAS元数据储存库的新的库对象:

rc = metadata_newobj( "SASLibrary", URI, Name );

在9.1.3中,当成功地执行的功能(RC = 0),该URI变量被填充新创建的库对象的URI。

在SAS 9.2,虽然返回值是0(成功)和库对象并获取创建(I检查手动使用管理控制台),该URI变量保持为空,以便任何后续操作来设置属性等失败。

有两个版本的文档列出URI作为该函数的输出参数。

有没有人有这个知识,任何?

修改我被使用的代码如下所示:

put libraryName=;
rc = metadata_newobj("SASLibrary", libraryUri, libraryName);
if rc ne 0 then do;
  /* Error handler */
  return;
end;
put libraryUri=;

和输出:

libraryName=HRLIB10
libraryUri=

我想解决这个使用PROC METADATA相反,这似乎是工作。 :\

修改#2:我只是意识到我没有提到这是SCL代码内

有帮助吗?

解决方案 2

我没有发现任何表明metadata_newobj在新版本中发生了变化。然而,它只是拒绝为我工作。所以,我将我的功能使用PROC METADATA,现在它在SAS 9.1.3作品的的SAS 9.2

由于所有

其他提示

这为我工作。基于示例你给我建议把周围NAME报价。也可能使用一个长的语句设置URI运行metadata_newobj之前。否则,在共享的兴趣,让你得到它与其他一些技术解决了我们。

这是我跑了:

data _null_;
    length uri $256;
    rc=0;
    rc=metadata_newobj("SASLibrary",
                       uri,
                       "testlib");
    put uri=;
run;

下面是我的日志:

NOTE: Variable uri is uninitialized.
uri=OMSOBJ:SASLibrary\A5M6IOB0.AZ000007
NOTE: DATA statement used (Total process time):
      real time           0.07 seconds
      cpu time            0.01 seconds
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top