2009-04-10 9 views
0

私は、新しくリリースされたSAS 9.2でテストしているSASアプリケーションを持っています。関数が正常に実行されたときに、9.1.3でSAS 9.2のmetadata_newobj機能にバグがありますか?

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

(RC = 0)、URI変数が移入された:私は、SASメタデータ・リポジトリ内の新しいライブラリオブジェクトを作成するmetadat_newobj関数の呼び出しを持っています新しく作成されたLibraryオブジェクトのURI。

戻り値が0(成功)でライブラリオブジェクトが作成される(管理コンソールを使用して手動でチェックした)場合でも、URI変数はブランクのままなので、後続の属性設定などの操作は失敗します。

両方のバージョンのドキュメントでは、この関数の出力パラメータとしてURIがリストされています。

誰もがこれについて知っていますか?

EDIT:次のように私が使っていたコードは次のとおりです。

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を使用してこの問題を回避しようとしている、と思われます働いている。 :\

EDIT#2:これはSCLコード内にあるとは言及していないことに気付きました。

+0

SASの質問のようです。申し訳ありませんが、もっと助けてもらえません。 – AFHood

+0

さて、月曜日にサポートチケットを開設する予定ですが、私はここで試して、SASの人々が潜んでいるのか、他の人が同様の問題を抱えているのかを確かめました。ありがとう。 :) – Adnan

答えて

0

私はmetadata_newobjが新しいバージョンに変更されていた示唆して何かを見つけることができませんでした。しかし、それはちょうど私のために働くことを拒否しました。そこで私は機能をPROC METADATAに変更し、現在はSAS 9.1.3で動作します。 SAS 9.2

ありがとうございます。

+0

使用した作業例を投稿できますか? –

+0

申し訳ありませんが、私はこれが掲載されたときと同じ場所で働いていないので、実際のコードにはもうアクセスできません。私はSASコーディングを行ってからしばらくしていましたので、これを再現するためのSAS環境はありません: – Adnan

1

それは私のために働いた。あなたが与えた例に基づいて、NAMEの周りに引用符を入れることをお勧めします。また、length文を使用してmetadata_newobjを実行する前にuriを設定することもできます。それ以外の場合は、共有のために、他の方法で解決するかどうかをお知らせください。ここで

は、私が走ったものです:

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 
+0

質問に自分のコードフラグメントを追加しました。私の "Name"は変数で、URIは以前に宣言されています。ところで、私はSCLコード内で使用していたことを忘れていました。 – Adnan

関連する問題